第6章循环控制语句

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
达式的值为 0 结束循环,转去执行while下面的语句。
2019/1/8
17
6.2 do-while语句
2、执行过程
流程图 循环体 Y
表达式非0? 注意i++的位置
N-S结构图
循环体
当表达式为真
N 用do-while语句 求100个自然数的和
2019/1/8 18
while与do while对比:
主要内容:

6.1 while语句


6.2 do-while语句
6.3 for语句 6.4 循环嵌套 6.5 循环控制语句
6.2 do-while语句

1、格式
do {循环语句} while (表达式);

功能: 先执行内嵌语句(循环体),之后计算表达式的值,
不为0(逻辑真)时,再执行循环体并判断条件,直到表
2019/1/8
循环结构中的术语:

循环条件与循环结束条件 循环变量以及循环变量初值 循环体 避免死循环(循环体中有趋向于循环结束的语句)
6.1 while语句
说明:

while要小写,一对小括号不能省略 如果while的 (表达式) 值为0,则循环体一次也不执行 (例如当i的初值 =101) 。 循环的控制范围用{}限制 在循环体中必须有使循环趋向结束的操作,否则循环将无限进行(死 循环)。 在循环体中,语句的先后位置必须符合逻辑,否则会影响运算结果。

6.1 while语句

1、格式
while (表达式) {循环体语句}



一般为关系表达式 或逻辑表达式,也 可以是C语言其他类 型的合法表达式 用来控制循环体是 否执行 与if(表达式)区别



称为内嵌语句,可以 是基本语句、控制语 句,也可以是复合语 句 是循环重复执行的部 分 注意{}的有无
2019/1/8 8
6.1 while语句
【例 6.2】显示1~10的平方 运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
14
#include <stdio.h> main() { int i=1; while(i<=10) { printf("%d*%d=%d\n",i,i,i*i); i++; }}


思考程序段的输出? …… while (i<=100) { i++; s=s+i; } 2019/1/8
运行后,输出: s=5150 原因是什么?
12
6.1 while语句
例:循环进行了多少次?输出的值? 结果 : *1 main( ) *2 { int number=0; **3 while(number++<=1) (1) printf(“*%d\n”,number); printf(“**%d\n”,number); (2) } 输出number 条件表达式 条件表达式 执行哪个 执行次数 中变量的值 printf语句 的值 1 0 (1) 1 2 1 (1) 2 3 2 (2) 3
循环体
8
6.1 while语句
【例6.1】编写程序,求1-100这100个自然数的和 即: s=1+2+3+ … +100
思路:寻找加数与求和的规律
2019/1/8
9
6.1 while语句
算法和程序: i=1,s=0
当i <= 100
s=s+i
i++
输出s
程序输出结果: s=5050
10
i: 循环控制变量 s: 累加器
6.2 do while语句
【例6.3】猴子第一天摘下若干个桃子,当天吃了一半,
还不过瘾,又多吃了一个。第二天早上又将剩下的桃子
吃掉一半,又多吃了一个。以后每天早上都吃了前一天 剩下的一半零一个。到第十天早上再想吃时,就只剩一 个桃子了。求第一天共摘了多少个桃子?
2019/1/8
20

分析过程:
2019/1/8
5
本章要点:


掌握while、do~while、for的格式与执行过程
理解术语:循环条件、循环结束条件、循环体 能够利用三种语句编写简单的循环结构程序 能够读懂for循环嵌套和break、continue语句构成的程序 并能得出正确的结果 重点:三种语句的格式和执行过程 难点:循环嵌套的执行过程、break、continue用法
6.2 do while语句
程序运行结果: 桃子总数为:1534
2019/1/8
22
6.2 do-while语句
【例6.4】用辗转相除法求m和n的最大公约数 辗转相除法: 已知两个数M和N,假定M>N,则求M%N,若余数r 为0,则N即为是所求,若余数r不为0,用N除 r,再求 其余数……直到余数为0,则除数就是最大公约数。 如:m=15;n=12; r=m%n,即r=3,其值!=0,继续用 (n=12)%(r=3),其值为0 ,此时的3即为所求
7
2019/1/8
6.1 while语句

功能: 计算表达式的值,为非 0 (逻辑真)时,重复执行内 嵌语句,然后重新计算表达式的值,直到表达式的值为 0 时结束循环,转去执行while结构后面的语句。

2、执行过程
流程图
循环控制条件
N-S结构图
当表达式为真
表达式非0?
N
语句
Y 语句
2019/1/8
2019/1/8
6.1 while 语句

总结
1、掌握while的格式与执行过程 2、分析出循环体 3、确定循环条件(或循环结束条件) 4、注意循环条件的表示(符合C语言的语法及其表达式的要 求) 5、明确循环变量及其初值 6、while小写,while后面小括号不能省略 7、循环体用{}括起来,如果循环体只有一条语句,则{}可以 省略 8、while后面的表达式可以是C任意类型的表达式
青岛理工大学琴岛学院
Leabharlann Baidu
第六章 循环控制语句
求任意一个整型数据的平方?
三个任意数的 平方如何求?
仔细观察右侧程序?
循环结构: 根据条件是否成立 决定是否重复执行某个程序段
主要内容:

6.1 while语句


6.2 do-while语句
6.3 for语句 6.4 循环嵌套 6.5 循环控制语句
2019/1/8 23
6.2 do-while语句
算法描述:
定义m、n、r m<n T F m和n交换 r=m%n m=n n=r 当r != 0时 输出最大公约数m
相关文档
最新文档