全国计算机二级C语言程序设计讲义循环的嵌套.ppt

上传人:小飞机 文档编号:5233535 上传时间:2023-06-16 格式:PPT 页数:26 大小:212.99KB
返回 下载 相关 举报
全国计算机二级C语言程序设计讲义循环的嵌套.ppt_第1页
第1页 / 共26页
全国计算机二级C语言程序设计讲义循环的嵌套.ppt_第2页
第2页 / 共26页
全国计算机二级C语言程序设计讲义循环的嵌套.ppt_第3页
第3页 / 共26页
全国计算机二级C语言程序设计讲义循环的嵌套.ppt_第4页
第4页 / 共26页
全国计算机二级C语言程序设计讲义循环的嵌套.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《全国计算机二级C语言程序设计讲义循环的嵌套.ppt》由会员分享,可在线阅读,更多相关《全国计算机二级C语言程序设计讲义循环的嵌套.ppt(26页珍藏版)》请在三一办公上搜索。

1、第7讲 循环的嵌套,一、continue 语句和 break 语句 1、continue语句 2、break语句二、循环的嵌套三、goto语句,一、continue 语句和 break 语句,1、continue语句,格式:continue;,功能:结束本次循环,使程序回行到循环条件,判断是否提前进入下一次循环。,continue语句只用于循环结构的内部,常与if语句联合起来使用,以便在满足条件时提前结束本次循环。,例7.1 对除5的倍数以外的1100的数求和。,main()int i,s;s=0;for(i=1;i=100;i+)if(!(i%5)continue;s+=i;,如果if判断语

2、句为真,则跳出本次循环,回到循环条件,判断是否进行下一次循环,此处,当i为5的倍数时,!(i%5)为真,跳出本次循环,不执行continue下面的语句,直接进入下一次循环,即执行for语句,运行序列如下:i if(!(i%5)si 1 假 s=0+1=1 2 假 s=1+2=3 3 假 s=3+3=6 4 假 s=6+4=10 5 真 不执行 6 假 s=10+6=16,main()int n,s;for(n=1,s=0;n=20;n=n+1)if(n%3=0)continue;printf(%dt,n);s=s+1;printf(ntotal:%dn,s);,例7.2 统计150之间不能被3

3、整除的数的个数并输出这些数。,运行结果:2 4 5 7 8 10 11 13 14 16 17 19 20total:14,格式:break;功能:循环体中遇见break语句,立即结束循环,跳到循环体外,执行循环结构后面的语句。,2、break语句,在循环体中break语句常与if语句搭配使用,并且break语句只能用在switch语句和循环语句中。,break只能跳出一层循环(或者一层switch语句结构),例7.3 统计输入的字符个数,并输出它们,以“!”终止。,main()char chr;int s;for(s=0;s+)chr=getchar();if(chr=!)break;els

4、e printf(“c%”,chr);printf(“s=%dn”,s);,如果if判断语句为真,则结束循环,执行循环结构后面的语句,此处,当输入字符为“!”时,chr=!为真,结束for循环,执行循环结构后面的语句,即执行printf(“s=%dn”,s)语句,运行序列如下:输入 if(chr=!)输出 a 假 a 5 假 5$假$B 假 B!真 4,例7.4 计算半径r=1到r=10时圆的面积,直到面积area大于100为止。,#define pi 3.14159main()int r;float area;for(r=1;r100)break;printf(“%f”,area);,二、循

5、环的嵌套,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套,内嵌的循环中还可以嵌套循环即为多层循环。,说明:嵌套的原则:不允许交叉 循环与分支可以相互嵌套但不允许交叉。,*,输出图形:,for(i=1;i=4;i+)printf(“*”);printf(“n”);,其中语句:printf(“*”);等价于,for(j=1;j=8;j+)printf(“*”);,于是构成了二重循环语句:,for(i=1;i=4;i+)for(j=1;j=8;j+)printf(“*”);printf(“n”);,上面的例子中:外循环由外循环控制变量i控制,i由1递增到4。,for(i=1;i=4;i+)f

6、or(j=1;j=8;j+)printf(“*”);printf(“n”);,每1次的外循环中,都要执行由内循环控制变量j控制的8次内循环操作和1次换行操作。,由此:每次内循环输出一个星号,每次外循环输出一行(8个)星号,4次外循环,输出了4行8列星号。,n=1;while(n=3)printf(输出外循环n=%dn,n);i=1;while(i=2)printf(1)输出内循环 i=%dn,i);i+;j=1;while(j=3)printf(2)输出内循环 j=%dn,j);j+;n+;,例7.5读程序,写出运行结果:,输出外循环n=1,1)输出内循环 i=1,1)输出内循环 i=2,2)

7、输出内循环 j=1,2)输出内循环 j=2,2)输出内循环 j=3,输出外循环n=2,输出结果:,输出外循环n=3,例7.6 输出九九乘法表,1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9 1*9=9 2*9=18 9*9=81,main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%2d,i,j,i*j);printf(n);,程序:,例7.7 输出3100中的所有素数。,分析:1)对于某个数n,如果从2到n1都不能被n整除,则该数n为素数。,此处,除数2到n可以用一个for语句来表示:for(i=2;i=n-1

8、;i=i+1),2)对于3100之间的数,可以表示如下:,for(n=3;n=100;n=n+1),main()int n,i;for(n=3;n=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(“n”);,输出如下图形:,i从1到2,k从1到4,j从1到3,例7.9 输出如下图形:,*,*,分析:,共有5行,外循环 i:15,第一行输出4个空格,1个星号,第三行输出2个空格,5个星号,第二行输出3个空格,3个星号,第五行输出0个空格,9

9、个星号,空格用循环变量j控制,j=5-i,星号用循环变量k控制,k=2i-1,程序:,main()int i,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(“n”);,练习7.10 输入一个整数n,输出如下回文塔。,1 1 2 1 1 2 3 2 1,n3时,n5时,1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1,三、goto语句,格式:goto 语句标号;标号:语句;,作用:1)与 if 语句构成循环结构。2)从循环体中强制退出。,说明:1)goto语句为无条件转向语句。goto语句可以从循环体内跳出循环,尤其在多层循环中,使用goto语句可以跳到任意一层循环体内。2)标号的命名规则同变量名。3)goto语句不符合结构化程序设计原则,一般不主张使用。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号