資源描述:
《C課件第07講.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第七講Begin:第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)continue語句和break語句循環(huán)的嵌套goto語句1、continue語句格式:continue;功能:結(jié)束本次循環(huán),使程序回行到循環(huán)條件,判斷是否提前進(jìn)入下一次循環(huán)。continue語句只用于循環(huán)結(jié)構(gòu)的內(nèi)部,常與if語句聯(lián)合起來使用,以便在滿足條件時(shí)提前結(jié)束本次循環(huán)。5.4continue語句和break語句例對除5的倍數(shù)以外的1~100的數(shù)求和。main(){inti,s;s=0;for(i=1;i<=100;i++){if(!(i%5))continue;s+=i;print
2、f(“%d,%d”,i,s);}}如果if判斷語句為真,則跳出本次循環(huán),回到循環(huán)條件,判斷是否進(jìn)行下一次循環(huán)此處,當(dāng)i為5的倍數(shù)時(shí),!(i%5)為真,跳出本次循環(huán),不執(zhí)行continue下面的語句,直接進(jìn)入下一次循環(huán),即執(zhí)行for語句運(yùn)行序列如下:iif(!(i%5))s+=i1假s=0+1=12假s=1+2=33假s=3+3=64假s=6+4=105真不執(zhí)行6假s=10+6=16………………5.4continue語句和break語句main(){intn,s;for(n=1,s=0;n<=20;n=n+1){if(n%3=
3、=0)continue;printf("%dt",n);s=s+1;}printf("total:%d",s);}例統(tǒng)計(jì)1~50之間不能被3整除的數(shù)的個(gè)數(shù)并輸出這些數(shù)。運(yùn)行結(jié)果:245781011131416171920total:145.4continue語句和break語句格式:break;功能:循環(huán)體中遇見break語句,立即結(jié)束循環(huán),跳到循環(huán)體外,執(zhí)行循環(huán)結(jié)構(gòu)后面的語句。2、break語句在循環(huán)體中break語句常與if語句搭配使用,并且break語句只能用在switch語句和循環(huán)語句中。break只能跳出一層
4、循環(huán)(或者一層switch語句結(jié)構(gòu))5.4continue語句和break語句例統(tǒng)計(jì)輸入的字符個(gè)數(shù),并輸出它們,以“!”終止。main(){charchr;ints;for(s=0;;s++){chr=getchar();if(chr==‘!’)break;elseprintf(“%c”,chr);}printf(“s=%d”,s);}如果if判斷語句為真,則結(jié)束循環(huán),執(zhí)行循環(huán)結(jié)構(gòu)后面的語句此處,當(dāng)輸入字符為“!”時(shí),chr==‘!’為真,結(jié)束for循環(huán),執(zhí)行循環(huán)結(jié)構(gòu)后面的語句,即執(zhí)行printf(“s=%d”,s)語句
5、運(yùn)行序列如下:輸入if(chr==‘!’)輸出a假a5假5$假$B假B!真45.4continue語句和break語句例計(jì)算半徑r=1到r=10時(shí)圓的面積,直到面積area大于100為止。#definepi3.14159main(){intr;floatarea;for(r=1;r<=10;r++){area=pi*r*r;if(area>100)break;printf(“%f”,area);}}5.4continue語句和break語句一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套,內(nèi)嵌的循環(huán)中還可以嵌套循環(huán)即為
6、多層循環(huán)。說明:⑴嵌套的原則:不允許交叉⑵循環(huán)與分支可以相互嵌套但不允許交叉。5.5循環(huán)的嵌套********************************輸出圖形:for(i=1;i<=4;i++){printf(“********”);printf(“”);}5.5循環(huán)的嵌套其中語句:printf(“********”);等價(jià)于for(j=1;j<=8;j++)printf(“*”);于是構(gòu)成了二重循環(huán)語句:for(i=1;i<=4;i++){for(j=1;j<=8;j++)printf(“*”);printf(“
7、n”);}5.5循環(huán)的嵌套上面的例子中:外循環(huán)由外循環(huán)控制變量i控制,i由1遞增到4。for(i=1;i<=4;i++){for(j=1;j<=8;j++)printf(“*”);printf(“”);}每1次的外循環(huán)中,都要執(zhí)行由內(nèi)循環(huán)控制變量j控制的8次內(nèi)循環(huán)操作和1次換行操作。由此:每次內(nèi)循環(huán)輸出一個(gè)星號,外循環(huán)輸出一行(8個(gè))星號,4次外循環(huán),輸出了4行8列星號。5.5循環(huán)的嵌套n=1;while(n<=3){printf("輸出外循環(huán)n=%d",n);i=1;while(i<=2){printf("1)輸出內(nèi)循
8、環(huán)i=%d",i);i++;}j=1;while(j<=3){printf("2)輸出內(nèi)循環(huán)j=%d",j);j++;}n++;}例讀程序,寫出運(yùn)行結(jié)果:5.5循環(huán)的嵌套輸出外循環(huán)n=11)輸出內(nèi)循環(huán)i=11)輸出內(nèi)循環(huán)i=22)輸出內(nèi)循環(huán)j=12)輸出