版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 循环控制,主讲教师 李莉,2003年3月,概 述 循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。语言提供了多种循环语句,可以组成各种不同形式的循环结构。 一、用goto语句和if语句构成循环 goto 语句的使用格式为: goto 语句标号;,例1 用if 和goto语句构成循环,求,/*ch5_1.c*/ #include main() int i,sum=0; i=1; loop: if(i=100) sum+=i; i+; goto loop; printf(%d,sum);
2、 ,sum=0+1 sum=1+2=3 sum=3+3=6 sum=6+4 sum=4950+100=5050,二、while语句 while语句的一般形式为: while(表达式) 语句,循环条件,循环体,例2 用while循环求,#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum); ,例3 从键盘输入一组数据,以0结束输入, 求数据和,/*ch5_11.c*/ #include main() int number,sum=0; read_loop: scanf(%d, ,例4 统计从键盘输
3、入一行字符的个数。 #include main() int n=0; printf(input a string:n); while(getchar()!=n) n+; printf(%d,n); ,例5 显示110的平方,/*ch5_21.c*/ #include main() int i=1; while(i=10) printf(%d*%d=%dn,i,i,i*i); i+; ,运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100,三、do-while语句 do-while语句的一般形式为:
4、 do 语句 while(表达式);,与while循环的不同:它先执行循环中的语句,然后再判断表达式是否为真。因此, do-while循环至少要执行一次循环语句。其执行过程可用右图表示。,例7 while和do-while循环的比较,(2)main() int sum=0,i; scanf(“%d”, ,(1)main() int sum=0,i; scanf(“%d”, ,四、for语句 一般形式为: for(表1;表2;表3) 语句,说明: 1)for语句中表达式1, 表达式2 ,表达式3 类型任 意,都可省略,但分号;不可省 2) for(;)为无限循环,3)for语句可以转换成whil
5、e结构,表1; while(表2) 语句; 表3; ,运行结果:abcdefghij,五、循环的嵌套 1)三种循环可互相嵌套,层数不限 2)外层循环可包含两个以上内循环,但不能相互交叉 3)嵌套循环的执行流程,(1) while() while() . ,(2) do do while( ); . while( );,禁止: 1)从外层跳入内层 2)跳入同层的另一 循环 3)向上跳转,(3) while() do while( ); . ,(4) for( ; ;) do while(); while() . ,例 循环嵌套,输出九九表,#include main() int i,j; for
6、(i=1;i10;i+) printf(%4d,i); printf(n-n); for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?%4dn:%4d,i*j); ,for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?%4dn:%4d,i*j);,六、 辅助控制语句 1、break语句 功能:在循环语句和switch语句中,终止并跳出循环体或开关体 说明: break只能终止并跳出最近一层的结构 break不能用于循环语句和switch语句之外的任何其它语句之中,表达式2, break; .,假(0),真(非0),for,
7、表达式1,表达式3,switch,表达式,常表 1,常表2,常表 n,default,case,例 break举例:输出圆面积,面积大于100时停止,main() int r; float area; for(r=1;r100) break; printf(r=%d,area=%.2fn,r,area); ,例 break举例:小写字母转换成大写字母,直至 输入非字母字符,#include main() int i,j; char c; while(1) c=getchar(); if(c=a ,continue语句 功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判
8、断仅用于循环语句中,表达式, continue; ,假(0),真(非0),while,真(非0),do, continue; .,表达式,假(0),while,例 求输入的十个整数中正数的个数及其平均值,#include main() int i,num=0,a; float sum=0; for(i=0;i10;i+) scanf(%d, ,例 求Fibonacci数列:1,1,2,3,5,8, 的前40个数,例 判断m是否素数,输入一个数m,判其是否为“素数”。 素数(prime):又称质数,是大于1的整数,除了能被自身和1整除外,不能被其它正整数整除。,#include math.h main() int m,i,k; scanf(%d, ,例 译密码,ABCDEFGHIJKLMNOPQRSTUVWXYZ,例如 Hello,world! 译成密码:Lipps,asvph!,算法: 1、当输入字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糕点店装修粉刷施工协议
- 建筑设计科技合同管理办法
- 公路隧道照明工程合同范本
- 农业大棚外保温施工合同
- 电视连续剧演员招聘合同
- 2025年度VOC废气处理设备定期检查与维修合同3篇
- 农田水利招投标监管与优化
- 青年旅社施工合同
- 矿山梦想钢管架施工合同
- 高新技术产业投标响应范本
- 安徽省合肥市蜀山区2024-2025学年七年级上学期地理期末模拟练习(含答案)
- 新建设项目施工人员安全教育培训课件
- 2024年游艇俱乐部会员专属活动策划与执行合同3篇
- 《项目管理培训课程》课件
- 2025年蛇年年度营销日历营销建议【2025营销日历】
- 2024年人教版八年级道德与法治下册期末考试卷(附答案)
- 企业所得税汇算清缴申报表电子表格版(带公式-自动计算)
- 2024年6月广东省高中学业水平考试物理试卷(附答案)
- Y620优众变频器说明书
- 桥梁工程课程设计计算书6310426554
- (拉威尔)悼念公主的帕凡舞曲原版五线谱钢琴谱正谱
评论
0/150
提交评论