资源描述:
《武汉大学C课件第07讲(05级).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七讲Begin:第五章循环结构程序设计continue语句和break语句循环的嵌套goto语句1、continue语句格式:continue;功能:结束本次循环,使程序回行到循环条件,判断是否提前进入下一次循环。continue语句只用于循环结构的内部,常与if语句联合起来使用,以便在满足条件时提前结束本次循环。5.4continue语句和break语句例对除5的倍数以外的1~100的数求和。main(){inti,s;s=0;for(i=1;i<=100;i++){if(!(i%5))continue;s+=i;printf(“%d,%d
2、”,i,s);}}如果if判断语句为真,则跳出本次循环,回到循环条件,判断是否进行下一次循环此处,当i为5的倍数时,!(i%5)为真,跳出本次循环,不执行continue下面的语句,直接进入下一次循环,即执行for语句运行序列如下:iif(!(i%5))s+=i1假s=0+1=12假s=1+2=33假s=3+3=64假s=6+4=105真不执行6假s=10+6=16………………5.4continue语句和break语句main(){intn,s;for(n=1,s=0;n<=20;n=n+1){if(n%3==0)continue;prin
3、tf("%dt",n);s=s+1;}printf("total:%d",s);}例统计1~50之间不能被3整除的数的个数并输出这些数。运行结果:245781011131416171920total:145.4continue语句和break语句格式:break;功能:循环体中遇见break语句,立即结束循环,跳到循环体外,执行循环结构后面的语句。2、break语句在循环体中break语句常与if语句搭配使用,并且break语句只能用在switch语句和循环语句中。break只能跳出一层循环(或者一层switch语句结构)5.4con
4、tinue语句和break语句例统计输入的字符个数,并输出它们,以“!”终止。main(){charchr;ints;for(s=0;;s++){chr=getchar();if(chr==‘!’)break;elseprintf(“%c”,chr);}printf(“s=%d”,s);}如果if判断语句为真,则结束循环,执行循环结构后面的语句此处,当输入字符为“!”时,chr==‘!’为真,结束for循环,执行循环结构后面的语句,即执行printf(“s=%d”,s)语句运行序列如下:输入if(chr==‘!’)输出a假a5假5$假$
5、B假B!真45.4continue语句和break语句例计算半径r=1到r=10时圆的面积,直到面积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语句一个循环体内又包含另一个完整的循环结构,称为循环的嵌套,内嵌的循环中还可以嵌套循环即为多层循环。说明:⑴嵌套的原则:不允许交叉⑵循环与分支可以相互嵌套但不允许交叉。5
6、.5循环的嵌套********************************输出图形:for(i=1;i<=4;i++){printf(“********”);printf(“”);}5.5循环的嵌套其中语句:printf(“********”);等价于for(j=1;j<=8;j++)printf(“*”);于是构成了二重循环语句:for(i=1;i<=4;i++){for(j=1;j<=8;j++)printf(“*”);printf(“”);}5.5循环的嵌套上面的例子中:外循环由外循环控制变量i控制,i由1递增到4。for(i
7、=1;i<=4;i++){for(j=1;j<=8;j++)printf(“*”);printf(“”);}每1次的外循环中,都要执行由内循环控制变量j控制的8次内循环操作和1次换行操作。由此:每次内循环输出一个星号,外循环输出一行(8个)星号,4次外循环,输出了4行8列星号。5.5循环的嵌套n=1;while(n<=3){printf("输出外循环n=%d",n);i=1;while(i<=2){printf("1)输出内循环i=%d",i);i++;}j=1;while(j<=3){printf("2)输出内循环j=%d",
8、j);j++;}n++;}例读程序,写出运行结果:5.5循环的嵌套输出外循环n=11)输出内循环i=11)输出内循环i=22)输出内循环j=12)输出