《循环的嵌套》PPT课件

《循环的嵌套》PPT课件

ID:38837125

大小:287.82 KB

页数:26页

时间:2019-06-20

上传者:U-145848
《循环的嵌套》PPT课件_第1页
《循环的嵌套》PPT课件_第2页
《循环的嵌套》PPT课件_第3页
《循环的嵌套》PPT课件_第4页
《循环的嵌套》PPT课件_第5页
资源描述:

《《循环的嵌套》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

第7讲循环的嵌套一、continue语句和break语句1、continue语句2、break语句二、循环的嵌套三、goto语句 一、continue语句和break语句1、continue语句格式:continue;功能:结束本次循环,使程序回行到循环条件,判断是否提前进入下一次循环。continue语句只用于循环结构的内部,常与if语句联合起来使用,以便在满足条件时提前结束本次循环。 例7.1对除5的倍数以外的1~100的数求和。main(){inti,s;s=0;for(i=1;i<=100;i++){if(!(i%5))continue;s+=i;}}如果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……………… main(){intn,s;for(n=1,s=0;n<=20;n=n+1){if(n%3==0)continue;printf("%dt",n);s=s+1;}printf(" total:%d ",s);}例7.2统计1~50之间不能被3整除的数的个数并输出这些数。运行结果:245781011131416171920total:14 格式:break;功能:循环体中遇见break语句,立即结束循环,跳到循环体外,执行循环结构后面的语句。2、break语句在循环体中break语句常与if语句搭配使用,并且break语句只能用在switch语句和循环语句中。break只能跳出一层循环(或者一层switch语句结构) 例7.3统计输入的字符个数,并输出它们,以“!”终止。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$假$B假B!真4 例7.4计算半径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);}} 二、循环的嵌套一个循环体内又包含另一个完整的循环结构,称为循环的嵌套,内嵌的循环中还可以嵌套循环即为多层循环。说明:⑴嵌套的原则:不允许交叉⑵循环与分支可以相互嵌套但不允许交叉。 ********************************输出图形:for(i=1;i<=4;i++){printf(“********”);printf(“ ”);} 其中语句:printf(“********”);等价于for(j=1;j<=8;j++)printf(“*”);于是构成了二重循环语句:for(i=1;i<=4;i++){for(j=1;j<=8;j++)printf(“*”);printf(“ ”);} 上面的例子中:外循环由外循环控制变量i控制,i由1递增到4。for(i=1;i<=4;i++){for(j=1;j<=8;j++)printf(“*”);printf(“ ”);}每1次的外循环中,都要执行由内循环控制变量j控制的8次内循环操作和1次换行操作。由此:每次内循环输出一个星号,每次外循环输出一行(8个)星号,4次外循环,输出了4行8列星号。 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 ",j);j++;}n++;}例7.5读程序,写出运行结果: 输出外循环n=11)输出内循环i=11)输出内循环i=22)输出内循环j=12)输出内循环j=22)输出内循环j=3输出外循环n=2输出结果:1)输出内循环i=11)输出内循环i=22)输出内循环j=1……输出外循环n=31)输出内循环i=1…… 例7.6输出九九乘法表1*1=11*2=22*2=41*3=32*3=63*3=9······1*9=92*9=18······9*9=81递增1~9递增9~9递增3~9递增2~9相同为1相同为2相同为3相同为9 外循环内循环 main(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%2d",i,j,i*j);printf(" ");}}程序: 例7.7输出3~100中的所有素数。分析:1)对于某个数n,如果从2到n-1都不能被n整除,则该数n为素数。此处,除数2到n可以用一个for语句来表示:for(i=2;i<=n-1;i=i+1)2)对于3~100之间的数,可以表示如下:for(n=3;n<=100;n=n+1) main(){intn,i;for(n=3;n<=100;n=n+1){for(i=2;i<=n-1;i=i+1)if(n%i==0)break;if(i>=n)printf("%dt",n);}}程序: 例7.8读程序段,写出输出结果:for(i=1;i<=2;i++){for(j=1;j<=3;j++){for(k=1;k<=4;j++)printf(“*”);printf(“ ”);} ************************输出如下图形:i从1到2k从1到4j从1到3 例7.9输出如下图形:************************************* *************************************分析:共有5行,外循环i:1~5第一行输出4个空格,1个星号第三行输出2个空格,5个星号第二行输出3个空格,3个星号第五行输出0个空格,9个星号……空格用循环变量j控制,j=5-i星号用循环变量k控制,k=2i-1 程序:main(){inti,j,k;for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)printf(“”);for(k=1;k<=2i-1;j++)printf(“*”);printf(“ ”);}} 练习7.10输入一个整数n,输出如下回文塔。112112321n=3时n=5时1121123211234321123454321 三、goto语句格式:goto语句标号;······标号:语句;作用:1)与if语句构成循环结构。2)从循环体中强制退出。 说明:1)goto语句为无条件转向语句。goto语句可以从循环体内跳出循环,尤其在多层循环中,使用goto语句可以跳到任意一层循环体内。2)标号的命名规则同变量名。3)goto语句不符合结构化程序设计原则,一般不主张使用。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭