第六章 循环控制.doc

上传人:cl****1 文档编号:561754518 上传时间:2023-11-05 格式:DOC 页数:5 大小:53.83KB
返回 下载 相关 举报
第六章 循环控制.doc_第1页
第1页 / 共5页
第六章 循环控制.doc_第2页
第2页 / 共5页
第六章 循环控制.doc_第3页
第3页 / 共5页
第六章 循环控制.doc_第4页
第4页 / 共5页
第六章 循环控制.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《第六章 循环控制.doc》由会员分享,可在线阅读,更多相关《第六章 循环控制.doc(5页珍藏版)》请在金锄头文库上搜索。

1、第六章 循环控制6.1 概述循环结构、顺序结构和选择结构共同作为各种复杂程序的基本结构单元。6.2 goto语句以及用goto语句构成循环1. goto语句为无条件转向语句,它的一般形式为: Goto语句标号;2. 语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线,不能用整数来作标号。例如:goto label_1;是合法的;而goto 123;是不合法的。3. 结构化程序设计主张限制使用goto语句。6.3 用while语句实现循环1. while语句用来实现“当型”循环结构。 一般形式: while (条件表达式) 语句;表达式语句

2、假真2.流程图3.控制机理:当程序的流程到达while结构时,先对条件表达式进行计算,若其值为“真”(非0),便进入while结构,执行循环体,否则跳过while结构;每执行完一次循环体都要再对条件表达式计算一次,以决定进入while结构还是跳过while结构。4.注意:(1)循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。如果不加花括号,则while语句的范围只到while后面第一个分号处。(2)在循环体中应有使循环趋向于结束的语句。5.例如:#includevoid main() int i=1,sum=0; while (i=100) sum+=i; i+; pri

3、ntf(“The sum is: %dn”,sum);6.4 用do.while语句实现循环1. do.while语句的特点是先执行循环体,然后判断循环条件是否成立。2. 一般形式: do 循环体语句; while (判断表达式);假循环体语句表达式真3. 流程图真语句求解表达式3表达式2求解表达式14.控制机理:现执行一次指定的循环体语句,然后判断表达式,当表达式的值为非0(真)时,返回重新执行循环体语句,如此反复,知道表达式的值等于0为止,此时循环结束。5.例如:求自然数1100的和,用do while循环改写#includevoid main( ) int i=1,sum=0; do s

4、um+=i;i+; while (i=100); printf(“The sum is:%dn”,sum);6.5 用for语句实现语句循环1. C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以替代while语句。2. 一般形式:for (表达式1;表达式2;表达式3) 语句真语句求解表达式3表达式2求解表达式13. 流程图4.控制机理:流程到达for循环后,先执行一次表达式1,然后判断表达式2的值,为真就进入循环体,执行完循环体语句,再执行表达式3。然后回去再次判断表达式2的值,以决定下次循环是否进行。5.

5、 可改为while循环形式: 表达式1; While表达式2 语句 表达式3;例如:例如:求自然数1100的和 for (i=1; i=100; i+) sum+=i;等价于int i=1;while (i=100) sum+=i; i+; 6. 注意:(1)for语句可以省略表达式1,此时应在for语句之前给循环变量赋初值。注意:省略表达式1时,分号不能省略。(2) 如果表达式2省略,既不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。(3) 表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。(4) 可以省略表达式1和表达式3,只有表达式2,即只给循环条件。(

6、5) 3个表达式都可以省略。(6)表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。(7)表达式一般是关系表达式也可以是逻辑表达式,但也可以是数值表达式和字符表达式,只要其值非0,就执行循环体。7.最简单的应用形式: For(循环变量赋初值;循环条件;循环变量增值)语句6.6 循环的嵌套1. 一个循环体内包含另一个完整的循环结构称为循环的嵌套,内嵌的循环中还可以嵌套循环,是多重循环,以上三种循环可以互相嵌套,但内层循环应完全嵌套在外层循环里面,不允许出现交叉。2. while循环,do-while循环,for循环都可以互相嵌套.3. 合法形式:(1)while(

7、) while() (2)for(;) while( ) (3)for(;) for( ;) (4)do do While() While()(5)while do While() 。 (6)do For(;) While()6.7几种循环的比较1.三种循环的比较(1)三种循环可以相互代替,且都可以使用break语句跳出循环,用continue语句结束本次循环。(2)while和dowhile语句中循环变量初始化应该在循环开始前提前完成。循环体中要包含使循环趋于结束的语句。而for循环可把这些操作一起放在for语句中,可以在表达式3中包含使循环趋于结束的操作,for语句的功能更强。(3)whi

8、le和for循环是先判断表达式,后执行语句,而dowhile循环是先执行语句,后判断表达式。6.8 break语句和continue语句1. break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。还可以用来从循环体内跳出循环体,即提前结束循环,接着执行下面的语句。 一般形式:break; break语句不能用于循环语句和switch语句之外的任何其他语句。2.continue语句:继续循环语句 作用:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判断。 一般形式:continue;3.break语句和continue语句的比较(1)while(表达式1) If(表达式2)break (2)while(表达式1) If()continue; continue语句只结束本次循环,而不终止整个循环的执行;而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。6.9 程序举例例如:输出100-200中的所有素数#include#includevoid main( )int m,i,k,n=0;for(m=101;m=200;m=m+2)k=sqrt(m);for(i=2;i=k+1) printf(%d ,m);n=n+1;if(n%10=0) printf(n);printf(n);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号