C語(yǔ)言程序設(shè)計(jì)(第四版)(微課版)ch05 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第四版)(微課版)ch05 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第四版)(微課版)ch05 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第四版)(微課版)ch05 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第四版)(微課版)ch05 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5.1goto語(yǔ)句5.2while循環(huán)5.3do-while循環(huán)5.5break.continue語(yǔ)句5.6循環(huán)嵌套5.1goto語(yǔ)句一般形式:語(yǔ)句標(biāo)號(hào):語(yǔ)句

….…..goto語(yǔ)句標(biāo)號(hào);1.功能是無(wú)條件轉(zhuǎn)到語(yǔ)句標(biāo)號(hào)處。2.用途:與if語(yǔ)句一起構(gòu)成循環(huán)結(jié)構(gòu);從循環(huán)體中跳到循環(huán)體外。3.因?yàn)闉E用goto語(yǔ)句會(huì)破壞結(jié)構(gòu)化,使流程無(wú)規(guī)律,所以應(yīng)限制使用。除非不得已時(shí)(例如能大大提高效率)才使用。說(shuō)明:語(yǔ)句標(biāo)號(hào):1.用于定義程序中的某個(gè)位置。2.用標(biāo)識(shí)符表示,開(kāi)頭不能是數(shù)字。如:goto3t;錯(cuò)誤

gotot3;正確3.只能加在可執(zhí)行語(yǔ)句前面。用if語(yǔ)句和goto語(yǔ)句構(gòu)成循環(huán)

計(jì)算#include<stdio.h>main(){inti,sum=0;i=1;loop:if(i<=100){sum+=i; i++;

gotoloop;}printf("%d",sum);}sum=sum+1=1sum=sum+2=3sum=sum+3=6sum=sum+4=10……sum=sum+100=5050循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體分析:這是一個(gè)累加求和的問(wèn)題sum=1+2+3+…+100

5.2while語(yǔ)句用while語(yǔ)句實(shí)現(xiàn)當(dāng)型循環(huán)

當(dāng)表達(dá)式的值為真(非0)時(shí),執(zhí)行其中的內(nèi)嵌語(yǔ)句(循環(huán)體),然后回過(guò)頭來(lái)再判斷表達(dá)式的值,如此重復(fù);當(dāng)表達(dá)式為假(0)時(shí)結(jié)束循環(huán)。一般形式:while(表達(dá)式)

循環(huán)體語(yǔ)句表達(dá)式循環(huán)體假(0)真(非0)執(zhí)行過(guò)程:特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體。分析:累加求和的問(wèn)題

s=1+2+3+…+100s=0s=s+1s=s+2s=s+3……和的新值s=s+k和的當(dāng)前值求和項(xiàng)當(dāng)前值用while語(yǔ)句計(jì)算#include<stdio.h>main(){intk,s;s=0;k=1;while(k<=100){s=s+k;k++;}printf(“s=%d",s);}注意:s、k的初值及位置5.3do...while語(yǔ)句用do-while語(yǔ)句實(shí)現(xiàn)直到型循環(huán)

執(zhí)行循環(huán)體,當(dāng)表達(dá)式的值為真(非0)時(shí),再次執(zhí)行循環(huán)體,如此重復(fù);當(dāng)表達(dá)式為假(0)時(shí)結(jié)束循環(huán)。一般形式:do

循環(huán)體語(yǔ)句while(表達(dá)式);表達(dá)式循環(huán)體假(0)真(非0)執(zhí)行過(guò)程:先執(zhí)行循環(huán)體,后判斷表達(dá)式。循環(huán)體至少執(zhí)行一次。do-while語(yǔ)句可轉(zhuǎn)化成while語(yǔ)句?!?”不可省略例

用do-while語(yǔ)句計(jì)算#include<stdio.h>main(){intk,s;s=0;k=1;

while(k<=100){s=s+k;k++;}printf(“s=%d",s);}#include<stdio.h>main(){intk,s;s=0;k=1;

do{s=s+k;k++;}while(k<=100);printf(“s=%d",s);}先判后做先做后判5.4for循環(huán)最簡(jiǎn)單的應(yīng)用形式:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值;)

循環(huán)體語(yǔ)句例如:for(i=1;i<=100;i++)sum+=i;一般形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3;)

循環(huán)體語(yǔ)句(1)先求解表達(dá)式1。

(2)求解表達(dá)式2,若其值為真(值為非0),則執(zhí)行for語(yǔ)句中指定的循環(huán)體語(yǔ)句,然后執(zhí)行下面第(3)步。若為假(值為0),則結(jié)束循環(huán),轉(zhuǎn)到第(5)步。

(3)求解表達(dá)式3。

(4)轉(zhuǎn)回上面第(2)步驟繼續(xù)執(zhí)行。

(5)循環(huán)結(jié)束,執(zhí)行for語(yǔ)句下面的一個(gè)語(yǔ)句

執(zhí)行過(guò)程:例如:for(i=1;i<=100;i++)sum+=i;for(表達(dá)式1;表達(dá)式2;表達(dá)式3;)

循環(huán)體語(yǔ)句例用for語(yǔ)句計(jì)算#include<stdio.h>main(){intk,s;s=0;k=1;

while(k<=100){s=s+k;k++;}printf(“s=%d",s);}#include<stdio.h>main(){intk,s;s=0;k=1;

do{s=s+k;k++;}while(k<=100);printf(“s=%d",s);}先判后做先做后判#include<stdio.h>main(){intk,s;s=0;for(k=1;k<=100;k++)s=s+k;printf(“s=%d",s);}#include<stdio.h>main(){intk,s;s=0;

for(k=1;k<=100;k++)s=s+k;printf(“s=%d",s);}5.5break語(yǔ)句和continue語(yǔ)句break語(yǔ)句:break;功能:跳出switch結(jié)構(gòu);在循環(huán)語(yǔ)句中,終止并跳出本層循環(huán)。例

計(jì)算r=1到r=10的圓面積,直到面積大于100時(shí)停止。#definePI3.1415main(){

intr; floatarea;

for(r=1;r<=10;r++) {

area=PI*r*r;if(area>100)

break;

printf("r=%d,area=%.2f\n",r,area);

}}運(yùn)行結(jié)果:r=1,area=3.14r=2,area=12.57r=3,area=28.27r=4,area=50.26r=5,area=78.54r=6,area=113.094,退出循環(huán)continue語(yǔ)句:continue;功能:結(jié)束本次循環(huán),跳過(guò)本層循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷。說(shuō)明:continue僅用于循環(huán)語(yǔ)句中。一般與if一起使用例

把100-200之間不能被3整除的數(shù)輸出。main(){intn;for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%d",n);}}100110010121011020跳過(guò)printf語(yǔ)句說(shuō)明:continue語(yǔ)句只結(jié)束本次循環(huán);

break語(yǔ)句是終止本層循環(huán)的執(zhí)行;要從很多重循環(huán)的內(nèi)層跳到最外層,

可考慮用goto語(yǔ)句,但應(yīng)盡量少用。::

for()

{for()

{for()

{if()

gotoend;

}}

}end:printf(“error”);continue語(yǔ)句和break語(yǔ)句goto的區(qū)別5.6循環(huán)的嵌套分析:1.每行的起始位置不同,空格數(shù)遞減1。2.每行的字符數(shù)相同。3.用二重循環(huán)實(shí)現(xiàn):

外循環(huán)控制輸出行數(shù);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論