循環(huán)控制結(jié)構(gòu).pptx_第1頁(yè)
循環(huán)控制結(jié)構(gòu).pptx_第2頁(yè)
循環(huán)控制結(jié)構(gòu).pptx_第3頁(yè)
循環(huán)控制結(jié)構(gòu).pptx_第4頁(yè)
循環(huán)控制結(jié)構(gòu).pptx_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六章 循環(huán)控制結(jié)構(gòu),本節(jié)內(nèi)容,1 while循環(huán)結(jié)構(gòu) 2 do-while循環(huán)結(jié)構(gòu) 3 for循環(huán)結(jié)構(gòu) 4 嵌套循環(huán)語(yǔ)句,一般格式:,執(zhí)行流程:,for( 表達(dá)式1; 表達(dá)式2; 表達(dá)式3) 循環(huán)體語(yǔ)句 ,for 語(yǔ)句,for (k=1; k=4; k+),sum=sum+i,True,i = i + 1,退出循環(huán),for循環(huán)控制結(jié)構(gòu),for( i = 1; i=5; i+) sum=sum+i ;,課堂練習(xí),把5改為100,void main() int s = 0 , i; for( i=1;i=100 ;i+) s = s + i ; printf(“s=%dn”,s); ,12310

2、0,1,*,思考題:1+2!+3!+4!+5!,#include main() int i,j,sum=0,s; for(i=1;i=5;i+) s=1; for(j=1;j=i;j+)s=s*j; sum=sum+s; printf(sum=%dn,sum); ,求i的階乘:i!,求1+2!+3!+4!+5!之和,i是在1到5之間任取一個(gè)數(shù),循環(huán)嵌套,是否看過(guò)盜夢(mèng)空間電影?-謎團(tuán)重重 六層夢(mèng)境,六度輪回 第1層飛車槍戰(zhàn)-街頭飛車 第2層真空搏斗-豪華的酒店(第1層面包車正在墜河) 第3層雪地廝殺 第4層情感糾葛-柯布和妻子梅爾建造的潛意識(shí)邊緣 第5層夢(mèng)境邊緣-喚醒齊藤,兩人穿越回到現(xiàn)實(shí) 第6

3、層亦真亦幻-柯布在飛機(jī)上醒來(lái),“只要陀螺不停,他就會(huì)在夢(mèng)中保持清醒”,循環(huán)嵌套,雞兔共籠,解方程組,解決問(wèn)題的一般步驟,實(shí)際 問(wèn)題 (百雞),抽象、 簡(jiǎn)化、 假設(shè)確 定變量,建立數(shù) 學(xué)模型,求解 模型 (編程),cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100,cocks-雞公 hens-母雞 chicks-小雞,已知2000年我國(guó)的人口是12.66億,如果在以后的5年內(nèi)人口每年平均增長(zhǎng)1.07%,問(wèn)到2005年我國(guó)的人口是多少 ?,P = 12.66: R = 0.0107,P = P * (1 + R),for ( i = ; i= ; i

4、+),2001,2005,程序的關(guān)鍵代碼如下:,while( ) ,p = p * (1 + r);,n = n + 1;,p = 12.66, r = 0.0107, n = 0;,p13,條件性循環(huán),While循環(huán),條件性循環(huán),Dowhile循環(huán),while 語(yǔ)句,1. while循環(huán)語(yǔ)句的形式 while(表達(dá)式) 循環(huán)語(yǔ)句,先判斷條件,后執(zhí)行語(yǔ)句,表達(dá)式,語(yǔ)句,零,非零,2. 執(zhí)行過(guò)程:,跳出循環(huán),此處無(wú) ;,例1:求,main() int i=1,sum=0; while (i=100) sum=sum+i; i+; printf(%d,sum); ,注意: (1)循環(huán)體如果包含一個(gè)

5、以上的語(yǔ)句,應(yīng)該用花括弧括起來(lái),以復(fù)合語(yǔ)句形式出現(xiàn). (2)在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語(yǔ)句,while 語(yǔ)句,1. do-while循環(huán)語(yǔ)句的形式 do 循環(huán)體 while(條件表達(dá)式);,先執(zhí)行語(yǔ)句,后判斷條件,2. 執(zhí)行過(guò)程,此處有;,do-while 語(yǔ)句,例2:用do-while型循環(huán)求:,main() int i=1, sum=0; do sum=sum+i; i+; while (i=100); printf(%d,sum); ,do-while 語(yǔ)句,【例5.3】while和do-while循環(huán)的比較。,#include stdio.h void main() int su

6、m = 0, i; scanf(%d, ,?,#include stdio.h void main() int sum = 0, i; scanf(%d, ,運(yùn)行結(jié)果: 1 sum=55 再運(yùn)行一次: 11 sum=0,運(yùn)行結(jié)果: 1 sum=55 再運(yùn)行一次: 11 sum=11,結(jié)論: (1) dowhile循環(huán)語(yǔ)句首先執(zhí)行循環(huán)體,然后計(jì)算表達(dá)式并檢查循環(huán)條件,所以循環(huán)體至少執(zhí)行一次。 (2)退出dowhile循環(huán)的條件與退出while循環(huán)的條件相同,do-while 語(yǔ)句,6.3 for 語(yǔ)句總結(jié),用上述三種循環(huán)語(yǔ)句求,while語(yǔ)句:,n = 1; s = 1; while (n=10

7、0) s=s*n; n+; ,n = 1; s = 1; do s = s*n; n +; while(n=100);,do-while語(yǔ)句:,for (n = 1,s = 1; n=100; n+) s=s*n;,for語(yǔ)句:,6.3 for 語(yǔ)句使用格式說(shuō)明,for( 循環(huán)變量賦初值; 循環(huán)條件; 循環(huán)變量增值) 循環(huán)體語(yǔ)句 ,說(shuō)明: for語(yǔ)句中任意一個(gè)表達(dá)式均可省,但分號(hào)“;”不可省! (1)省略“表達(dá)式1”,此時(shí)在for語(yǔ)句之前給循環(huán)變量賦初值。如 for( ;i=100;i+) sum=sum+i; 執(zhí)行時(shí),跳過(guò)“求解表達(dá)式1”這一步,其他不變。,i=1; for ( ; i=10

8、0; i+) sum=sum+i;,for 語(yǔ)句使用格式說(shuō)明,for( 循環(huán)變量賦初值; 循環(huán)條件 ; 循環(huán)變量增值) 循環(huán)體語(yǔ)句 ,說(shuō)明: (2) 省略表達(dá)式2: 即不判斷循環(huán)條件,認(rèn)為表達(dá)式2始終為真。 例如: for(i=1; ;i+) sum=sum+i; 它相當(dāng)于: i = 1; while( 1 ) sum = sum + 1; i+; ,for 語(yǔ)句使用格式說(shuō)明,for( 循環(huán)變量賦初值; 循環(huán)條件; 循環(huán)變量增值) 循環(huán)體語(yǔ)句 ,說(shuō)明: (3)省略表達(dá)式3: 此時(shí)程序設(shè)計(jì)者應(yīng)另外設(shè)法保證循環(huán)能正常結(jié)束。如: for(i=1; i=100; ) sum = sum + i; i+

9、; ,for語(yǔ)句的使用格式靈活! 表達(dá)式類型任意,可省略,但分號(hào)“;”不可省 當(dāng)表達(dá)式2被省略時(shí),需要在循環(huán)體中設(shè)置循環(huán)結(jié)束語(yǔ)句,否則構(gòu)成死循環(huán) 無(wú)限循環(huán): for( ; ; ) 括號(hào)后邊的表達(dá)式可以是任意有效的C語(yǔ)言表達(dá)式,for(i=1; ; i+) if ( i100 ) break; sum+=i; ,6.3 for 語(yǔ)句總結(jié),for(i=1; ; i+) sum+=i;,for(i=1; 1; i+) sum+=i;,break和continue語(yǔ)句,1、 break語(yǔ)句 一般形式:break; 功能: 在switch語(yǔ)句中,結(jié)束case分支,跳出switch語(yǔ)句 在循環(huán)語(yǔ)句,終止并

10、跳出循環(huán)體 說(shuō)明: break只能終止并跳出最近一層的結(jié)構(gòu) break只能用于循環(huán)語(yǔ)句和switch語(yǔ)句中,break和continue語(yǔ)句,26,break和continue語(yǔ)句,2、 continue語(yǔ)句 一般形式: continue; 功能: 結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷 說(shuō)明: 僅用于循環(huán)語(yǔ)句中 continue 語(yǔ)句僅結(jié)束本次循環(huán)。 break語(yǔ)句則是結(jié)束整個(gè)循環(huán)過(guò)程。,break和continue語(yǔ)句,break和continue語(yǔ)句,while循環(huán),(21)有以下程序【2010年9月】 #include main() int y=10;

11、 while(y-) ; printf(y=%dn,y); 程序執(zhí)行后的輸出結(jié)果是 A)y=0 B)y= -1 C)y=1D)while構(gòu)成無(wú)限循環(huán),while循環(huán),真題3 :下列程序的輸出結(jié)果是 。2007.9 #include main( ) int n=12345,d; while(n! =0) d=n%10;printf(%d,d);n/=10; ,答案:54321,do while循環(huán),真題2:下列程序的功能是:將輸入的正整數(shù)按逆序輸出。例如,若輸入135則輸出531。請(qǐng)?zhí)羁??!?006.9】 #include main ( ) int n, s; scanf(%d, ,答案:n=n

12、/10,21、有以下程序 #include main() int s=0,n; for (n=0;n3;n+) switch(s) case 0: case 1:s+=1; case 2:s+=2;break; case 3:s+3; case 4:s+=4; printf(%dn,s); 程序運(yùn)行后的結(jié)果是 A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,10,真題5:有以下程序【2008.9】 #include main() int i=5; do if(i%3=1) if(i%5=2) printf(*%d,i);break; i+; while(i!=0); printf(n); 程序的運(yùn)行結(jié)果是 A)*7 B)*3*5 C)*5 D)*2*6,break語(yǔ)句,continue語(yǔ)句,真題:執(zhí)有以下程序 #include main( ) int x=8; for( ; x0;x-) if(x%3)printf(%d, ,x-);continue; printf(%d, ,-x); 程序的運(yùn)行結(jié)果是( )?!?008.4】 A)7,4,2, B)8,7,5,2, C)9,7

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論