学习目标
理解并掌握循环的概念及其算法描述
理解并掌握程序设计中构成循环的方法
熟练掌握while语句的结构及使用
熟练掌握do-while 语句的结构及使用
重点
while语句的结构及其使用方法
do while语句的结构及其使用方法
正确区分do…while语句与while语句
do…while语句与while语句的应用
难点
do…while语句与while语句的应用
分析总结常用的程序设计方法及算法特点,并能编写相应的程序
引言
重复执行就是循环。重复工作是计算机特别擅长工作之一。
重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。
重复的动作是受控制的,C语言提供三种循环控制语句,构成了三种基本的循环结构。
一、while语句
1. while语句格式
可以使用while语句实现“当型”循环结构
while语句格式如下:
while(表达式)
循环体语句
2. while语句流程
while语句的执行过程如图5.1所示。
首先计算表达式的值,若表达式为非0值(真),则执行while语句中的循环体语句。然后再次计算表达式的值;若表达式为非0值(真),则再执行循环体语句,……,如此循环,一直到表达式的值为0(假)时,结束循环。

图5.1 while语句流程图
3. 应用举例
例5.1 用while语句求1+2+3+4+…+99+100
4. while语句说明
(1)如果首次计算while后面的表达式时值为0,则循环体一次也不执行。如下所示,如果从键盘为变量x输入0或负数,则不执行循环体语句。
scanf("%f", &x);
while(x>0)
{ sum+=x;
scanf("%f", &x);
}
printf("%f", sum);
(2) 若被反复执行的循环体若干个基本语句,应该将这些基本语句用大括号括起来,以复合语句的形式出现。
(3) 在循环体中,要有使循环趋向于结束的语句,否则形成死循环。如下面代码所示,循环体中没有改变循环条件的语句,所以表达式n<=100永远为真,不能结束循环。
int n=1, sum=0;
while( n<=100)
sum+=n;
二、do...while语句
1. do...while语句格式
可以使用do-while语句实现“直到型”循环结构。
do-while语句格式如下:
do
循环体语句
while(表达式);
2. do...while语句流程
do-while语句的特点是先执行循环体,然后判断循环条件是否成立。do-while语句的执行过程如图5.2所示。先执行一次循环体语句,然后计算表达式,若表达式的值为非零(真),再将循环体语句执行一次,……,如此循环,直到表达式的值等于0(假)时结束循环。

图5.2 do...while语句流程图
3. 应用举例
例5.2 从键盘输入若干个数,当其中正数的和超过5000时停止输入,统计输入正数的个数并求正数的平均值。
例5.3 从键盘输入一个正整数,求其各位数码之和。例如,输入12345,输出15。
4. do...while说明
(1) do...while循环是先执行循环体,然后判断表达式的真假。这样,循环体至少可以被执行一次。
(2) do...while循环和while循环一样,在循环体中也一定要有使循环趋向于结束的语句,否则循环永不结束,形成死循环。

