




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7讲循环的嵌套,一、continue语句和break语句1、continue语句2、break语句二、循环的嵌套三、goto语句,一、continue语句和break语句,1、continue语句,格式:continue;,功能:结束本次循环,使程序回行到循环条件,判断是否提前进入下一次循环。,continue语句只用于循环结构的内部,常与if语句联合起来使用,以便在满足条件时提前结束本次循环。,例7.1对除5的倍数以外的1100的数求和。,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)si1假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(ntotal:%dn,s);,例7.2统计150之间不能被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=%dn”,s);,如果if判断语句为真,则结束循环,执行循环结构后面的语句,此处,当输入字符为“!”时,chr=!为真,结束for循环,执行循环结构后面的语句,即执行printf(“s=%dn”,s)语句,运行序列如下:输入if(chr=!)输出a假a5假5$假$B假B!真4,例7.4计算半径r=1到r=10时圆的面积,直到面积area大于100为止。,#definepi3.14159main()intr;floatarea;for(r=1;r100)break;printf(“%f”,area);,二、循环的嵌套,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套,内嵌的循环中还可以嵌套循环即为多层循环。,说明:嵌套的原则:不允许交叉循环与分支可以相互嵌套但不允许交叉。,*,输出图形:,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+)for(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)输出内循环j=1,2)输出内循环j=2,2)输出内循环j=3,输出外循环n=2,输出结果:,输出外循环n=3,例7.6输出九九乘法表,1*1=11*2=22*2=41*3=32*3=63*3=91*9=92*9=189*9=81,main()inti,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;i=i+1),2)对于3100之间的数,可以表示如下:,for(n=3;n=100;n=n+1),main()intn,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个星号,空格用循环变量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(“n”);,练习7.10输入一个整数n,输出如下回文塔。,112112321,n3时,n5时,1121123211234321123454321,三、goto语句,格式:goto语句标号;标号:语句;,作用:1)与if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泸县一中文科数学试卷
- 2025山东省高三联考试题及答案解析
- 铁路列车运行相关知识考试试卷含答案
- 广东省汕头市下蓬中学2026届高二化学第一学期期末学业质量监测模拟试题含答案
- 传播疾病的蚊子课件
- 2025年校长职级考试题及答案
- 2025年生产作业员招聘试题及答案
- 2025年秋招:销售代表笔试题目及答案
- 2025年秋招:客户服务试题及答案
- 2025年秋招:会计岗真题及答案
- 16J914-1 公用建筑卫生间
- 沥青路面工程施工安全保证措施
- 《湖南省医疗保险“双通道”管理药品使用申请表》
- 甲醇安全技术说明书SDS
- 小学五年级下科学期末考试质量分析
- GB/T 18341-2021地质矿产勘查测量规范
- oh卡牌理论-课件
- 皮肌炎与多肌炎的诊疗及进展课件
- 合同工期管理台账
- 食品安全自身检查记录表
- 临床常见危急值及处理培训课件
评论
0/150
提交评论