C语言_第7章.ppt

上传人:少林足球 文档编号:4169777 上传时间:2019-10-25 格式:PPT 页数:35 大小:2.26MB
返回 下载 相关 举报
C语言_第7章.ppt_第1页
第1页 / 共35页
C语言_第7章.ppt_第2页
第2页 / 共35页
C语言_第7章.ppt_第3页
第3页 / 共35页
C语言_第7章.ppt_第4页
第4页 / 共35页
C语言_第7章.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《C语言_第7章.ppt》由会员分享,可在线阅读,更多相关《C语言_第7章.ppt(35页珍藏版)》请在三一文库上搜索。

1、第七章 循环结构与转移语句,第七章 循环结构与转移语句,7.1 循环结构 7.2 当型循环语句 while语句 7.3 直到型循环语句 do-while语句 7.4 for语句 7.5 循环语句的比较 7.6 循环的嵌套 7.7 转向语句 7.8 综合运用 7.9 实战练习,本章学习内容,第七章 循环结构与转移语句,假设需要计算1+2+3+100的和 常规定义:int sum; sum = 1+2+3+100 /*C语言没有省略号*/ C语言的循环语句用来解决这个问题,7.1 循环结构,需要重复做有规律的运算,可以使用循环结构 特点: 在给定条件成立时,反复执行某个语句块,直到条件不成立为止

2、(其中:给定的条件称为循环条件;反复执行的语句块称为循环体),三种循环语句: while语句、do-while语句、for语句,7.2 当型循环语句while语句,一般形式: while(表达式) 语句块; ,7.2 当型循环语句while语句,执行过程: 1. 计算表达式的值,若表达式的值为非0(逻辑真),执行步骤2;若表达式的值为0(逻辑假),执行步骤4 2. 执行循环体 3. 转回步骤1,重新执行 4. 循环结束,执行while循环语句后面的语句,7.2 当型循环语句while语句,例如: i = 0; while(+i = 100) sum += i; printf(“sum=%dn”

3、, sum);,7.2 当型循环语句while语句,说明: 1. while是C语言的关键字,后面的圆括号中的表达式可以是C语言任何合法的表达式,但不能为空 2. 循环体中的语句可以是空语句、一条语句或多条语句,当循环体中只有一条语句时,可以省略花括号 3. 无法终止的循环称为死循环,正常情况下,循环体中除了执行语句外,还需要控制循环的值,避免出现死循环 4. while语句是先判断后执行,若表达式的值一开始为0,那么循环体一次都不执行,7.3 直到型循环语句do-while语句,一般形式: do 循环体语句块; while(表达式);,7.3 直到型循环语句do-while语句,执行过程:

4、1. 执行do后面的循环体 2. 计算while后面圆括号内表达式的值,若值为非0(逻辑真),执行步骤1;若值为0(逻辑假),执行步骤3 3. 结束循环,执行do-while之后的语句,7.3 直到型循环语句do-while语句,例如: i = 1; do sum += i; while (+i = 100); printf(“sum=%dn”, sum);,7.3 直到型循环语句do-while语句,说明: 1. do和while一样,也是C语言关键字,do必须和while联合使用 2. while语句圆括号中的表达式,可以是C语言任意合法的表达式 3. while语句后面的分号不能省略 4

5、. 与while语句不同,do-while语句总是先执行一次循环体,无论表达式的值为0还是非0,循环体都至少被执行一次,7.4 当型循环语句for语句,一般形式: for (表达式1;表达式2;表达式3) 循环体语句; ,7.4 当型循环语句for语句,执行过程: 1.首先计算表达式1的值 2. 计算表达式2的值;若表达式2的值为非0(逻辑真),执行步骤3;若值为0(逻辑假),执行步骤5 3. 执行for语句的循环体 4. 计算表达式3的值,执行步骤2 5. 结束循环,执行for语句后的语句,7.4 当型循环语句for语句,例如: for (i = 1; i = 100; i+) sum +=

6、 i; printf(“sum=%dn”, sum);,7.4 当型循环语句for语句,说明: 1.for是C语言的关键字,表达式1、表达式2和表达式3称为for语句的3个要素,分别对应循环的起点、循环执行条件和循环值的更新。一般形式中的中括号,代表三个表达式在使用时可以省略 2.表达式1给出循环的起始值 3.表达式2是循环控制条件,用来决定是否继续执行循环体,一般为关系表达式或逻辑表达式 4.表达式3是每次执行循环体后循环变量值的更新语句 5.循环体语句可以是空语句、一条语句或语句块,7.4 当型循环语句for语句,注意: 1. 省略表达式1、表达式2或表达式3时,要注意它们之间的分号, 例

7、如:for ( ; ; ) /*合法的for语句,表示无限循环*/ 2. for语句的执行过程中,表达式1只被计算1次;表达式2和表达式3可能被计算多次;循环体也可能被执行多次,当表达式2的值为0时,循环体一次都不执行,7.4 当型循环语句for语句,for语句的变体 1.for语句中省略表达式1,表达式1的作用是对循环变量设置初值,如果省略表达式1,需要在for语句之前就给循环变量赋初值 i = 1; for ( ; i = 100; i+) ; 省略表达式1时,表达式1和2之间的分号不能省略!,7.4 当型循环语句for语句,2.for语句中省略表达式2 省略表达式2,不判断循环条件时,f

8、or语句会无限执行,使得程序进入死循环 为了避免死循环,需要使用转向语句break,后续章节介绍,7.4 当型循环语句for语句,3.for语句中省略表达式3 省略表达式3时,若要保证循环体正常结束,需要在循环体内控制循环变量值的更新,for (i = 1; i = 100; ) sum += i; i+; ,7.4 当型循环语句for语句,4. 表达式1是与循环变量赋值无关的表达式,int sum; int i = 1; for (sum = 0; i = 100; i+) sum += i; ,7.4 当型循环语句for语句,for语句中逗号应用 表达式1和表达式3,可以使用逗号表达式 f

9、or (sum = 0,i = 1; i = 100; i+) sum += i; ,7.5 循环语句的比较,1.while语句和do-while语句只在while后面指定循环条件,在循环体中应包含循环趋于结束的语句;for语句可以在表达式3中包含使循环趋于结束的操作,可以在循环体中包含使循环趋于结束的操作 2.循环变量的初始化应该在while语句和do-while语句之前完成;for语句可以在之前完成初始化,也可以在表达式1中完成初始化 3.while语句和for语句只有在循环条件满足的前提下执行循环体;do-while语句无论循环条件是否满足,都会先执行一次循环体 4.三种循环语句都可以使

10、用break语句跳出循环,都可以使用continue语句结束本轮循环剩余语句并执行下一次循环操作,7.6 循环的嵌套,1.while语句中嵌套while语句,while(表达式) 语句块: while(表达式) 语句块: ,7.6 循环的嵌套,2. while语句中嵌套do-while语句,while(表达式) 语句块: do 语句块: while (表达式); ,7.6 循环的嵌套,3. while语句中嵌套for语句,while(表达式) 语句块: for (表达式1; 表达式2; 表达式3) 语句块; ,7.6 循环的嵌套,4. do-while语句中嵌套do-while语句,do 语句

11、块: do 语句块; while (表达式); while(表达式);,7.6 循环的嵌套,5. for语句中嵌套for语句,for (表达式; 表达式; 表达式) 语句块: for (表达式; 表达式; 表达式) ,7.7 转移语句,转向语句又称为转移语句,可以改变程序的执行流程,使程序从其所在的位置转移到另一处执行 转移语句包含goto语句、break语句和continue语句 其中goto语句是无条件转移语句 break语句是终止整个循环,使程序从当前循环退出 continue语句只是结束本次循环的剩余语句,转去执行下一轮循环,goto语句 goto语句是无条件转移语句,可以使程序立即跳

12、转到函数内部的任意一条可执行语句 goto语句的一般形式为: goto 标识符; 例如: goto flag; printf(“this message is not print!”); flag: printf(“this message will be print!”);,7.7 转移语句,注意: 1.goto语句的跳转方向可以是当前位置之前,也可以是当前位置之后;可以跳出一个循环,也可以跳入一个循环 2.结构化程序设计不提倡使用goto语句,因为goto语句会使程序的执行流程无规律、可读性差,但也不是绝对禁止使用 3.goto语句可以从循环体中跳转到循环体外,甚至一次性跳出多重循环,7.

13、7 转移语句,一般形式: break; 例如: while(1) i+; if (i 10) break; ,break语句 break语句在switch语句中的作用是退出switch语句;在循环语句中是使程序跳出当前循环,执行循环后面的语句,注意: break语句不能用于switch语句和循环语句之外的其他任何语句中,7.7 转移语句,continue语句 continue语句用于终止本次循环,跳出循环剩余语句,执行下一次循环 一般形式: continue;,注意: continue语句只结束本次循环,而不是终止整个循环; break语句则是结束整个循环,7.7 转移语句,7.9 实战练习,1.分别使用while语句、do-while语句和for语句打印大写字母ASCII码 2.累加1-100的值,当和超过4000时,使用break语句终止累加,输出结果 3.改写例7.2,使用continue语句输出0100之间不能被3整除的数,END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1