




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第5章循环控制,goto语句while语句do-while语句for语句break语句continue语句,2,5.1概述,循环:反复执行称为“循环体”的程序段循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环C语言中用如下语句实现循环:1、用goto语句和if语句构成循环。2、用while语句。3、用do-while语句。4、用for语句。,3,5.2goto语句,一般形式:goto语句标号作用:无条件转向“语句标号”处执行。“语句标号”是一个标识符,它表示程序指令的地址,它的定名规则和变量名一样,由字母数字或下划线组成,第一个字母为字母或下划线,不能使用整数来做标号,4,结构化程序设计方法主张限制使用goto语句,滥用goto语句将使程序流程无规律,可读性比较差goto语句有两种用途,一是与if语句一起构成循环结构,另一是从循环体中跳转到循环体外,5,例5.1用if语句和goto语句构成循环,求,main()inti,sum=0;i=1;loop:if(i1e-7);printf(“e=%fn”,sum);getch();,例5.7,14,5.5for语句,for语句常用于循环次数已知的循环控制;也可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。一般形式:for(表达式1;表达式2;表达式3)语句执行过程:(1)求表达式1;(2)求表达式2,若为“真”,执行“语句”;若为假,转第(5)步。(3)求表达式3。(4)转第(2)步。(5)执行for语句下面的语句。,循环初始条件,判别循环条件,修改循环条件,15,也可以写成while的形式:表达式1;while(表达式2)语句;表达式3;,for语句最简单的应用形式也就是最易于理解的如下形式:for(循环变量赋初值;循环条件;循环变量增值)例:for(i=1;i=100;i+)sum=sum+i;,16,for(i=1;i=100;i+)sum=sum+i;这里,循环条件由变量i设定,变量i称为“循环变量”。这是for语句的典型用法:已知循环次数。(本例100次)。,“表达式1”,循环初始条件(i=1)。,“表达式2”,循环条件(i=100)。,“表达式3”,修改循环条件(i+),17,注:for循环中,表达式1仅求解一次;执行循环体后才求解表达式3。先判断后执行。例、用for语句,main()inti,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(%dn,sum);,上述for语句也可以用如下while语句表示:i=1;while(i=100)sum=sum+i;i+;,18,几点说明for语句中的表达式1:可以给循环变量赋初值,亦可以是与循环变量无关的其它表达式,甚至表达式1可以省略。若省略,则应在for语句前对循环变量赋初值。表达式1省略时,其后的分号不能省略。此处的分号不是语句的一部分,而是表达式的分隔符。在for语句中的表达式中可以使用逗号表达式,故不用逗号分隔表达式。,19,例:sum=0;for(i=1;i=100;i+)sum+=i;或:i=1;for(sum=0;i=100;i+)sum+=i;或:for(i=1,sum=0;i=100;i+)sum+=i;或:i=1;sum=0;for(;i=100;i+)sum+=i;,20,2.关于表达式3:可以用来改变循环变量的值,也可以是与循环变量的无关的其它表达式,甚至可将循环体中的语句放在表达式3的位置上。表达式3也可以省略,程序设计者必须保证循环能正常结束。例:i=0;for(sum=0;i=100;sum+=i)i+;或:sum=0;for(i=1;i=100;sum+=i,i+);或:sum=0;for(i=1;i=100;)sum+=i;i+;,21,3.表达式1与表达式3可以同时省略,只有表达式2,即只给出循环条件。,例、s=1;i=1;for(;i=10;)s=s*i;i+;,s=1;i=1;while(i=10)s*=i;i+;,在这种情况下,for与while语句完全相同。可见,for语句比while语句功能强大。,22,4.关于表达式2:作为循环的判断条件,一般为关系表达式或逻辑表达式,但亦可以是数值表达式或字符表达式。例、sum=0;for(i=1;i100)break;,24,6.三个表达式都可省略如:for(;)语句;相当于while(1)语句;即不设初值,不判断条件,循环变量不增值,无终止的执行循环体,25,例5.8求s=1!+2!+3!+n!,其中n小于30。,main()longs,t;inti,n;printf(inputn:);scanf(%d,26,例5.9求Fibonacci数列的前40项。每行输出4项。,main()longt1,t2,t3;inti;t1=t2=1;printf(%10ld%10ld,t1,t2);for(i=3;i=40;i+)t3=t1+t2;printf(%10ld,t3);if(i%4=0)printf(n);t1=t2;t2=t3;getch();,27,例5.10求Fibonacci数列的前40项。每行输出4项。,main()longt1,t2;inti;t1=t2=1;for(i=1;i=20;i+)printf(%10ld%10ld,t1,t2);if(i%2=0)printf(n);t1=t1+t2;t2=t1+t2;getch();,28,5.6循环的嵌套,循环嵌套:一个循环(称为“外循环”)的循环体内包含另一个循环(称为“内循环”)。内循环中还可以包含循环,形成多层循环。(循环嵌套的层数理论上无限制)三种循环(while循环、do-while循环、for循环)可以互相嵌套例:(1)(2)while()do.while();,嵌套,while(),dowhile(),2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红色大气年终工作总结
- 六年级心理健康知识讲座课件
- 公司网络安全培训成效课件
- 《诗经-邶风》课件
- 月度行政工作总结
- 精装工程师年终总结演讲
- 事故后的安全培训计划课件
- 粉蓝渐变色汇报
- 事业单位负债
- 事业单位安全规程培训课件
- 2025文具用品采购合同范本格式
- 电气检修生产安全培训课件
- 《2025新版检验检测机构管理评审报告》
- 2025劳动教育考试试题及答案
- 江苏省南通市如皋市2025-2026学年高三上学期开学考试数学试卷
- 焊工考试理论考试题库及答案
- 《国际公法》全册配套完整课件
- 第三单元名著导读《朝花夕拾-二十四孝图》课件(15张PPT) 部编版语文七年级上册
- 特种设备管理台帐(5个台账)
- l领导干部心理健康知识讲座课件
- 经口鼻吸痰技术新版
评论
0/150
提交评论