資源描述:
《《C語(yǔ)言循環(huán)結(jié)構(gòu)》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、while語(yǔ)句一般形式:while(循環(huán)條件表達(dá)式)循環(huán)體;執(zhí)行流程:條件循環(huán)體假(0)真(非0)while4.5循環(huán)結(jié)構(gòu)特點(diǎn):先判斷表達(dá)式,再執(zhí)行循環(huán)體說(shuō)明:循環(huán)體有可能一次也不執(zhí)行原因:初始條件不成立循環(huán)體可為任意類型語(yǔ)句無(wú)限循環(huán):while(1)循環(huán)體;例用while循環(huán)求#include“stdio.h”main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體例顯示1~10的平方#include“stdio.h”main(){inti=1;while(i<=10)
2、{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=100do~while語(yǔ)句一般形式:do循環(huán)體;while(循環(huán)條件表達(dá)式);執(zhí)行流程:do循環(huán)體條件假(0)真(非0)特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式說(shuō)明:至少執(zhí)行一次循環(huán)體do~while可轉(zhuǎn)化成while結(jié)構(gòu)條件循環(huán)體假(0)真(非0)循環(huán)體While循環(huán)例用do~while循環(huán)求#include“stdio.h”main(){inti,sum=0;i=1;do{sum+=i;i++;}whil
3、e(i<=100);printf("%d",sum);}(思考:分別輸入5和15,兩個(gè)程序的結(jié)果是否相同?)#include“stdio.h”main(){inti,sum=0;scanf("%d",&i);do{sum+=i;i++;}while(i<=10);printf("%d",sum);}#include“stdio.h”main(){inti,sum=0;scanf("%d",&i);while(i<=10){sum+=i;i++;}printf("%d",sum);}例:while和do~while比較for語(yǔ)句一般形式:for(expr1;expr2;expr3)循環(huán)體語(yǔ)句;執(zhí)
4、行流程:expr2循環(huán)體假(0)真(非0)forexpr1expr3for語(yǔ)句一般應(yīng)用形式:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量的修改){循環(huán)體;}說(shuō)明:for語(yǔ)句中expr1,expr2,expr3類型任意,都可省略,但分號(hào);不可省for語(yǔ)句可以轉(zhuǎn)換成while結(jié)構(gòu)expr1;while(expr2){循環(huán)體語(yǔ)句;expr3;}例用for循環(huán)求#include“stdio.h”main(){inti,sum=0;for(i=1;i<=100;i++)sum+=i;printf("%d",sum);}例1:main(){inti,sum=0;for(i=1;i<=100;i++)sum+
5、=i;printf(“%d”,sum);}例2:main(){inti=1,sum=0;for(;i<=100;i++)sum+=i;printf(“%d”,sum);}例3:main(){inti=1,sum=0;for(;i<=100;sum+=i,i++);printf(“%d”,sum);}main(){inti,j,k;for(i=0,j=100;i<=j;i++,j--){k=i+j;printf("%d+%d=%d",i,j,k);}}0+100=1001+99=100……..50+50=100流程轉(zhuǎn)向語(yǔ)句break語(yǔ)句功能:在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出所在的結(jié)
6、構(gòu)說(shuō)明:break只能終止并跳出最近一層的結(jié)構(gòu)break不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其它語(yǔ)句之中expr……break;……假(0)真(非0)whiledo……break;…...expr假(0)真(非0)whileexpr2……break;…...假(0)真(非0)forexpr1expr3switchexpr語(yǔ)句組1break;語(yǔ)句組2break;語(yǔ)句組nbreak;語(yǔ)句組break;…...const1const2constndefaultcase例:main(){inti=1,sum=0:for(;;){sum+=i;i++;if(i>100)break;}printf
7、(“sum=%d”,sum);}本程序中,當(dāng)i>100時(shí),強(qiáng)行終止for循環(huán),繼續(xù)執(zhí)行for語(yǔ)句下一條語(yǔ)句。break舉例:當(dāng)半徑從1到10時(shí),分別輸出圓面積,面積大于100時(shí)停止#definePI3.14159main(){intr;floatarea;for(r=1;r<=10;r++){area=PI*r*r;if(area>100)break;printf("r=%d,area=%.2f