C语言循环结构ppt课件_第1页
C语言循环结构ppt课件_第2页
C语言循环结构ppt课件_第3页
C语言循环结构ppt课件_第4页
C语言循环结构ppt课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lesson1A/Slide1of27,.,第六章,循环控制,Lesson1A/Slide2of27,.,主要内容,6.1概述6.2goto语句以及用goto语句构成循环6.3用while语句实现循环6.4用do-while语句实现循环6.5用for语句实现循环6.6循环的嵌套6.7几种循环的比较6.8break语句continue和语句6.9程序举例,Lesson1A/Slide3of27,.,6.1概述,什么是循环?为什么要使用循环?,问题1:,问题2:求学生平均成绩,Lesson1A/Slide4of27,.,循环,Lesson1A/Slide5of27,.,生活中的例子:击鼓传花:大家坐成一个圈,鼓声响起的时候将花束顺序交到下一个人的手里,依次向下传递,当鼓声突然中断时停止传花,花束落在谁的手里便成为输家4100米接力赛跑:第1个人跑完100米后将接力棒传给第2个人,第2个人再跑100米,然后是第3个人,直到第4个人跑完最后一个100米共同点:都要完成相同的任务:量变的重复内容都有结束条件:发生质变的界限,Lesson1A/Slide6of27,.,6.2goto语句以及用goto语句构成循环,goto语句无条件转向语句goto语句标号;语句标号用标识符表示,例如:gotolabel_1;合法;goto123;不合法.,Lesson1A/Slide7of27,.,【例6.1】用goto语句和if语句构成循环,计算sum=1+2+3+100。main()inti,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;gotoloop;printf(%dn,sum);,Lesson1A/Slide8of27,.,6.2goto语句以及用goto语句构成循环,滥用goto语句将使程序流程无规律、可读性差.不建议使用goto语句。一般来说,可以有两种用途:(1)与if语句一起构成循环结构;(2)从循环体中跳转到循环体外。,Lesson1A/Slide9of27,.,6.3用while语句实现循环,while语句用来实现“当型”循环结构。一般形式:while(表达式)语句执行过程:计算表达式值,若该值为非0时,则执行while语句中的内嵌语句。然后重复上述步骤,直到表达式值为假(为0),则执行while语句的下一条语句。其特点是:先判断表达式,后执行语句。,循环体语句,Lesson1A/Slide10of27,.,6.3用while语句实现循环,注意:循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。在循环体中应有使循环趋向于结束的语句。,Lesson1A/Slide11of27,.,1.计算sum=1+2+3+100,Lesson1A/Slide12of27,.,第5章循环程序设计,1.计算sum=1+2+3+100,循环体,循环控制条件,循环控制变量,循环的初始化,#includevoidmain()inti=1,sum=0;while(i=100)sum=sum+i;i+;printf(“Sum=%dn”,sum);,Lesson1A/Slide13of27,.,第5章循环程序设计,2.计算sum=2+4+6+100,循环体,循环控制条件,循环控制变量,循环的初始化,#includevoidmain()inti=2,sum=0;while(i=100)sum=sum+i;i+=2;printf(“Sum=%dn”,sum);,Lesson1A/Slide14of27,.,2.计算sum=2+4+6+100,循环体,循环控制条件,循环控制变量,循环的初始化,#includevoidmain()inti=2,sum=0;while(i=100)sum=sum+i;i+=2;printf(“Sum=%dn”,sum);,Lesson1A/Slide15of27,.,6.4do-while语句,do-while语句的特点:先执行循环体,然后判断循环条件是否成立。一般形式:do循环体语句while(表达式);,执行过程:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。,Lesson1A/Slide16of27,.,6.4用do-while语句实现循环,while语句和用do-while语句的比较:二者是完全等价的。do-while语句有可能一次也不执行循环体。,Lesson1A/Slide17of27,.,循环的变化:sum=1+2+3+100,#includevoidmain()inti=1,sum=0;while(i=100)sum=sum+i;i+;printf(“Sum=%dn”,sum);,#includevoidmain()inti=1,sum=0;dosum=sum+i;i+;while(i=100);printf(“Sum=%dn”,sum);,Lesson1A/Slide18of27,.,顺序打印1-10的阶乘,即1!,2!,10!,本题的关键是求阶乘数学上,n!=123(n-1)n,Lesson1A/Slide19of27,.,外循环,内循环,对比程序:(更优)#includevoidmain()inti=1;floatf=1;while(i=10)f=f*i;printf(%2d!=%.0fn,i,f);i+;思考一下:8-10的阶乘,#includevoidmain()inti=1,j;floatf;while(i=10)j=1;f=1;while(j=i)f=f*j;j+;printf(“%2d!=%.0fn”,i,f);i+;,Lesson1A/Slide20of27,.,6.5用for语句实现循环,一般形式:for(表达式1;表达式2;表达式3)语句,表达式1:初始化表达式,只执行一次表达式2:循环控制表达式,控制循环的结束表达式3:增量表达式,使表达式2趋向于假,Lesson1A/Slide21of27,.,6.5用for语句实现循环,for语句的执行过程:(1)先求解表达式1。(2)求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环转到第(5)步。(3)求解表达式3。(4)转回上面第(2)步骤继续执行。(5)循环结束,执行for语句下面的一个语句,Lesson1A/Slide22of27,.,任意输入10个数,求平均值,#includevoidmain()inti;floatx,sum=0;printf(Enter10numbersonebyone:n);for(i=1;i=10;i+)scanf(%f,Lesson1A/Slide23of27,.,例:顺序打印1-10的阶乘,即1!,2!,3!,10!,#includevoidmain()inti,j;floatf;for(i=1;i=10;i+)f=1;for(j=1;j=i;j+)f=f*j;printf(%2d!=%.0fn,i,f);,#includevoidmain()inti=1,j;floatf;while(i=10)j=1;f=1;while(j=i)f=f*j;j+;printf(“%2d!=%.0fn”,i,f);i+;,Lesson1A/Slide24of27,.,例:打印几何图形,对于这类问题,每行中星号的个数、总行数等都应该用循环结构进行控制,而不是直接输出若干行字符串,#includevoidmain()inti,j;for(i=1;i=4;i+)for(j=0;ji;j+)putchar();for(j=1;j=4;j+)putchar(*);putchar(n);,Lesson1A/Slide25of27,.,for语句的变化形式,可以省略for语句的“表达式1”或“表达式3”,也可以都省略(“退化为”while语句),例:将用键盘输入的若干字符顺序输出到屏幕上,#includevoidmain()charch;for(;(ch=getchar()!=n;)putchar(ch);,Lesson1A/Slide26of27,.,6.6循环的嵌套,一个循环体内又包含另一个完整的循环结构称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。三种循环(while循环、do-while循环和for循环)可以互相嵌套。,Lesson1A/Slide27of27,.,6.6循环的嵌套,下面几种都是合法的形式:(1)while()(2)do(3)for(;)while()dofor(;)while();while();,Lesson1A/Slide28of27,.,6.6循环的嵌套,(4)while()(5)for(;)(6)dodowhile()for(;)while()while(),Lesson1A/Slide29of27,.,错误的嵌套形式,循环必须是完整的,不允许内外循环交叉嵌套f=1;while(i10)i=1;dof=f*i;i+;while(i10);,混乱的控制条件,内外循环的循环控制条件通常是分开的,相对独立的i=1;s=0;while(i3)s=s+f;i=1;f=1;while(i100时,执行break语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论