版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年家电维修 会员制家庭管家项目公司成立分析报告
- 2026湖南省交通科研院招聘博士后研究人员备考题库附答案详解(a卷)
- 2026年零碳园区项目公司成立分析报告
- 2026湖北恩施供销好农友现代农业有限公司市场营销部人员招聘备考题库附参考答案详解(综合题)
- 2026陕西西安音乐学院招聘4人备考题库附答案详解(达标题)
- 2026河南新乡工程学院附属学校中学成手、骨干教师招聘备考题库含答案详解(巩固)
- 2026年工业机器人出口项目可行性研究报告
- 2026福建龙岩市连城县新泉中心小学代课教师招聘2人备考题库及完整答案详解
- 2026贵州贵阳市白云区永茂小学招聘生活老师1人备考题库含答案详解(基础题)
- 2026湖南长沙天心区教育局白沙大唐印象幼儿园招聘备考题库有完整答案详解
- 2025年幼儿园中、高级教师职称考试(综合素质)综合试题及答案
- 2025年福建省考申论试题及答案
- 2025年新课标综合卷高考真题理综试卷(含答案)
- JJG 264-2025 谷物容重器检定规程
- 成人脑室外引流护理团体标准解读
- 大学美育(同济大学)学习通测试及答案
- 2024年中国西电集团有限公司招聘笔试参考题库含答案解析
- 化学品安全技术说明(木质素磺酸钠)
- R32装置操作规程
- GB/T 18253-2018钢及钢产品检验文件的类型
- 2017款全新一代君威用户手册
评论
0/150
提交评论