




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、if語(yǔ)句語(yǔ)句switchswitch語(yǔ)句語(yǔ)句循環(huán)語(yǔ)句循環(huán)語(yǔ)句循環(huán)中途的退出(循環(huán)中途的退出(breakbreak、continuecontinue)21. 語(yǔ)法一語(yǔ)法一 if(表達(dá)式)(表達(dá)式) 程序段;程序段; 。;。;若表達(dá)式的值為真若表達(dá)式的值為真( (非非0) ),執(zhí)行,執(zhí)行程序段,再執(zhí)行下一語(yǔ)句;否則程序段,再執(zhí)行下一語(yǔ)句;否則直接執(zhí)行下一語(yǔ)句。直接執(zhí)行下一語(yǔ)句。 P483e.g. 從鍵盤(pán)輸入一個(gè)字符,若是小寫(xiě)字母從鍵盤(pán)輸入一個(gè)字符,若是小寫(xiě)字母則轉(zhuǎn)換成大寫(xiě)字母并輸出。則轉(zhuǎn)換成大寫(xiě)字母并輸出。# include using namespace std; void main( ) ch
2、ar a; couta; if ( ) a=a-32; couta=97 & a=90) printf(excellent!); else if (score=80) printf(good!); else if (score=70) printf(fair!); else printf(bad!); if-else的的else部分部分還可嵌套還可嵌套if語(yǔ)句語(yǔ)句6請(qǐng)注意請(qǐng)注意 else不能單獨(dú)使用,必須與不能單獨(dú)使用,必須與if成對(duì)成對(duì)出現(xiàn)。出現(xiàn)。 從前到后,每個(gè)從前到后,每個(gè)else與離它最近與離它最近的且還未配對(duì)的的且還未配對(duì)的if進(jìn)行配對(duì)。進(jìn)行配對(duì)。7e.g. 計(jì)算符號(hào)函數(shù)計(jì)算
3、符號(hào)函數(shù) 的值。的值。 -1 x0# include using namespace std; void main( ) int x, y; coutx; if (x0) y= -1; else if (x=0) y=0; else y=1; cout“x=”x“,y=”yendl; 8 用一對(duì)用一對(duì) 括起來(lái)的一組語(yǔ)句,括起來(lái)的一組語(yǔ)句, 稱為復(fù)合語(yǔ)句。稱為復(fù)合語(yǔ)句。 末尾不需要分號(hào)。末尾不需要分號(hào)。如:如:if (x0) y+; x=2*x; if (x0) y+;x=2*x;9e.g. 輸入三個(gè)整數(shù),將它們按從小輸入三個(gè)整數(shù),將它們按從小 到大的順序輸出。到大的順序輸出。10# inclu
4、de using namespace std; void main( ) int a, b, c, t; coutabc; if (ab) t=a; a=b; b=t; /如果如果ab,ab,交換交換a a和和b b的值的值 if (ac) t=a; a=c; c=t; if (bc) t=b; b=c; c=t; cout“排序結(jié)果為排序結(jié)果為:”a b cb?a:b; abs=x0?-x:x;? : 叫做條件運(yùn)算符。叫做條件運(yùn)算符。12 條件運(yùn)算符的優(yōu)先級(jí)高于賦值條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,低于邏輯運(yùn)算符運(yùn)算符,低于邏輯運(yùn)算符 條件運(yùn)算符為右結(jié)合性條件運(yùn)算符為右結(jié)合性 只有當(dāng)只有當(dāng)i
5、f的兩個(gè)分支為給同一變量的兩個(gè)分支為給同一變量賦值時(shí)才可用條件表達(dá)式取代。賦值時(shí)才可用條件表達(dá)式取代。13e.g. 從鍵盤(pán)輸入一個(gè)字符,若是小寫(xiě)字母從鍵盤(pán)輸入一個(gè)字符,若是小寫(xiě)字母則轉(zhuǎn)換成大寫(xiě)字母并輸出。則轉(zhuǎn)換成大寫(xiě)字母并輸出。# include using namespace std; void main( ) char a; couta; a= ; couta=97 & a=122 ? a-32 : a14 語(yǔ)法:語(yǔ)法:switch( (表達(dá)式表達(dá)式) ) case 常量常量1: 程序段程序段1; case 常量常量2: 程序段程序段2; case 常量常量n: 程序段程序段n;
6、default: 程序段程序段n+1; 空格空格 P5015 功能:計(jì)算表達(dá)式的值,若其值功能:計(jì)算表達(dá)式的值,若其值 等于某常量等于某常量i,則從程序段,則從程序段i 開(kāi)始往下執(zhí)行。開(kāi)始往下執(zhí)行。 說(shuō)明:說(shuō)明:1case后應(yīng)是一個(gè)固定的常量值,后應(yīng)是一個(gè)固定的常量值, 且且均為整型值或字符。均為整型值或字符。2各各case后的常量值必須互異。后的常量值必須互異。164通常,每個(gè)程序段最后用通常,每個(gè)程序段最后用break語(yǔ)句語(yǔ)句 退出退出switch;若沒(méi)有;若沒(méi)有break,則繼,則繼 續(xù)執(zhí)行下一個(gè)續(xù)執(zhí)行下一個(gè)case后的程序段。后的程序段。5多個(gè)多個(gè)case可以共用同一程序段??梢怨灿猛?/p>
7、一程序段。 說(shuō)明:說(shuō)明:3case分支中的程序段可包含多條分支中的程序段可包含多條語(yǔ)句,且可以不用語(yǔ)句,且可以不用 176若沒(méi)有常量值與表達(dá)式的值相等,若沒(méi)有常量值與表達(dá)式的值相等, 就執(zhí)行就執(zhí)行default后的程序段;若無(wú)后的程序段;若無(wú) default部分,就直接退出部分,就直接退出switch 語(yǔ)句。語(yǔ)句。default部分可有可無(wú)。部分可有可無(wú)。 說(shuō)明:說(shuō)明:18e.g. 從鍵盤(pán)上輸入一個(gè)從鍵盤(pán)上輸入一個(gè)17的整數(shù)的整數(shù)day,輸出對(duì)應(yīng)星期數(shù)。輸出對(duì)應(yīng)星期數(shù)。19# include using namespace std; void main( ) int day; cinday;
8、switch(day) case 1: cout“星期一星期一n”; break; case 2: cout“星期二星期二n”; break; 20case 3: cout“星期三星期三n”; break;case 4: cout“星期四星期四n”; break; case 5: cout“星期五星期五n”; break; case 6: cout“星期六星期六n”; break;case 7: cout“星期日星期日n”; break;default: cout“輸入錯(cuò)誤輸入錯(cuò)誤!n”; 21 語(yǔ)法:語(yǔ)法: while( (表達(dá)式表達(dá)式) ) 循環(huán)體;循環(huán)體; 功能:當(dāng)表達(dá)式的值非功能:當(dāng)表
9、達(dá)式的值非0時(shí),反復(fù)時(shí),反復(fù) 執(zhí)行循環(huán)體。執(zhí)行循環(huán)體。 P5222表達(dá)式表達(dá)式循循 環(huán)環(huán) 體體whileTF循環(huán)控制條件循環(huán)控制條件23e.g. 求正整數(shù)求正整數(shù)n的所有約數(shù)及約數(shù)個(gè)數(shù)的所有約數(shù)及約數(shù)個(gè)數(shù)# include using namespace std; void main( ) int i, n, count=0; coutn;24 i=1; /i/i表示表示n n的整數(shù),初始值為的整數(shù),初始值為1 1 while(i=n) if (n%i=0) /如果如果i i是是n n的約數(shù)的約數(shù) couti ; count+; i+; /準(zhǔn)備考查下一個(gè)準(zhǔn)備考查下一個(gè)i i是否是否n n的約數(shù)
10、的約數(shù) cout“nFind ”count“ factors”endl; 復(fù)合語(yǔ)句25 語(yǔ)法:語(yǔ)法: do 循環(huán)體循環(huán)體 while ( (表達(dá)式表達(dá)式);); 功能:先執(zhí)行循環(huán)體,再檢測(cè)表達(dá)式功能:先執(zhí)行循環(huán)體,再檢測(cè)表達(dá)式 的值。若非的值。若非0,則繼續(xù)執(zhí)行循,則繼續(xù)執(zhí)行循 環(huán)體;否則,退出循環(huán)。環(huán)體;否則,退出循環(huán)。 P5326e.g.:do coutn; while(n=0);要求必須輸入正數(shù)要求必須輸入正數(shù)27e.g. 不斷從鍵盤(pán)輸入實(shí)數(shù),邊輸入邊累加,不斷從鍵盤(pán)輸入實(shí)數(shù),邊輸入邊累加,直到它們的和超過(guò)直到它們的和超過(guò)1000時(shí)停止。時(shí)停止。 28# include using na
11、mespace std; void main( ) double x, s; coutx; s+=x; while(s=1000); cout“累加結(jié)果:累加結(jié)果:”sendl; 29while語(yǔ)句和語(yǔ)句和do-while語(yǔ)句的區(qū)別:語(yǔ)句的區(qū)別: 執(zhí)行執(zhí)行while語(yǔ)句,可能一次都不語(yǔ)句,可能一次都不 執(zhí)行循環(huán)體。執(zhí)行循環(huán)體。 執(zhí)行執(zhí)行do-while語(yǔ)句,至少執(zhí)行一語(yǔ)句,至少執(zhí)行一 次循環(huán)體。次循環(huán)體。30 語(yǔ)法:語(yǔ)法: for( (表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2; 表達(dá)式表達(dá)式3) ) 循環(huán)體;循環(huán)體; 功能:功能:1先執(zhí)行表達(dá)式先執(zhí)行表達(dá)式1 2檢測(cè)表達(dá)式檢測(cè)表達(dá)式2的值,若非的值,若
12、非0, 則執(zhí)行循環(huán)體,再轉(zhuǎn)則執(zhí)行循環(huán)體,再轉(zhuǎn)3; 否則,退出循環(huán)否則,退出循環(huán) 3執(zhí)行表達(dá)式執(zhí)行表達(dá)式3,轉(zhuǎn),轉(zhuǎn)2 P5431for表達(dá)式表達(dá)式1循循 環(huán)環(huán) 體體表達(dá)式表達(dá)式3表達(dá)式表達(dá)式2TF通常用來(lái)初始化通常用來(lái)初始化循環(huán)變量循環(huán)變量循環(huán)控制條件循環(huán)控制條件通常用來(lái)改變通常用來(lái)改變循環(huán)變量循環(huán)變量32e.g. 一只老鼠咬壞了書(shū),公式中符一只老鼠咬壞了書(shū),公式中符號(hào)代表被老鼠咬掉的數(shù)字,要想號(hào)代表被老鼠咬掉的數(shù)字,要想恢復(fù)以下等式,在中可填上哪個(gè)恢復(fù)以下等式,在中可填上哪個(gè)相同的數(shù)字?相同的數(shù)字? 3623733564 33# include using namespace std; voi
13、d main( ) int i; for(i=1; i=9; i+) if(30+i)*6237=(10*i+3)*3564) cout“處填處填”iendl; 34e.g. 若一個(gè)正整數(shù)若一個(gè)正整數(shù)n的所有小于的所有小于n的約的約數(shù)之和等于數(shù)之和等于n,則稱,則稱n為完全數(shù)。例如,為完全數(shù)。例如,6=1+2+3,6是完全數(shù),是完全數(shù),28、496、8128也都是完全數(shù)。判斷正整數(shù)也都是完全數(shù)。判斷正整數(shù)n是否是否完全數(shù)。完全數(shù)。35# include using namespace std; void main( ) int i, n, s; coutn; s=0; for(i=1; in;
14、 i+) if (n%i=0) s+=i; if(s=n) coutn“是完全數(shù)是完全數(shù)”endl; else coutn“不是完全數(shù)不是完全數(shù)”endl; 36若循環(huán)體中仍包含循環(huán)語(yǔ)句,稱為若循環(huán)體中仍包含循環(huán)語(yǔ)句,稱為多重循環(huán)。多重循環(huán)。e.g. 求求n以內(nèi)的所有完全數(shù)。以內(nèi)的所有完全數(shù)。 37# include using namespace std;void main( ) int i, j, n, s; coutn; for(i=1; in; i+) s=0; for(j=1; ji; j+) if(i%j=0) s+=j; if (s=i) couti“ ” ; 38e.g. 編寫(xiě)
15、程序輸出行數(shù)為編寫(xiě)程序輸出行數(shù)為n的如下圖形的如下圖形( (如如n=4) )。 * * * * * * * * * * * * * * * * * * *39# include using namespace std; void main( ) int i, j, n; coutn; for(i=1; i=n; i+) for(j=1; j=n-i; j+) cout“ ”; for(j=1; j=2*i-1; j+) cout“*”; coutendl; /一行一行* *輸入完畢,需換行輸入完畢,需換行 40# include #includeusing namespace std; voi
16、d main( ) int a, b, c, m, n; for(a=1; a=9; a+) for(b=0; b=9; b+) for(c=0; c=9; c+) m=a*100+b*10+c; n=pow(a, 3)+pow(b, 3)+pow(c, 3); if (m=n) coutm“ ”; e.g. 求三位數(shù)的水仙花數(shù)求三位數(shù)的水仙花數(shù) ( (abc=a3+b3+c3) )。 411. break語(yǔ)句語(yǔ)句 功能:提前退出循環(huán)。功能:提前退出循環(huán)。 只用于循環(huán)語(yǔ)句和只用于循環(huán)語(yǔ)句和switch語(yǔ)句中。語(yǔ)句中。 P5642# include using namespace std;voi
17、d main( ) int i, n; coutn;e.g. 判斷某整數(shù)判斷某整數(shù)n是否質(zhì)數(shù)。是否質(zhì)數(shù)。 43 if (n2) cout“請(qǐng)輸入請(qǐng)輸入2的整數(shù)的整數(shù)!”endl; else for(i=2; i=n) / for循環(huán)沒(méi)有中途退出,循環(huán)沒(méi)有中途退出,n是質(zhì)數(shù)是質(zhì)數(shù) coutn“是質(zhì)數(shù)是質(zhì)數(shù)”endl; else / for循環(huán)中途退出,循環(huán)中途退出,n不是質(zhì)數(shù)不是質(zhì)數(shù) coutn“不是質(zhì)數(shù)不是質(zhì)數(shù)”endl; break語(yǔ)句只能退出當(dāng)前層循環(huán)。語(yǔ)句只能退出當(dāng)前層循環(huán)。44# include using namespace std;void main( ) int i, n; co
18、utn; if (n2) cout“請(qǐng)輸入請(qǐng)輸入2的整的整 數(shù)數(shù)!”endl;e.g. 求求n以內(nèi)的所有質(zhì)數(shù)。以內(nèi)的所有質(zhì)數(shù)。 45for(j=2;jn;j+) for(i=2; i=j) coutj是質(zhì)數(shù)endl; else coutj不是質(zhì)數(shù)endl; 462. continue語(yǔ)句語(yǔ)句 功能:提前結(jié)束本次循環(huán),功能:提前結(jié)束本次循環(huán), 進(jìn)入下一次循環(huán)。進(jìn)入下一次循環(huán)。e.g. 統(tǒng)計(jì)統(tǒng)計(jì)1n中能被中能被3整除的數(shù)的個(gè)整除的數(shù)的個(gè)數(shù)。數(shù)。 只用于循環(huán)語(yǔ)句中。只用于循環(huán)語(yǔ)句中。47# include using namespace std; void main( ) int x, n, tot
19、al=0; coutn; for(x=1; x=n; x+) if (x%3!=0) continue; total+; coutn“之內(nèi)有之內(nèi)有”total“個(gè)數(shù)能被個(gè)數(shù)能被3整除整除”; 1.有如下程序段有如下程序段 int x=3; do x-=2; coutx; while(!(-x); 執(zhí)行這個(gè)程序的輸出結(jié)果為(執(zhí)行這個(gè)程序的輸出結(jié)果為( ) A. 1 B.30 C.1-2 D.死循環(huán)死循環(huán) C2006年等級(jí)考試試題年等級(jí)考試試題隨堂練習(xí)隨堂練習(xí)2.執(zhí)行下列語(yǔ)句段后,輸出結(jié)果是(執(zhí)行下列語(yǔ)句段后,輸出結(jié)果是( ) int i=0; while (i25) i+=3; couti; A
20、. 24 B.25 C.27 D.28 C2006等級(jí)考試試題等級(jí)考試試題3.執(zhí)行下列語(yǔ)句后,變量執(zhí)行下列語(yǔ)句后,變量sum的值是(的值是( ) int sum=0; for(int i=1;i=3;i+) for (int j=1;j=I;j+) sum+; 62007等級(jí)考試試題等級(jí)考試試題4.下面程序段的運(yùn)行結(jié)果為(下面程序段的運(yùn)行結(jié)果為( ) void main()() int i; for(i=1;i=4;i+) if(i%2)cout “*”; else continue; cout“#”; cout“$”endl; *#*#$5.下面程序段的運(yùn)行結(jié)果為(下面程序段的運(yùn)行結(jié)果為(
21、) int i=0,a=0,s=1;do a=a+s*i; s=-s; i+; while(i10);cout“a=“aendl; -554eg.求求n!(n由鍵盤(pán)輸入由鍵盤(pán)輸入)void main( ) int i,s,n; coutn; s=1; for (i=1; i=n;i+) s=s*i; couts; 【思考思考】求求 (即求即求1!+2!+10!)。)。 提示提示用雙重循環(huán)實(shí)現(xiàn)求和(外循環(huán)作累加,內(nèi)用雙重循環(huán)實(shí)現(xiàn)求和(外循環(huán)作累加,內(nèi)循環(huán)求階乘)循環(huán)求階乘) 101!nn eg.有一分?jǐn)?shù)序列有一分?jǐn)?shù)序列: 求這個(gè)數(shù)求這個(gè)數(shù)列前列前10項(xiàng)之和。項(xiàng)之和。 提示提示 觀察分子、分母變化
22、的規(guī)律。觀察分子、分母變化的規(guī)律。12233558分析分析 因?yàn)橐阎笄耙驗(yàn)橐阎笄?0項(xiàng)之和,所以利用項(xiàng)之和,所以利用for循循環(huán),循環(huán)環(huán),循環(huán)10次,每次算出當(dāng)前項(xiàng)次,每次算出當(dāng)前項(xiàng) ai ,并并把它加到和把它加到和 s上。上。57void main( )float a, b, t, s;int i;a=2; /* 分子分子 */b=1; /* 分母分母 */s=0; 保證后面分子、分母保證后面分子、分母相除得到的是小數(shù)相除得到的是小數(shù)58for(i=1;i=10;i+) /* 控制循環(huán)控制循環(huán)10次次 */s+=a / b;t =a; /*必須引入中間變量必須引入中間變量 t */ a=
23、a+b;b= t;coutsum=s;59e.g.求輸入的正整數(shù)求輸入的正整數(shù)m和和n的最大公約數(shù)的最大公約數(shù)算法算法 以以m=12,n=16為例說(shuō)明為例說(shuō)明循循 環(huán)環(huán)即即 輾轉(zhuǎn)相除法輾轉(zhuǎn)相除法: m%nr 若若r!=0,則則n m r n m%nr直到直到r=0時(shí),輸出此時(shí)的時(shí),輸出此時(shí)的n 即為所求。即為所求。60void main( ) int m,n,r;coutmn;61 r=m%n; while(r!=0)m=n;n=r;r=m%n; coutresult“ n; while( r )e.g.百元買(mǎi)百雞:用一百元錢(qián)買(mǎi)一百只雞。已知百元買(mǎi)百雞:用一百元錢(qián)買(mǎi)一百只雞。已知公雞公雞5元元
24、/只,母雞只,母雞3元元/只,小雞只,小雞1元元/3只。只。分析分析:這是個(gè)不定方程:這是個(gè)不定方程三元一次方程組問(wèn)三元一次方程組問(wèn)題(三個(gè)變量,兩個(gè)方程)題(三個(gè)變量,兩個(gè)方程) xyz=100 5x3yz/3=100設(shè)公雞為設(shè)公雞為x只,母雞為只,母雞為y只,小雞為只,小雞為z只。只。則則0 x 100、 0 y 100、 0 z 100void main( ) int x,y,z; for (x=0;x=100;x+) for (y=0;y=100;y+) for (z=0;z=100;z+) if (x+y+z=100 & 5*x+3*y+z/3.0=100 ) coutxyz; 【 討 論討 論 】 此 為此 為 “ 最 笨最 笨 ” 之
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人借款合同范本【常用版】8篇
- 公路路基工程施工合同
- 2025年江蘇貨運(yùn)從業(yè)資格證模擬考試下載什么軟件
- 中小企業(yè)合同管理流程控制
- 2025年迪慶貨運(yùn)從業(yè)資格證模擬考試題目
- 教育培訓(xùn)范文及案例分享
- 勞務(wù)分包合同臨建
- 訂餐配送合同7篇
- 合同協(xié)議鋼材采購(gòu)合同8篇
- 高層精裝二手房買(mǎi)賣(mài)合同書(shū)7篇
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類機(jī)電設(shè)備故障預(yù)測(cè)、診斷研究
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 企業(yè)承包經(jīng)營(yíng)合同范本
- 中學(xué)校長(zhǎng)2025春開(kāi)學(xué)典禮講話:以黃旭華之魂、DeepSeek 之智、哪吒之氣逐夢(mèng)新程
- 【課件】自然環(huán)境課件-2024-2025學(xué)年七年級(jí)地理下冊(cè)人教版
- 2025年01月公安部第三研究所公開(kāi)招聘人民警察筆試筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025-2030全球鋰電池用隔膜行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 《抖音高活躍群體研究報(bào)告》
- 2025年高考作文備考訓(xùn)練之二元思辨作文題目解析及范文:我與“別人”
評(píng)論
0/150
提交評(píng)論