5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt

5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt

ID:49205289

大小:187.00 KB

頁數(shù):22頁

時(shí)間:2020-02-01

5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt_第1頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt_第2頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt_第3頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt_第4頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt_第5頁
資源描述:

《5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)5.1問題的提出與程序示例循環(huán)結(jié)構(gòu)的特點(diǎn)是:根據(jù)給定條件成立與否來決定是否反復(fù)執(zhí)行某個(gè)程序段。C語言中可以用以下語句來實(shí)現(xiàn)循環(huán):⑴用goto語句和if語句構(gòu)成循環(huán);⑵用while語句;⑶用do_while語句;⑷用for語句。5.2while語句格式:While(表達(dá)式)循環(huán)體功能:計(jì)算表達(dá)式的值,當(dāng)表達(dá)式的值為非0(真)時(shí),就反復(fù)執(zhí)行循環(huán)體。若表達(dá)式的值為假(0),則結(jié)束循環(huán)。循環(huán)體中的語句超過一句時(shí),要使用{}Ae真假流程圖最常見的循環(huán)語句是通過計(jì)數(shù)控制循環(huán)體的執(zhí)行次數(shù)。inti=0,sum=0;while(i

2、<=20){sum=sum+i;i++;}printf(“sum=%d”,sum);另一種是使用用戶輸入的一個(gè)特殊值來結(jié)束循環(huán)。charc;c=getchar();while(c!=‘$’){putchar(c);c=getchar();}putchar(‘’);注意循環(huán)次數(shù)的控制要正確。比如循環(huán)控制變量或特殊的條件。如果用循環(huán)變量控制,要注意循環(huán)變量的初值和控制條件,一定要在循環(huán)體中改變循環(huán)變量,使得循環(huán)能趨于結(jié)束,否則會出現(xiàn)死循環(huán)。(P99例5.4,例5.6)建議:即便循環(huán)體只有一個(gè)簡單語句,也用花括號括起來。循環(huán)條件中一般是邏

3、輯表達(dá)式和關(guān)系表達(dá)式,也可以是算數(shù)表達(dá)式(非0為真,0為假)。一般地,表達(dá)式中應(yīng)含有變量(循環(huán)控制變量)。while(3)和while(0)雖然從程序設(shè)計(jì)的角度上說是不合理的,但是合法的。(例5.7)如果程序出現(xiàn)死循環(huán),編譯連接時(shí)不會顯示錯(cuò)誤。運(yùn)行時(shí)可以使用Ctrl+break結(jié)束死循環(huán)。例:輸出100---999之間所有能被7整除的數(shù),并統(tǒng)計(jì)共有幾個(gè)這樣的數(shù).因?yàn)橐獙σ慌鷶?shù)據(jù)中的每一個(gè)數(shù)判斷是否能被7整除,所以要用循環(huán)結(jié)構(gòu)。假設(shè)使用x作為循環(huán)控制變量,則x初始值為100,當(dāng)x>999時(shí)結(jié)束。在循環(huán)體內(nèi),需要判斷x是否能被7整除,所以要

4、使用分支結(jié)構(gòu)。如果能整除要輸出x,并記錄個(gè)數(shù),假設(shè)用變量n記錄能被7整除的數(shù)的個(gè)數(shù),則n初始值為0main(){intx=100,n=0;while(x<=999){if(x%7==0){printf("%5d",x);n++;}x++;}printf(“n=%d",n);}main(){inti,sum;i=0,sum=0;while(i<=100){sum=sum+i;i=i+7;}printf("%d",sum);}把0—100所有7的倍數(shù)(或所有能被7整除的數(shù))相加.賦初值循環(huán)條件循環(huán)控制變量發(fā)生變化循環(huán)體例:閱讀以下程序m

5、ain(){inti=1;while(i<=10){printf("%d*%d=%d",i,i,i*i);i++;}}運(yùn)行結(jié)果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100如果把i++和printf語句的次序交換,會出現(xiàn)什么結(jié)果?怎么樣修改可以使程序結(jié)果仍然如右圖所示?例:程序的執(zhí)行結(jié)果是什么While循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)體循環(huán)體有可能一次也不執(zhí)行main(){intx=10;while(x==0){x=x-1;}printf("%d",x);}5

6、.3do…while語句格式:do循環(huán)體while(表達(dá)式);功能:首先執(zhí)行循環(huán)體,然后判斷表達(dá)式的值,若非0(真),就反復(fù)執(zhí)行循環(huán)體,直到表達(dá)式的值為0,結(jié)束循環(huán).Ae真假流程圖注意:do…while與while的區(qū)別是:do…while總是要先進(jìn)行一遍循環(huán),再進(jìn)行表達(dá)式的判斷,因此循環(huán)體中的語句至少要執(zhí)行一次。所以有些程序不能使用do…while語句完成;有些能使用兩種語句,但在循環(huán)控制上有所不同。比較例5.2和例5.9,例5.3和例5.10為了避免編譯系統(tǒng)把do…while語句的while當(dāng)作while語句的開始,do…while

7、循環(huán)體中的語句即使只有一句,也需要采用分程序結(jié)構(gòu),用{}括起來。例用do…while編程求s=1+2+3+…+100main(){ints=0,k=1;do{s=s+k;k++;}while(k<=100);printf("s=%d",s);}賦初值循環(huán)條件循環(huán)控制變量發(fā)生變化循環(huán)體5.4for語句格式:For(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體功能計(jì)算表達(dá)式1計(jì)算表達(dá)式2,判斷表達(dá)式2是否為真,若為真,執(zhí)行循環(huán)體中的語句,若為假,循環(huán)結(jié)束,跳到for語句下面的一個(gè)語句計(jì)算表達(dá)式3跳轉(zhuǎn)到第②步執(zhí)行初值循環(huán)條件循環(huán)控制變量的改變表達(dá)

8、式1表達(dá)式2真假流程圖循環(huán)體語句表達(dá)式3注意for語句完全可以用while代替,但for直觀、簡單、方便for用while代替的流程表達(dá)式1;while(表達(dá)式2){語句;表達(dá)式3;}可以省略表達(dá)式1,但須

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。