C语言程序设计课件(C套)之第六章循环结构的程序设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课件(C套)之第六章循环结构的程序设计.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 第六 循环 结构 程序设计
- 资源描述:
-
1、1共共 32 32页页 第第 2 2 页页上页上页 下页下页节节末页末页结束结束 5 5 6 6循环的基本概念循环的基本概念 当型循环控制语句当型循环控制语句直到型循环控制语句直到型循环控制语句breakbreak语句与语句与continuecontinue语句语句循环的嵌套循环的嵌套应用实例应用实例共共 32 32页页 第第 3 3 页页上页上页 下页下页节节末页末页结束结束6-1 循环的基本概念一、循环问题一、循环问题l提出问题提出问题提问:提问:从键盘上输入从键盘上输入1010个整数并求和,怎么编程?个整数并求和,怎么编程?回答:回答:在程序中写入在程序中写入1010个个scanfsca
2、nf()()语句。语句。提问:提问:从键盘上输入从键盘上输入500500个整数并求和,怎么编程?个整数并求和,怎么编程?换一个角度来看待这些问题换一个角度来看待这些问题 以上问题的实质是:将以上问题的实质是:将scanfscanf函数重复执行函数重复执行N N遍。遍。可以引出一个概念可以引出一个概念“循环循环”,简单而言:,简单而言:循环循环就就是不断是不断反复地执行同一段程序。反复地执行同一段程序。共共 32 32页页 第第 4 4 页页上页上页 下页下页节节末页末页结束结束l if+if+goto goto 循环循环l whilewhile循环循环l forfor循环循环l do_whil
3、edo_while循环循环 先判断后循环先判断后循环 (当型循环)(当型循环)先循环后判断先循环后判断(直到型循环)(直到型循环)特点:特点:C C提供四种循环控制:提供四种循环控制:6-16-1 循环的基本概念循环的基本概念(续续)l循环循环 反复执行同一段程序,直反复执行同一段程序,直到满足一定的条件后才停到满足一定的条件后才停止执行该段程序。止执行该段程序。共共 32 32页页 第第 5 5 页页上页上页 下页下页节节末页末页结束结束二、循环结构二、循环结构当型循环当型循环直到型循环直到型循环条件条件YN循环体循环体循环体循环体N条件条件Y入口入口出口出口6-16-1 循环的基本概念循环
4、的基本概念(完完)出口出口入口入口共共 32 32页页 第第 6 6 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句当型循环控制语句一、结构与语句一、结构与语句形式1 1:标号:标号:if(if(条件条件)循环体语句组循环体语句组 goto goto 标号;标号;形式2 2:while(while(条件条件)循环体语句组循环体语句组 形式3 3:for(for(初值初值;条件条件;增量增量)循环体语句组循环体语句组 共共 32 32页页 第第 7 7 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)1.1.if+
5、if+goto goto 结构结构标号:标号:if(if(条件条件)循环体语句组循环体语句组 goto goto 标号;标号;求:求:s=1+2+3+100main()int i,s;s=0;i=1;xh:if(i=100)s=s+i;i+;goto xh;printf(“s=%dn”,s);共共 32 32页页 第第 8 8 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)2.2.while while 语句语句 while(while(条件条件)循环体语句组循环体语句组 当条件为真时反复执当条件为真时反复执行循环体,条件为假行循环体,条
6、件为假时退出循环。时退出循环。求:求:s=1+2+3+100main()int i,s;s=0;i=1;while(i=100)s=s+i;i+;printf(“s=%dn”,s);共共 32 32页页 第第 9 9 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)lwhilewhile使用使用注意注意 1.1.while(while(0 0).).由于循环的条件表达式恒等由于循环的条件表达式恒等于于0 0,循环体永远也不会执行,是编程者的,循环体永远也不会执行,是编程者的错误错误。2.2.while(while(1 1).).由于循环的条
7、件表达式恒等由于循环的条件表达式恒等于于1 1,所以不可能通过循环控制条件来结束循环体的执,所以不可能通过循环控制条件来结束循环体的执行,称为行,称为“死循环死循环”。3.3.为了保证循环正常运行,应该特别注意:为了保证循环正常运行,应该特别注意:循环控制条件循环控制条件 控制条件的初始状态(初始值)控制条件的初始状态(初始值)循环体内部对控制条件的影响循环体内部对控制条件的影响共共 32 32页页 第第 1010 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)3.3.for for 语句语句执行流程:执行流程:计算计算e1e1初值初值;
8、计算计算e2e2并判断,非并判断,非0 0,执行循环;否则跳出循环;,执行循环;否则跳出循环;当当e2e2非非0 0时,执行循环体,然后计算时,执行循环体,然后计算e3e3增量增量;自动转到第二步继续执行。自动转到第二步继续执行。共共 32 32页页 第第 1111 页页上页上页 下页下页节节末页末页结束结束6-26-2 当型循环控制语句(续)当型循环控制语句(续)求:求:s=1+2+3+100main()int i,s;s=0;for(i=1;i=100;i+)s=s+i;printf(“s=%dn”,s);for循环执行流程:循环执行流程:i=1i=1i=100i=100 s=0+1=1
9、s=0+1=1i+i+i=2 i=2i=100i100i100 退出循环退出循环共共 32 32页页 第第 1212 页页上页上页 下页下页节节末页末页结束结束 e1e1、e2e2、e3e3均可缺省,但均可缺省,但分号始终不能缺省!分号始终不能缺省!for(;i=100;i+)for(;i=100;i+)缺省缺省e1e1,i,i应在循环之前赋初值应在循环之前赋初值 6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)关于关于forfor语句语句i=1;/i=1;/*循环前补偿缺省的循环前补偿缺省的e1e1 */for(for(;i=100;i+);i100)break;/if(i100
10、)break;/*补偿补偿e2e2循环控制功能。循环控制功能。breakbreak语句的功能是退出语句的功能是退出 它所在的循环它所在的循环*/s=s+i;s=s+i;共共 32 32页页 第第 1414 页页上页上页 下页下页节节末页末页结束结束for(;)for(;)缺省缺省e1,e2,e3e1,e2,e3 死循环!死循环!在循环前补偿在循环前补偿e1,e1,在循环体补偿在循环体补偿e2e2和和e3e3功能。功能。6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)i=1;/i=1;/*补偿补偿e1 e1*/for(;)for(;)if(i100)break;/if(i100)br
11、eak;/*补偿补偿e2e2循环控制功能循环控制功能*/s=s+i;s=s+i;i+;/i+;/*补偿补偿e3e3功能功能 */共共 32 32页页 第第 1515 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)for(;n100;)for(;n100;)缺省缺省e1,e3e1,e3在循环前补偿在循环前补偿e1,e1,在循环体补偿在循环体补偿e3e3功能。功能。i=1;/i=1;/*补偿补偿e1e1功能功能 */for(;i=100;)for(;i=100;)s=s+i;s=s+i;i+;/i+;/*补偿补偿e3e3功能功能 */共共 3
12、2 32页页 第第 1616 页页上页上页 下页下页节节末页末页结束结束e1e1和和e3e3可以是与初值、增量无关的逗号表达式可以是与初值、增量无关的逗号表达式s=0;s=0;for(i=1;i=100;i+)for(i=1;i=100;i+)s=s+i;s=s+i;6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)for(for(s=0,s=0,i=1;i=100;i=1;i=100;s=s+i,s=s+i,i+);i+);共共 32 32页页 第第 1717 页页上页上页 下页下页节节末页末页结束结束6-2 6-2 当型循环控制语句(续)当型循环控制语句(续)lforfor语句的
13、变化形式语句的变化形式forfor语句中的三个表达式中的任意一个都是可以省略的,但是分号不语句中的三个表达式中的任意一个都是可以省略的,但是分号不能省略。能省略。1.1.省略表达式省略表达式2 2,则:,则:forfor(表达式表达式1 1;表达式;表达式3 3)就形成了一个死循环。就形成了一个死循环。2.2.省略表达式省略表达式1 1和表达式和表达式3 3,则:,则:forfor(;(;表达式表达式2 2;);)就等同于:就等同于:whilewhile(表达式表达式 )据此结论:所有用据此结论:所有用whilewhile语句语句实现的循环都可以用实现的循环都可以用forfor语句语句实现。实
14、现。3.3.表达式表达式1 1、2 2、3 3全省略全省略,则:,则:forfor (;)(;)就等同于:就等同于:whilewhile (1)(1)共共 32 32页页 第第 1818 页页上页上页 下页下页节节末页末页结束结束main()main()intint n,s;n,s;for(n=1;n=10;n+=2)for(n=1;n=10;n+=2)printfprintf(n=%dn,n);(n=%dn,n);main()main()intint n,s;n,s;for(n=1;n=6;n+=2)for(n=1;n=6;n+=2);printfprintf(n=%dn,n);(n=%dn
15、,n);以下程序的输出结果?以下程序的输出结果?输出结果:输出结果:n=7n=7输出结果:输出结果:n=1 n=1 n=3 n=3 n=5 n=5 n=7 n=7 n=9 n=96-2 6-2 当型循环控制语句(完)当型循环控制语句(完)循环体循环体共共 32 32页页 第第 1919 页页上页上页 下页下页节节末页末页结束结束6-3 6-3 直到型循环控制语句直到型循环控制语句一、一、do_while 语句语句do do 循环体语句组循环体语句组 while(while(条件条件);求:求:s=1+2+3+100main()main()intint i,s;i,s;s=0;i=1;s=0;i
16、=1;dodos=s+i;s=s+i;i+;i+;while(i=100);while(i=100);printfprintf(“s=%dn”,s)(“s=%dn”,s);首先首先执行循环体,执行循环体,然后然后检检测条件测条件,当条件为真时反复当条件为真时反复执行循环体,执行循环体,直到直到条件为条件为假时退出循环。假时退出循环。共共 32 32页页 第第 2020 页页上页上页 下页下页节节末页末页结束结束二、二、whilewhile与与do_whiledo_while的比较的比较6-3 6-3 直到型循环控制语句直到型循环控制语句(续续)ldo-whiledo-while与与whilew
17、hile和和forfor的最大区别:的最大区别:do-whiledo-while语句语句先执行循环体先执行循环体然后然后再判断再判断循环循环控制条件控制条件,而而whilewhile和和forfor却是先判断条件之后再执行循环体。却是先判断条件之后再执行循环体。使用使用do-whiledo-while构成的循环,循环体部分构成的循环,循环体部分至少要执行一次至少要执行一次;而采用而采用whilewhile和和forfor构成的循环,循环体部分有可能一次构成的循环,循环体部分有可能一次也不会执行。也不会执行。共共 32 32页页 第第 2121 页页上页上页 下页下页节节末页末页结束结束main
展开阅读全文