循环控制课件_第1页
循环控制课件_第2页
循环控制课件_第3页
循环控制课件_第4页
循环控制课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、,第6章,循环控制,本章要点,循环的基本概念,不同形式的循环控制的多循环问题,主要内容,6.1概述6.2 goto语句和带有goto语句的循环,6.3带有while语句的循环,6.4带有do-while语句的循环,6.5带有for语句的循环,6.6循环的嵌套,6.7几个循环的比较,6.8中断语句继续和6.9语句序列示例,6.1概述,什么是循环?为什么使用循环?问题1:问题2:计算学生的平均分数,然后除以班级数量。在许多问题中,需要环路控制。循环结构是结构化程序的基本结构之一,它与序列结构和选择结构一起,是各种复杂程序的基本构件。6.2 goto语句和由goto语句1形成的循环。goto语句是无

2、条件的turn语句,其一般形式是goto语句标签;语句标签由标识符表示,其命名规则与变量名相同,即由字母、数字和下划线组成,第一个字符必须是字母或下划线。示例:转到标签_ 1;合法的;转到123;非法。6.2 goto语句和由goto语句形成的循环。结构化编程方法提倡限制goto语句的使用,因为滥用goto语句会使程序流程不规则,可读性差。一般来说,它可以用于两个目的:(1)与if语句一起形成循环结构;(2)从循环系统跳到循环系统的外部。但是,这种用法不符合结构化原则,因此不应该普遍采用,而应该只在必要时使用(例如,它可以大大提高效率)。示例6.1使用if语句和goto语句来形成一个循环,并寻

3、求1到100的和以及void main() int i,sum=0;I=1;如果(i=100) sum=sum i,则循环:I .goto循环;printf(%dn,sum);描述:这里使用“当类型”循环结构,当“i=100”满足时,执行花括号中的循环体。运行结果:5050,6月3日,while语句用于实现“正”循环结构。一般形式:while(表达式)语句当表达式为非零值时,执行while语句中的嵌入语句。其特点是:先判断表达式,然后执行语句。图,例6.2求1到100的和#包括void main() int i,和=0;I=1;而(I=100)sum=sum I;I .printf(%dn,s

4、um);描述:(1)如果循环体包含多个语句,它应该用花括号括起来,并以复合语句的形式出现。(2)循环体中应该有使循环趋于结束的语句。运行结果:5050,6月3日,用while语句实现循环。注意:如果循环体包含多个语句,它应该用花括号括起来,并以复合语句的形式出现。循环体中应该有语句使循环趋于结束。没有这个语句,I的值永远不会改变,循环也永远不会结束。6.4使用do-while语句实现循环。先执行循环体,然后判断循环条件是否成立。一般形式:做循环体语句时(表达式);执行过程:执行指定的循环语句一次,然后判断表达式。当表达式的值为非零值(“真”)时,返回再次执行循环语句,并重复该操作,直到表达式的

5、值等于0,此时循环结束。图,示例6.3,对于1到100和#包括void main() int i,sum=0;I=1;do sum=sum I;I .而(I=100);printf(%dn,sum);运行结果:5050、6.4用do-while语句实现循环,while语句和do-while语句之间的比较:一般来说,当使用while语句和do-while语句处理相同的问题时,如果它们的循环部分相同,它们的结果也相同。但是,如果while之后的表达式在开始时为false (0值),则两个循环的结果是不同的。示例6.4 while和do-while循环的比较(1) #包括(2) #包括void ma

6、in () void main () int sum=0,I;int sum=0,I;Scanf (%d,运行结果:1 sum=55,再次运行:11 sum=0,运行结果:1 sum=55,再次运行:11 sum=11,描述:(1)当while之后的表达式的第一个值为 true 时,两个周期获得的结果相同。否则,结果就不同了。6.5 for语句用于实现循环。C语言中的for语句是最灵活的,它不仅可以在确定循环数时使用,还可以在循环数不确定且只给出循环结束条件时使用。它可以完全取代while语句。(表达式1;表达式2;表达式3)语句,6.5循环用for语句,for语句的执行过程:(1)首先求解表

7、达式1。(2)求解表达式2,如果其值为真(其值不是0),执行for语句中指定的嵌入语句,然后执行下一步(3)。如果为假(值为0),结束循环并转到步骤(5)。(3)求解表达式3。(4)返回上述步骤(2)并继续。(5)循环结束后,执行for语句下面的语句。6.5使用for语句实现循环、循环初始条件、循环控制条件、循环体,for语句相当于以下语句:表达式1;而(表达式2)语句;表达式3;6.5使用for语句实现循环。for语句最简单的应用形式是最容易理解的形式,如下所示:for(循环变量的初始值;流通条件;循环变量增量),如:为(I=1;i=100I)sum=sum I;相当于下面的语句:I=1;而

8、(I=100)sum=sum I;I .显然,使用for语句既简单又方便。6.5使用for语句实现循环,表示:(1)for语句一般形式的表达式1可以省略,循环变量应在for语句之前赋值初始值。请注意,当表达式1被省略时,它后面的分号不能被省略。例如对于(;i=100I)sum=sum I;执行时,跳过“求解表达式1”的步骤,其余部分保持不变。6.5使用for语句实现循环,表示:(2)如果省略表达式2,将不判断循环条件,循环将无限期地继续。也就是说,表达式2总是正确的。例如:对于(I=1;I)sum=sum I;表达式1是赋值表达式,表达式2为空。它相当于:I=1;而(1)总和=总和1;I .图

9、6.7和6.5使用for语句来实现循环,表示:(3)表达式3也可以省略,但是此时,程序员应该努力确保循环能够正常结束。例如:对于(I=1;i=100)sum=sum I;I .在上面的for语句中,只有表达式1和2,但没有表达式3。I的操作不在for语句的表达式3的位置,但作为循环的一部分,效果是一样的,可以使循环正常结束。6.5使用for语句实现循环,表示:(4)可以省略表达式1和表达式3,只省略表达式2,即只给出循环条件。例如:对于(;i=100)而(I=100)sum=sum I;相当于总和=总和I;I .I .在这种情况下,它完全等同于while语句。可以看出,for语句比while语

10、句更强大,while语句不仅可以给出循环条件,还可以分配初始值来自动增加循环变量的值。6.5使用for语句实现循环,表示:(5)三个表达式都可以省略,如:for(;)语句等同于while(1)语句,即没有设置初始值,没有判断任何条件(表达式2被认为是真的),并且循环变量的值不增加。循环体在没有终止的情况下执行。6.5使用for语句实现循环,表示:(6)表达式1可以是设置循环变量初始值的赋值表达式,也可以是与循环变量无关的其他表达式。如:为(总和=0;i=100I)sum=sum I;表达式3也可以是与循环控制无关的任何表达式。6.5使用for语句实现循环。描述:表达式1和表达式3既可以是简单表达式,也可以是逗号表达式,也就是说,它们包含多个中间带有逗号的简单表达式。例如:for(sum=0,I=1;i=100I)sum=sum I;或(i=0,j=100I=j;I,j-)k=I j;表达式1和表达式3是逗号表达式,每个表达式包含两个赋值表达式,即

温馨提示

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

评论

0/150

提交评论