版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)(-)
--流程控制語句
徐孝
凱
流程控制語句用來控制程序的執(zhí)行流程,它包括選擇、循環(huán)
和跳轉(zhuǎn)三類語句。
選擇類語句包括if語句和switch語句兩種,用它們來解決實(shí)
際應(yīng)用中按不同情況進(jìn)行不同處理的問題。如當(dāng)調(diào)整職工工資時(shí),
應(yīng)按不同的級(jí)別增長不同的工資;大學(xué)生交納學(xué)費(fèi)時(shí),應(yīng)按不同的
專業(yè)交納不同的學(xué)費(fèi)。
循環(huán)類語句包括for循環(huán)語句、while循環(huán)語句和do循環(huán)語
句三種,用它們來解決實(shí)際應(yīng)用中需要重復(fù)處理的問題。如當(dāng)統(tǒng)計(jì)
全體職工工資總和時(shí),就需要重復(fù)地做加法,依次把每個(gè)人的工資
累加起來;當(dāng)從一批數(shù)據(jù)中查找具有最大值的一個(gè)數(shù)據(jù)時(shí),需要重
復(fù)地做兩個(gè)數(shù)的比較運(yùn)算,每次把上一次比較得到的大者同一個(gè)
新(即未比較)的數(shù)據(jù)比較,當(dāng)同最后一個(gè)新的數(shù)據(jù)比較后得到的
大者就是全部數(shù)據(jù)中的最大值。
跳轉(zhuǎn)類語句包括goto語句、continue語句、break語句和
return語句四種,用它們來改變順序向下執(zhí)行的正常次序,而轉(zhuǎn)
向隱含或顯式給出的語句位置,接著從此位置起向下執(zhí)行。如當(dāng)從
一批數(shù)據(jù)中查找一個(gè)與給定值相等的數(shù)據(jù)時(shí),最簡單的方法是從
前向后使每一個(gè)數(shù)據(jù)依次同給定值進(jìn)行比較,若不等則繼續(xù)向下
比較,若相等則表明查找成功,應(yīng)終止比較過程,此時(shí)就需要使用
跳轉(zhuǎn)語句轉(zhuǎn)移到其它地方執(zhí)行。
這一章將依次介紹每一種流程控制語句的語法格式、執(zhí)行過
程和應(yīng)用舉例等內(nèi)容。
一、if語句
1.語句格式
if語句又稱條件語句,其語句格式為:
if(<表示式〉)〈語句1>[else<語句2>]
if語句是一種結(jié)構(gòu)性語句,因?yàn)樗职姓Z句,即〈語句1>
和可選擇的<語句2〉,這兩條語句稱為if語句的子句。
在if語句格式中,其后的保留字else和〈語句2》是任選項(xiàng),帶
與不帶都是允許的。
if語句中的每個(gè)子句能夠是任何可執(zhí)行語句或空語句,可執(zhí)
行語句包括表示式語句、復(fù)合語句、以及任一種流程控制語句等。
2.語句執(zhí)行過程
if語句的執(zhí)行過程為:
(1)求〈表示式》的值,若它的值非0,則表明〈表示式〉(又稱
為條件)為真或成立,否則認(rèn)為條件為假或不成立;
(2)當(dāng)條件為真則執(zhí)行〈語句1〉,為假則執(zhí)行〈語句2>,但若
else部分被省略,則不會(huì)執(zhí)行任何操作c
執(zhí)行if語句的過程可用圖『1描述,其中菱形框表示判斷,矩
形框表示處理,帶箭頭的連線表示執(zhí)行走向。圖(a)和(b)分別
表示省略和帶有else部分的具體執(zhí)行流程。
(b)
圖ITif語句執(zhí)行流程示意圖
3.語句格式舉例
(1)if(x!=-l)c++;
(2)if(x<=a)sl+=x;elses2+二x;
(3)if(fabs(x)<=1)y=l+exp(x);
elsey=l+2*x;
(4)if(grade>=60&&grade〈二100)cout<<"pass"<<endl;
(2)if(<表示式1>){if(<表示式2>)<語句1><語句2>}else
〈語句3>
(3)if(<表示式1?<語句1>
elseif(〈表示式2>)<語句2>
else〈語句3>
(4)if(<表示式1>)〈語句1>
elseif(<表示式2>)<語句2>
elseif(<表示式3〉)〈語句3>
else<語句4>
注意:在第二條語句中,else不是同它前面復(fù)合語句中的if
相配對(duì),而是與處于同一層次的最前面的if相配對(duì)。
5.程序舉例
(1)#include<iostream.h>
voidmain()
(
intx,y;
cout<<〃從鍵盤輸入一個(gè)整數(shù):〃;
cin>>x;
if(x<0)y=l+2*x*x;
elsey=7*x-4;
cout<<,,x=/,<<x<</,,〃<<〃y=〃<<y<<endl;
}
該程序的功能是:根據(jù)從鍵盤上輸入的X的值計(jì)算并輸出y的
值,y的計(jì)算公式為:
/1+2x2(x<0)
y二
7x-4(x20)
(2)#inc1ude<iomanip.h>
#include<math.h>
voidmain()
(
doublex,y;
cin>>x;
if(x<0)y=fabs(x);
elseif(x<10)y=exp(x)*sin(x);
elseif(x<20)y=pow(x,3);
elsey=(3+2*x)*log(x);
cout<<setw(10)?x?setw(10)<<y<<endl;
〃分別使x和y的輸出寬度為10,即占有10
個(gè)字符位置
)
該程序的功能是:根據(jù)x的值計(jì)算出分段函數(shù)y的值,y的計(jì)
算公式為:
|x|(x<0)
ye'sinx(0Wx<10)
x'(10WxV20)
(3+2x)Inx(x220)
(3)#include<iostream.h>
voidmain()
(
inta,b,c,temp;
cout?〃輸入三個(gè)整數(shù):〃;
cin>>a>>b>>c;
if(a<b){temp=a;a=b;b=temp;}
if(a<c){temp=a;a=c;c=temp;}
if(b<c){temp=b;b=c;c=temp;}
cout<<a<<,><<b<<,><<c?endl;
}
該程序的功能是把從鍵盤上輸入的按任意次序排列的三個(gè)整
數(shù)轉(zhuǎn)變?yōu)榘磸拇蟮叫〉拇涡蚺帕?即a'b?c)并輸出出來。
注意:對(duì)于每條if語句中的復(fù)合語句,其作用是交換兩個(gè)變
量的值,它首先把第一個(gè)變量的值暫存到temp變量中,接著把第
二個(gè)變量的值賦給第一個(gè)變量,最后把temp變量的值,即第一個(gè)
變量的原值賦給第二個(gè)變量中。若不經(jīng)過中間變量temp,而是直
接把第一個(gè)變量的值賦給第二個(gè)變量,再把第二個(gè)變量的值賦給
第一個(gè)變量,則不能夠達(dá)到交換兩個(gè)變量值的目的,請(qǐng)讀者思考!
二、switch語句
1.語句格式
switch語句又稱情況語句或開關(guān)語句,它也是一種結(jié)構(gòu)性語
句,其語句格式為:
switch(〈表示式〉)〈語句〉
該語句中所包含的〈語句>一般是一條復(fù)合語句,并在內(nèi)部的
一些語句前加有特殊的語句標(biāo)號(hào)"case〈常量表示式):"或“
default:",因此,switch語句的實(shí)際使用格式為:
switch(〈表示式〉){
case〈常量表示式1>:〈語句1-1>
〈語句1-2>
case<常量表示式2>:<語句2-1》
〈語句2-2>
[default:〈語句nT>
〈語句n-2>
]
)
該語句中能夠使用一次或多次case標(biāo)號(hào),但只能使用一次
default標(biāo)號(hào),或者省略掉整個(gè)default部分。另外,多個(gè)case
標(biāo)號(hào)也允許使用在同一條語句的前面。
注意:語句標(biāo)號(hào)只起到標(biāo)識(shí)語句位置的作用,對(duì)語句的執(zhí)行不
會(huì)產(chǎn)生任何影響。
2.語句執(zhí)行過程
switch語句的執(zhí)行過程為:
(1)計(jì)算出〈表示式》的值,假定為比若它不是整型,系統(tǒng)將
自動(dòng)舍去其小數(shù)部分,只取其整數(shù)部分作為結(jié)果值;
(2)依次計(jì)算出每個(gè)常量表示式的值,假定它們的值依次為
Ml,M2,,同樣若它們的值不是整型,則自動(dòng)轉(zhuǎn)換為整型;
(3)讓M依次同Ml,M2,進(jìn)行比較,一旦遇到M與某個(gè)值相
等,則就從對(duì)應(yīng)標(biāo)號(hào)的語句開始向下執(zhí)行,若碰不到跳轉(zhuǎn)語句的話,
將一直執(zhí)行到右花括號(hào)為止才結(jié)束整個(gè)switch語句的執(zhí)行,若M
與所有值都不同,則當(dāng)帶有default部分時(shí),就從該標(biāo)號(hào)位置起向
下執(zhí)行,否則不執(zhí)行任何操作。
在實(shí)際使用switch語句時(shí),一般要求當(dāng)執(zhí)行完某個(gè)語句標(biāo)號(hào)
后的一組語句后,就結(jié)束整個(gè)語句的執(zhí)行,而不讓它繼續(xù)執(zhí)行下一
個(gè)語句標(biāo)號(hào)后面的語句序列,為此,可經(jīng)過使用break語句來實(shí)
現(xiàn)。該語句只有保留字break,而沒有其它任何成分。它是一條跳
轉(zhuǎn)語句,在switch語句中執(zhí)行到它時(shí),將跳轉(zhuǎn)到所屬的switch語
句的后面位置,系統(tǒng)將接著向下執(zhí)行其它語句。
3.語句格式舉例
(1)switch(a){
case1:cl++;break;
case2:c2+十;break;
case3:c3++;break;
case4:c4++;break;
default2:c++;break;
)
(2)switch(cr){
casered:cout<<,>red”<<endl;break;
caseyellow:cout?wyellow”<<endl;break;
caseblue:cout<<,"blue”<<endl;break;
)
(3)switch(ch){
case'a':
case'A':dl=(x+y)/2;
d2=x*y-2;
break;
case'b':
case'B':dl=(a+b)/2;
d2=a*b-2;
break;
default:cout<<"Inputerror!”<<endl;
exit(1);
)
第一條語句執(zhí)行時(shí),將按照a的取值使相應(yīng)的變量增1,具體
地說,當(dāng)a取1時(shí)cl增1,a取2時(shí)c2增1,a取3時(shí)c3增1,取
4時(shí)c4增1,a取其它任何值時(shí)則使變量c增1,每執(zhí)行增1操作
后,都接著執(zhí)行一條brmk語句,使執(zhí)行流程轉(zhuǎn)出整個(gè)switch語
句,否則將會(huì)順序執(zhí)行后面的增1語句。
執(zhí)行第二條語句時(shí),將按照具有枚舉類型color的變量cr的
值決定輸出哪一個(gè)常量標(biāo)識(shí)符,當(dāng)ch取值為red(即0)時(shí)輸出
red標(biāo)識(shí)符,取值為yellow(即1)時(shí)輸出yellow標(biāo)識(shí)符,取值
為blue(即2)時(shí)輸出blue標(biāo)識(shí)符。輸出最后一個(gè)常量標(biāo)識(shí)符雖
然沒有使用break語句轉(zhuǎn)出去,但由于它后面就是語句結(jié)束標(biāo)志,
右花括號(hào),因此也會(huì)自然地結(jié)束該語句。
當(dāng)執(zhí)行第三條語句時(shí),若ch值為小寫字母a或大寫字母A,則
執(zhí)行35行的語句,若ch值為小寫字母b或大寫字母B,則執(zhí)行
79行的語句,若ch不是上述取值,則執(zhí)行1011行后結(jié)束整
個(gè)程序的運(yùn)行。
在switch語句所含的復(fù)合語句中,能夠包含任何語句,當(dāng)然
仍能夠是switch語句,因此switch語句也允許出現(xiàn)嵌套的情況。
4.程序舉例
(1)#include<iostream.h>
voidmain()
(
intweekday;
coutG〃今天星期幾(0-6)?〃;
cin>>weekday;
switeh(wApkday){
case0:cout<<z,sundayz,?endl;break;
case1:cout<<z,Mondayz,?endl;break;
case2:cout<<z,Tuesdayv<<endl;break;
case3:cout<<z,Wednesday,,<<endl;break;
case4:cout<</,Thursday//<<endl;break;
case5:cout<<z,F(xiàn)riday,z?endl;break;
case6:cout<<,,Saturday//<<endl;break;
default:cout<<,,Inputerror!z\<endl;
}
)
該程序的功能是:根據(jù)從鍵盤上輸入的表示星期幾的數(shù)字,對(duì)
應(yīng)輸出它的英文名稱。
(2)#include<iostream.h>
#include<stdlib.h>
voidmain()
(
floatscore;
cout<<〃輸入一個(gè)人的成績:";
cin>>score;
if(score<0||score>100){
〈”輸入數(shù)據(jù)有誤!〃〈〈end1;
exit(1);
)
switch(int(score)/10){
case9:
case10:cout?score<〈":優(yōu)〃<<endl;break;
case8:cout<〈score?〃:良〃<<endl;break;
case7:cout<<score<<,z:4,?,<<endl;break;
case6:cout*score<<〃:及格〃<<endl;break;
default:cout<〈score<<":不及格〃<<endl;break;
}
)
該程序的功能是:根據(jù)從鍵盤上輸入的一個(gè)人的成績判斷并
輸出它所屬的等級(jí)。等級(jí)分為優(yōu)、良、中、及格和不及格等五
個(gè)級(jí)別,對(duì)應(yīng)的分?jǐn)?shù)段依次為段0,100],[80,89],[70,79],
[60,69]和[0,59]o
(3)#include<iostream.h>
#include<stdlib.h>
#include<time.h>
voidmain()
(
charmark;
intx,y,z;
boolb=false;
srand(time(0));〃初始化系統(tǒng)中的隨機(jī)數(shù)序列
x=rand()9650+1;
y=rand()%10+l;
coutG〃輸入一個(gè)算術(shù)運(yùn)算符*,/,%):〃;
cin>>mark;
cout<<x?mark<<y<<,=,;
cin>>z;
switch(mark){
case':if(z=二x+y)b=true;break;
case':if(z二二x-y)b=true;break;
case':if(z二=x*y)b=true;break;
case':if(z==x/y)b=true;break;
case'%':if(z二二x%y)b=true;break;
default:cout<〈〃運(yùn)算符輸入錯(cuò)!/z?endl;
exit(1);
)
if(b)cout?,zright!,z?endl;
elsecout?,zerror!z,<<endl;
)
該程序的功能是:首先讓計(jì)算機(jī)產(chǎn)生出兩個(gè)隨機(jī)整數(shù)x和y,x
在150以內(nèi),y在110以內(nèi);接著由用戶輸入一個(gè)運(yùn)算符,再
由用戶輸入對(duì)x和y的運(yùn)算結(jié)果;然后判斷用戶的計(jì)算是否正確,
若正確則置b為true,即1,否則保持原值0不變;程序最后輸出
相應(yīng)的信息表示計(jì)算正確或錯(cuò)誤。
三、for語句
1.語句格式
for語句又稱for循環(huán),它也是一種結(jié)構(gòu)性語句,其語句格式
為:
for(<表示式1>;<表示式2>;<表示式>)<語句)
其中〈語句〉是for語句的循環(huán)體,它將按條件被重復(fù)執(zhí)行多次;
〈表示式1〉,〈表示式2〉和〈表示式》都能夠被省略,但它們之間的
分隔符(即分號(hào))必須保留;另外,〈表示式1〉除了能夠是一個(gè)表
示式外,還能夠兼有對(duì)變量進(jìn)行定義的功能,此變量在離開此循環(huán)
后依然能夠使用。如i=l和inti=l都能夠作為<表示式1>使用,當(dāng)
使用i二1時(shí),i必須被定義過,當(dāng)使用inti=l時(shí),i在此之前必
須沒有定義,此表示式同時(shí)具有定義變量i和給它賦初值這兩種功
能。
2.語句執(zhí)行過程
for語句的執(zhí)行過程為:
(1)計(jì)算〈表示式1>,當(dāng)然若此項(xiàng)被省略則無須計(jì)算;
(2)計(jì)算〈表示式2〉得到一個(gè)值,假定為M,若該表示式被省
略則當(dāng)作數(shù)值1看待;
(3)若M為非0,則執(zhí)行一遍循環(huán)體,否則結(jié)束整個(gè)for語句
的執(zhí)行;
(4)計(jì)算<表示式3>,當(dāng)然若此項(xiàng)被省略則無須計(jì)算;
(5)自動(dòng)轉(zhuǎn)向第⑵執(zhí)行。
3.語句格式舉例
(1)for(i=l;i<10;i++)cout?i<<,;
(2)for(inti=l;i++<=1000;);
(3)for(inti=0,j=0;i+j<20;i++,j+=2)x=i*i+j*j;
(4)for(;;){i++;if(i>100)break;}
(5)for(i=0,y=0;i<n;i++){
cin?x;
y+二x;
)
(6)for(intk=2;k<sqrt(m);k十十)
if(m%k==0)break;
(7)for(;b;a=b,b=r)r=a%b;
(8)for(k=20;k!=0;k—){
a=rand()%100;
cout<<a<<,';
if(a%2)cl++;elsec2++;
)
上述第⑴條語句使循環(huán)體重復(fù)執(zhí)行9次,每次輸出i的當(dāng)前
值和一個(gè)空格。
第⑵條語句省略了<表示式3>,而且循環(huán)體是一條空語句,該
循環(huán)體被重復(fù)執(zhí)行1000次,同時(shí)進(jìn)行1000次i++<=1000表示式的
計(jì)算。
第⑶條語句中的<表示式1〉分別給i和j賦初值為0,并對(duì)它
們進(jìn)行變量說明,〈表示式2〉和〈表示式3〉分別為關(guān)系表示式和逗
號(hào)表示式,循環(huán)體是一條賦值語句。
第⑷條語句中省略了全部三個(gè)表示式,循環(huán)體是一條復(fù)合語
句。
第⑸條語句中的〈表示式1>為逗號(hào)表示式,循環(huán)體是一條復(fù)
合語句,該循環(huán)語句完成從鍵盤上輸入n個(gè)常數(shù),并把它們依次累
加到y(tǒng)上的任務(wù)。
第⑹條語句中的循環(huán)體是一條條件語句,它將被重復(fù)執(zhí)行,
直到k<sqrt(m)不成立時(shí)為止。
第⑺條語句中省略了〈表示式1〉,〈表示式2>為一個(gè)簡單變量
b,〈表示式3》是一個(gè)逗號(hào)表示式,循環(huán)體是一條賦值語句。
第⑻條語句的循環(huán)體將被循環(huán)執(zhí)行20次,每次首先得到
099之間的一個(gè)隨機(jī)數(shù)a并輸出它,接著若a為奇數(shù)就使cl增
1,否則使c2增lo該循環(huán)的功能是得到并輸出099之間的20
個(gè)隨機(jī)數(shù),并分別統(tǒng)計(jì)出奇數(shù)和偶數(shù)的個(gè)數(shù)。
在for循環(huán)的循環(huán)體中允許使用break語句,其作用是:當(dāng)執(zhí)
行到該語句時(shí),就使執(zhí)行流程轉(zhuǎn)出所屬的for循環(huán)語句,然后再向
下順序執(zhí)行。
4.語句嵌套
for循環(huán)體能夠?yàn)槿魏慰蓤?zhí)行語句,當(dāng)然也能夠直接為一條
for語句,或者在作為循環(huán)體的復(fù)合語句內(nèi)使用for語句,而且嵌
套的層數(shù)不受限制。如:
(1)for(i=l;i<=5;i++)
for(j=l;j<=6;j++)s+=i*j;
(2)for(i=l;i<=5;i++){
for(j=l;j<=i;j++)cout<<,*,;
cout<<endl;
)
(3)for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(aa[i][j]>max){
max=aa[i][j];
row=i;eol=j;
)
以上每一條語句都是for雙重循環(huán)語句,處于外面的稱為外循
環(huán),內(nèi)部的稱為內(nèi)循環(huán)。如對(duì)于第⑴條語句,外循環(huán)控制循環(huán)體
(即內(nèi)循環(huán))執(zhí)行5次,每次執(zhí)行內(nèi)循環(huán)時(shí)又控制內(nèi)循環(huán)體執(zhí)行6
次,因此內(nèi)循環(huán)共被執(zhí)行5*6=30次。同理,第⑵條語句的內(nèi)循環(huán)
體(即cout?";語句)共被執(zhí)行1+2+3+4+5=15次,第⑶條
語句的內(nèi)循環(huán)體(即if語句)共被執(zhí)行m*n次。
5.程序舉例
(1)#inc1ude<iOmanip.h>
voidmain()
(
doublex,y;
cout<<〃從鍵盤上同一行輸入6個(gè)常數(shù):〃;
for(inti=0;i<6;i++){
cin>>x;
y=4*x*x-2*x+5;
cout?,,x=,,?setw(5)<<x;
cout<<setw(10)<<“y=〃<<setw(5)<<y<<endl;
)
)
在這個(gè)程序的主函數(shù)中,第一行定義了兩個(gè)雙精度變量x和
y,第二行給出提示信息,要求用戶從鍵盤上輸入6個(gè)常數(shù)后回車,
第三行至第八行為一條for循環(huán)語句,其循環(huán)體是一條復(fù)合語句,
將被重復(fù)執(zhí)行6次,對(duì)應(yīng)控制循環(huán)的變量i的取值依次為
0,1,2,3,4和5,每次循環(huán)首先從鍵盤緩沖區(qū)讀入一個(gè)常數(shù)并賦給
x,接著計(jì)算出y的值,然后按一定格式輸出x和y的值。若程序
運(yùn)行后,從鍵盤上輸入的6個(gè)常數(shù)為2,5,10,3.6,8.25,24.66,則
得到的輸出結(jié)果為:
從鍵盤上同一行輸入6個(gè)常數(shù):25103.68.2524.66
x二2y二17
x二5y二95
x二10尸385
x=3.6y=49.64
x=8.25產(chǎn)260.75
x=24.66y=2388.14
(2)#include<iostream.h>
voidmain()
{
inti,n;doublep=l;
cout?〃輸入一個(gè)正整數(shù),求其階乘:〃;
cin>>n;
for(i=l;i<=n;i++)p*二i;
cout<<n?z,!=z,?p<<endl;
)
在這個(gè)程序中定義了三個(gè)變量,用i作為控制循環(huán)的變量,簡
稱循環(huán)變量,用n保存從鍵盤輸入的一個(gè)正整數(shù),用p計(jì)算和保存
n的階乘值,p的初值為1,每次進(jìn)行循環(huán)計(jì)算時(shí)都使p累乘循環(huán)
變量i的值,循環(huán)結(jié)束后P的值就是n的階乘值。假定程序運(yùn)行時(shí)
輸入的n值為10,則運(yùn)行結(jié)果為:
輸入一個(gè)正整數(shù),求其階乘:10
10!=3.6288e+006
(3)#include<iostream.h>
#include<stdlib.h>
voidmain0
(
intn,x,max,min;
cout?〃輸入待處理數(shù)據(jù)的個(gè)數(shù):〃;
cin>>n;
if(n<=0){cout<<,zn<=0!,z?endl;exit(1);}
cout?〃輸入〃。水〈〃個(gè)待處理的數(shù)據(jù):〃;
cin>>x;max=min=x;
for(;-n;){
cin>>x;
if(x>max)max=x;
if(x<min)min=x;
)
cout<<,,max:〃<<max<<endl;
cout<<,,min:z,<<min<<endl;
)
在程序的主函數(shù)中,第一行同時(shí)定義了四個(gè)整型變量n,x,max
和min,用它們分別保存待處理數(shù)據(jù)的個(gè)數(shù)、當(dāng)前被處理的一個(gè)
數(shù)據(jù)、已處理數(shù)據(jù)中的最大值和已處理數(shù)據(jù)中的最小值。第二行
和第三行用來從鍵盤上給n輸入一個(gè)整數(shù)。第四行用來處理數(shù)據(jù)個(gè)
數(shù)n小于等于0的不正常情況。第五行給出請(qǐng)用戶輸入n的數(shù)據(jù)的
提示信息。第六行用來從鍵盤緩沖區(qū)讀入第一個(gè)被處理數(shù)據(jù)并用它
作為max和min這兩個(gè)變量的初值。第7至11行為一個(gè)for循環(huán),
循環(huán)體共需執(zhí)行n-1次,每次首先從鍵盤緩沖區(qū)讀入一個(gè)數(shù)據(jù)到x
中,接著分別同當(dāng)前最大值max和當(dāng)前最小值min相比較,若x較
大則用它修改max的值,若x較小則用它修改min的值,使max和
min始終保持已處理數(shù)據(jù)中的最大值和最小值,當(dāng)此循環(huán)結(jié)束后,
max和min中就分別存有n個(gè)數(shù)據(jù)中的最大值和最小值。最后兩行
語句輸出所求得的最大值和最小值。
假定需處理6個(gè)數(shù)據(jù),這6個(gè)數(shù)據(jù)為:48,62,30,24,55,36,
則程序運(yùn)行結(jié)果為:
輸入待處理數(shù)據(jù)的個(gè)數(shù):6
輸入6個(gè)待處理的數(shù)據(jù):486230245536
max:62
min:24
(4)#include<iostream.h>
voidmain()
for(inta=0,b=l;b<100;){
cout?a?,J?b?,
a=a+b;
b=a+b;
}
cout<<endl;
cout<<a?,'J<<endl;
)
該程序的主函數(shù)中包含有一個(gè)for循環(huán),〈表示式1〉分別給變
量a賦初值為0和給變量b賦初值為1,由于這兩個(gè)變量在此之前
沒有被定義,因此在此使用時(shí)必須定義,<表示式2>是一個(gè)關(guān)系表
示式bGOO,〈表示式3〉被省略,循環(huán)體中首先輸出a和b的值,接
著根據(jù)a和b的當(dāng)前值求出a的新值,再利用a和b的當(dāng)前值求出
b的新值,然后判斷僅100是否成立,若是則執(zhí)行下一次循環(huán),否
則結(jié)束循環(huán),轉(zhuǎn)去執(zhí)行后面的輸出語句。該程序的運(yùn)行結(jié)果為:
01123581321345589
144233
該程序的功能是輸出一個(gè)數(shù)列的前若干項(xiàng),其中第一項(xiàng)為0,
第二項(xiàng)為1,以后每一項(xiàng)等于其前兩項(xiàng)之和。如第10項(xiàng)為34,它
等于第8項(xiàng)13和第9項(xiàng)34之和。
(5)#include<iostream.h>
constintM=4,N=5;
voidmain()
inti,j,s=0;
for(i=l;i〈=M;i++)
for(j=l;j<=N;j++)
s+=i*j;
cout<<s?endl;
)
主函數(shù)中使用了一個(gè)雙重for循環(huán),外循環(huán)變量i初值為1,終
值為整數(shù)常量M,每執(zhí)行一次外循環(huán)體(即內(nèi)循環(huán))后其值增加1,
內(nèi)循環(huán)變量初值為1,終值為整數(shù)常量N,每執(zhí)行一次內(nèi)循環(huán)體(即
s+二途上語句)后其值也增加1,內(nèi)循環(huán)體共需執(zhí)行MN次。該程
MN
序的功能是計(jì)算的值。程序運(yùn)行結(jié)果為150o
z=ij=\
6.應(yīng)用舉例
例1.編一程序計(jì)算1+22+42+6、+5()2的值。
分析:此題所給的計(jì)算公式是一個(gè)和式,它除第一項(xiàng)外,其余
項(xiàng)為從2至50的每一個(gè)偶數(shù)的平方,因此可采用循環(huán)累加的方法
來計(jì)算,即依次把每個(gè)數(shù)據(jù)項(xiàng)(在此為偶數(shù)的平方)累加到一個(gè)變
量中。設(shè)循環(huán)變量為i,它的初值、終值和步長(即每次循環(huán)后
循環(huán)變量的增加值)應(yīng)分別為2、50和2,設(shè)用于累加的變量為
s,它的初值應(yīng)為和式中的第一項(xiàng)1,因?yàn)樗荒軌蚪?jīng)過有規(guī)律的
循環(huán)累加到S上。在循環(huán)體中經(jīng)過賦值語句每次把i的平方值累加
到S上,當(dāng)循環(huán)結(jié)束后,S的值就是所求的結(jié)果。根據(jù)分析編寫出
程序如下:
#include<iostream.h>
voidmain()
(
inti,s=1;
for(i=2;i〈=50;i+=2)s+=i*i;
cout<\/zs=,/<<s?endl;
)
例2.編一程序計(jì)算七㈠產(chǎn)£的值,其中x值由鍵盤輸入。
i=l廣
分析:此題是一個(gè)累加求和問題,適合使用for循環(huán)來實(shí)現(xiàn)。
設(shè)循環(huán)變量為和式中的i,它從1取值到10,每次增長1,每次計(jì)
算出一個(gè)數(shù)據(jù)項(xiàng)并把它累加起來。為了計(jì)算一個(gè)數(shù)據(jù)項(xiàng)中的小和
i!,還需要設(shè)定兩個(gè)累乘變量,假定分別用P1和P2表示,它們的
初值應(yīng)均為1,在循環(huán)體中需要分別向pl和p2累乘x和i的值。
為了把每個(gè)數(shù)據(jù)項(xiàng)的值累加起來,需要設(shè)定一個(gè)累加變量,假定用
s表示,它的初值為0,每次向它累加(T)i'pl/p2的值。當(dāng)和式中
的所有10個(gè)數(shù)據(jù)項(xiàng)都累加到s之后,s的值就是所求的結(jié)果。根
據(jù)分析編寫出程序如下:
#include<iostream.h>
voidmain()
doublex,pl=l,p2=l,s=0;
inti,j=1;
cout<〈〃輸入x的值:〃;
cin>>x;
for(i=l;i<=10;i++){
pl*二x;〃pl的值為xi
p2*=i;//p2的值為i!
s+=j*pl/p2;//j的值為(-l)i+l
j=-j;//j取反,為下一數(shù)據(jù)項(xiàng)計(jì)算做準(zhǔn)
備
)
cout<<s?endl;
)
例3.已知y尸詈;,丫2二詈二,其中X從0開始取值,每
岳+1<267-1
次增加的步長為0.25,直到3,a的值由鍵盤輸入,并要求大于0,
編一程序依次求出x每一取值所對(duì)應(yīng)的,和丫2的值。
分析:設(shè)i為循環(huán)變量,讓它的初值、終值和步長分別為0,12
和1,則x的每次取值可表示為0.25i。在循環(huán)體中計(jì)算力和的
公式應(yīng)分別表示為:
y1=(1+exp(x))/(sqrt(2*a)+l)
y2=(l+exp(x))/(sqrt(2*a)T)
每次根據(jù)x的值(即0.25)求出對(duì)應(yīng)的yl和y2后都要輸出
出來。根據(jù)分析編寫出程序程序如下:
#include<iomanip.h>
#include<math.h>
voidmainO
doublex,a,yl,y2;
cout?,,Inputa(a>0):;cin>>a;〃也可把a(bǔ)設(shè)定
為數(shù)值常量
for(inti=0;i<=12:i++){
x=0.25*i;
yl=(1+exp(x))/(sqrt(2*a)+1);
y2=(1+exp(-x))/(sqrt(2*a)T);
cout<<setw(10)<<x<<setw(10)<<yl<<setw(10)<<y2?endl;
)
例4.已知一組實(shí)驗(yàn)數(shù)據(jù):
3.62,2.93,3.16,3.73,2.86,3.40,2.86,3.07,3.29,3.24,編一程
序分別求出它們的平均值、方差和均方差,要求每一結(jié)果只保留
兩位小數(shù)。
分析:設(shè)它們的平均值、方差和均方差分別用變量v,f和t
表示,由數(shù)學(xué)知識(shí)可知,相應(yīng)的計(jì)算公式為:
V二一9看f二一次看-v"t="
〃i=\〃/=1
其中n表示數(shù)據(jù)個(gè)數(shù),Xi表示第i個(gè)數(shù)據(jù)。
此題需要首先求出£工,.和Ex/,然后才能夠求出v,f和t。而
i=i/=i
求所有數(shù)之和以及求所有數(shù)平方之和需要采用循環(huán)累加的方法。為
此設(shè)循環(huán)變量為i,它的初值、終值和步長應(yīng)分別為1,n和1,設(shè)
輸入變量為x,每次從鍵盤緩沖區(qū)得到一個(gè)實(shí)驗(yàn)數(shù)據(jù),設(shè)累加數(shù)據(jù)
之和的變量為si,累加數(shù)據(jù)平方之和的變量為s2。每次分別向si
和s2累加X,和X,的值。根據(jù)以上分析編寫出程序如下:
#include<iostream.h>
#include<math.h>
constintn=10;〃口等于待處理數(shù)據(jù)的個(gè)數(shù)
voidmain()
doublex,si,s2;
sl=s2=0;
cout<<〃從鍵盤上輸入〃。水〈〃個(gè)實(shí)驗(yàn)數(shù)據(jù):〃;
for(inti=1;i<=n;i++){
cin>>x;
sl+二x;
s2+=x*x;
}
doublev,f,t;
v=sl/n;
f=s2/n-v*v;
t=sqrt(f);
v=floor(v*100)/100;
f=f1oor(f*100)/100;
t=floor(t*100)/100;
cout<<,zv=z,<<v?endl;
cout<\,zf=/z<<f?endl;
cout<<,,t=,,<<t?endl;
)
該程序上機(jī)運(yùn)行后,按所給數(shù)據(jù)輸入,則運(yùn)行結(jié)果為:
從鍵盤上輸入10個(gè)實(shí)驗(yàn)數(shù)據(jù):
3.622.933.163.732.863.402.863.073.293.24
v=3.21
f=0.08
t=0.28
例5.由勾股定理可知,在一個(gè)直角三角形中,兩條直角邊a
和b與斜邊c的關(guān)系為a2+b2=c2,編一程序求出每條直角邊均不大
于30的所有整數(shù)組解。如(3,4,5),(5,1213)等都是該題的解。
分析:根據(jù)題意,需要使用二重循環(huán)來解決,設(shè)外循環(huán)變量用
a表示,它的初值、終值和步長應(yīng)分別取1,30和1,內(nèi)循環(huán)變量
用b表示,它的初值、終值和步長應(yīng)分別取a+1,30和1。內(nèi)循環(huán)
變量的初值若取1,而不是取a+1,則會(huì)出現(xiàn)象(3,4,5)和(4,3,5)
這樣的重復(fù)組,為了避免重復(fù)組的出現(xiàn),因此讓b從a+1開始,即
使第二條直角邊大于第一條直角邊。根據(jù)分析編寫出程序如下:
#include<iostream.h>
#include<math.h>
constn=30;
voidmain()
{
inta,b;
doublec;
for(a=l;a<=n;a++)
for(b=a+1;b<=30;b++){
c=sqrt(a*a+b*b);〃q求出斜邊的長度
if(floor(c)=c)〃若斜邊同為整數(shù)則輸出
cout?'('<〈a?','<<c<〈'),?endl;
)
}
該程序運(yùn)行后,將得到如下輸出結(jié)果:
(3,4,5)
(5,12,13)
(6,8,10)
(7,24,25)
(8,15,17)
(9,12,15)
(10,24,26)
(12,16,20)
(15,20,25)
(16,30,34)
(18,24,30)
(20,21,29)
(21,28,35)
例6.編一程序打印出2至99之間的所有素?cái)?shù)0
分析:由數(shù)學(xué)知識(shí)可知,若一個(gè)自然數(shù)是素?cái)?shù)(又稱質(zhì)數(shù)),
則它必定不能被1和它本身之外的任何自然數(shù)整除。因?yàn)槿魏我粋€(gè)
自然數(shù)都不可能被比它大的自然數(shù)整除,因此要判斷一個(gè)自然數(shù)
是否為素?cái)?shù),只要看它能否被比它小的自然數(shù)(當(dāng)然除1之外)整
數(shù),若能則不是素?cái)?shù),否則是素?cái)?shù)。另一方面,若一個(gè)自然數(shù)n不
是素?cái)?shù),則必然能表示成兩個(gè)自然數(shù)nl和n2之積,而且若nl小
于等于6,n2必然大于等于冊(cè)。因此要判斷一個(gè)自然數(shù)n是否為
素?cái)?shù),可簡化為判斷它能否被2至冊(cè)之間的自然數(shù)整除即可。因
為若一個(gè)自然數(shù)n不能被2至至五之間的自然數(shù)整除,則不然也
不能被6至nT之間的自然數(shù)整除。
由以上分析可知,判斷一個(gè)自然數(shù)n是否為素?cái)?shù)的過程是一個(gè)
循環(huán)過程,設(shè)循環(huán)變量為i,它的初值、終值和步長應(yīng)分別為
2,fleer(sqrt(n)和1,在循環(huán)體內(nèi)要判斷n是否能被i整除,若
能則表明n不是素?cái)?shù),應(yīng)結(jié)束循環(huán),若不能則繼續(xù)循環(huán)。當(dāng)整個(gè)循
環(huán)正常結(jié)束(即因〈表示式2〉的值為0而結(jié)束循環(huán)的情況)后,表
明n不能被2至公之間的任何自然數(shù)整除,得到n是一個(gè)素?cái)?shù)。
要求出所給的2至99區(qū)間內(nèi)的所有素?cái)?shù),需要依次對(duì)每個(gè)整
數(shù)進(jìn)行判斷,這又是一個(gè)循環(huán)處理的過程。為此設(shè)循環(huán)變量為n,它
的初值、終值和步長應(yīng)分別為2,99和1,對(duì)于n的每一取值,都
要執(zhí)行判斷它是否為素?cái)?shù)的循環(huán)過程,因此解決此題的程序模塊
結(jié)構(gòu)是一個(gè)雙重循環(huán)。
根據(jù)以上分析,編寫出程序如下:
#include<iostream.h>
#include<math.h>
voidmain()
(
inti,n;
for(n=2;n<=99;n++){
inttemp二(int)floor(sqrt(n));
for(i=2;i<=temp;i++)
if(n%i==0)break;〃執(zhí)行break時(shí)為非正常
結(jié)束循環(huán)
if(i>temp)cout<<n<<,';
)
cout<<,\n;
)
若這個(gè)程序中的for內(nèi)循環(huán)執(zhí)行結(jié)束后,若i的值大于temp,
則表明內(nèi)循環(huán)是正常結(jié)束的,n為一個(gè)素?cái)?shù),所有要把它打印出來,
否則內(nèi)循環(huán)是非正常結(jié)束的,n是一個(gè)非素?cái)?shù),此時(shí)的i值必然小
于等于temp,它不會(huì)被打印出來。
該程序運(yùn)行后得到的輸出結(jié)果為:
23571113171923293137414347535961
67717379838997
四、while語句
1.語句格式
while語句又稱為while循環(huán),它也是一種結(jié)構(gòu)性語句,它的
循環(huán)體是一條語句。While語句格式為:
while(〈表示式〉)〈語句〉
〈語句》成分是while語句的循環(huán)體,
它能夠是任何一條可執(zhí)行語句或空語
句。
2.執(zhí)行過程
while語句的執(zhí)行過程為:
(1)計(jì)算〈表示式》的值,假定為M:
(2)若M為非0,則執(zhí)行一遍循環(huán)體,否則結(jié)束整個(gè)語句的執(zhí)
(3)自動(dòng)轉(zhuǎn)向第⑴步執(zhí)行。
While語句的執(zhí)行過程也可用圖1-2表示出來。
圖1-2
while語句的執(zhí)行過程
3.格式舉例
(1)while(x<=0)cin?x;
(2)while(x){s+=x;cin>>x;}
(3)while(n){
cin?x;
if(x>O)nl++;elsen2++;
)
(4)while(i<n&&x!=a[i])i++;
(5)while(i++<N){
x=rand()%100;
if(x%2=0)c2十十;
if(x%3==0)c3++;
if(x%5=0)c5++;
)
(6)whilo(1){
cout?"輸入一個(gè)運(yùn)算符/或@):";
cin?op;
if(op=='@')break;
switch(op){
case'+':z=Add(x,y);break;
case:z=Subt(x,y);break;
case'*':z=Mult(x,y);break;
case'/':z二Divide(x,y);break;
default:cout<<vInputerror!v<<endl;
)
對(duì)于每一條while語句,若第一次計(jì)算〈表示式》的侑為0,則
循環(huán)體不會(huì)被執(zhí)行就離開了循環(huán),否則循環(huán)體至少被執(zhí)行一次。
在while語句的循環(huán)體內(nèi),也能夠同在for語句的循環(huán)體內(nèi)一
樣使用break語句,使之非正常地結(jié)束其執(zhí)行過程,轉(zhuǎn)向所屬
while語句的后面繼續(xù)向下執(zhí)行。
請(qǐng)讀者分析以上每一條while語句的執(zhí)行過程的功能。
while循環(huán)中的循環(huán)體語句能夠?yàn)槿魏我粭l可執(zhí)行語句或空語
句,因此同樣能夠?yàn)橐粭lwhile語句或其它循環(huán)語句,若循環(huán)體是
一條復(fù)合語句,則在復(fù)合語句內(nèi)也同樣能夠使用while語句或其它
循環(huán)語句??傊?,允許各種循環(huán)語句之間的嵌套使用,而且嵌套的
層數(shù)不受限制。
4.程序舉例
(1)#include<iostream.h>
voidmain()
(
intx,cl=0,c2=0;
cin>>x;
while(x>=0){//當(dāng)輸入一個(gè)負(fù)數(shù)時(shí)結(jié)束循環(huán)
if(x<60)cl++;elsec2++;
cin>>x;
)
cout<<cl<<,??c2<<endl;
)
該程序的功能是:分別統(tǒng)計(jì)出從鍵盤上輸入的所有整數(shù)中小
于60和大于等于60的數(shù)據(jù)個(gè)數(shù),然后顯示出來。在程序中用輸入
負(fù)數(shù)作為終止while循環(huán)的結(jié)束標(biāo)志,使用x作為輸入變量,使用
cl和c2作為統(tǒng)計(jì)變量。
(2)#include<iostream.h>
voidmain()
(
int.a,h;
coutG〃請(qǐng)輸入兩個(gè)正整數(shù):";
cin>>a?b;
while(a<=0||b<=0){cout<<,z重新輸入:〃;
cin>>a?b;}
while(b){
intr=a%b;
a=b;b=r;
)
cout<<a<<endl;
)
該程序的功能是:采用輾轉(zhuǎn)相除法求出兩個(gè)整數(shù)的最大公約
數(shù)。
如假定從鍵盤上輸入的兩個(gè)整數(shù)為136和40,用它們分別作
為a和b的值,因b=40不為0,因此執(zhí)行第一遍while循環(huán)體,使
得r為a除以b而得到的余數(shù),接著把a(bǔ)和b修改為除數(shù)b和余數(shù)
r的值,即40和16;又因b的當(dāng)前值為16,它不為0,接著執(zhí)行
第二遍循環(huán)體,使得r的值為8,接著把a(bǔ)和b修改為16和8;再
進(jìn)行條件判斷時(shí),因b=8不為0,接著執(zhí)行第三遍循環(huán)體,使得r
的值為0,a和b的值再一次被修改為8和0;進(jìn)行第四次while
循環(huán)條件判斷時(shí),因b等于0,因此結(jié)束循環(huán)。結(jié)束循環(huán)后a的值
就是原有兩個(gè)整數(shù)136和40的最大公約數(shù).
利用輾轉(zhuǎn)相除法求136和40的最大公約數(shù)的計(jì)算步驟為:
(1)1136...16
I-3
(2)'40…8
2
(3)816...0
2
最后一步中的除數(shù)8就是136和40最大公約數(shù)。
(3)#include<iostream.h>
#include<stdlib.h>
#include<math.h>
voidmain()
(
inti=10,a;
while(i>0){
a=rand()%190+10;
intj,k=int(floor(sqrt(a)));
for(j=2;j<=k;j++)
if(a%j-O)break;
if(j>k){cout?a?,;i--;}
)
)
該程序是一個(gè)雙重循環(huán),外層為while循環(huán),內(nèi)層為for循環(huán),每
執(zhí)行一遍外循環(huán)體可能顯示出一個(gè)10至200之間的一個(gè)素?cái)?shù)。
該程序的功能是:隨機(jī)產(chǎn)生出10個(gè)10至200之間的素?cái)?shù)并顯
小出來。
5.應(yīng)用舉例
例1編一程序求出滿足不等式1+(+2+…+45的最小n值。
23n
分析:此題不等式的左邊是一個(gè)和式,該和式中的數(shù)據(jù)項(xiàng)個(gè)數(shù)
是未知的,也正是要求出的。對(duì)于和式中的每個(gè)數(shù)據(jù)項(xiàng),對(duì)應(yīng)的通
式為Li=l,2,...n,因此可采用循環(huán)累加的方法來計(jì)算出不等式
i
的和。設(shè)循環(huán)變量為i,它應(yīng)從1開始取值,每次增加1,直到不
等式的值不小于5為止,此時(shí)的i值就是所求的n。設(shè)累加變量為
s,在循環(huán)體內(nèi)應(yīng)把1/i的值累加到s上。
根據(jù)以上分析,采用while循環(huán)編寫出程序如下:
#include<iostream.h>
voidmain()
(
inti=0;doubles=0;
while(s<5)s+=double(l)/++i;
cout<<z,n=z/<<i?endl;
)
若采用for循環(huán)編寫程序,則如下所示:
#include<iostream.h>
voidmain()
(
inti=0;doubles=0;
for(i=l;s<5;i++)s+=double(l)/i;
cout<\,zn=z,<<i-l?endl;
〃注意:此i-1的值為所求的n值
該程序的輸出結(jié)果應(yīng)為:"83
例2.一家商場采用打折促銷活動(dòng),具體做法是:購物滿100
元送30元購物券,用購物券購物同用人民幣購物一樣遵循上述原
則。若一個(gè)顧客一次購物花銷x元,則最終能夠得到幾折優(yōu)惠。
分析:因購買每百元物品送30元購物券,不滿百元部分將不
贈(zèng)送,因此花銷x元應(yīng)得到的購物券為floor(x/100)*30,假定這
個(gè)值仍利用x保存,則再購價(jià)值為x的物品后,同樣又能夠得到由
上述
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上海市教育發(fā)展有限公司招聘營地教官、行政助理備考題庫及1套參考答案詳解
- 2025年江西省水利投資集團(tuán)有限公司中層管理人員招聘備考題庫及完整答案詳解1套
- 人保財(cái)險(xiǎn)陽江市分公司2026統(tǒng)籌校園招聘備考題庫及參考答案詳解一套
- 2025年南山實(shí)驗(yàn)教育集團(tuán)白石洲學(xué)校面向全國選聘初中物理、歷史教師備考題庫帶答案詳解
- 中國鐵路濟(jì)南局集團(tuán)有限公司2026年度招聘普通高校本科及以上學(xué)歷畢業(yè)生232人備考題庫及1套參考答案詳解
- 2025年這個(gè)區(qū)所屬事業(yè)單位公開招聘90人備考題庫及答案詳解參考
- 中國中醫(yī)科學(xué)院望京醫(yī)院2026年公開招聘合同制職工(第一批)備考題庫及答案詳解參考
- 2025年佛山市均安鎮(zhèn)專職消防隊(duì)招聘消防員5人備考題庫及答案詳解1套
- 2025年蔡甸區(qū)公立中學(xué)招聘教師備考題庫及一套參考答案詳解
- 音樂考試題及答案
- 院感知識(shí)培訓(xùn)內(nèi)容超聲室課件
- 柴油車保養(yǎng)知識(shí)培訓(xùn)總結(jié)課件
- 魚苗早期發(fā)育調(diào)控-洞察與解讀
- 老果園改造申請(qǐng)書
- 2025年無犯罪記錄證明申請(qǐng)表申請(qǐng)書(模板)
- 保險(xiǎn)核心系統(tǒng)(承保、理賠)中斷應(yīng)急預(yù)案
- 重慶科技大學(xué)《高等數(shù)學(xué)I》2025 - 2026學(xué)年第一學(xué)期期末試卷
- 2024年人教版小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)期末考試試卷
- 2025年石嘴山市政務(wù)服務(wù)中心(綜合窗口)人員招聘筆試備考試題及答案解析
- 礦山測量員轉(zhuǎn)正考核試卷及答案
- 產(chǎn)品設(shè)計(jì)規(guī)范標(biāo)準(zhǔn)制定及優(yōu)化工具
評(píng)論
0/150
提交評(píng)論