内容正文:
YCF
(中职)计算机程序设计(C语言)第五章第2节教学课件工信版
1
第五章 循环结构程序设计
5.2 while循环语句
while循环语句,也称当型循环语句。
当条件为真时,执行循环体语句,直到条件不成立,退出循环体。
1、while循环语句的一般格式
一般格式:
while(表达式)
{
语句( 循环体);
}
其中:
while是关键字,表达式也叫条件式,通常情况下是关系式或逻辑式,但是C语言中支持任何表达式作为条件式;循环体语句若只有一句,则“{ ” 、“}”这一对大括号可以省略。
(1)首先计算while语句后面的表达式(也叫条件式)的值,如果表达式的值为非0(即为真),则执行循环体
(2)然后再返回到while语句后面的表达式,再判断表达式的值,如果还是非0,则重复执行循环体,直到while语句后面的条件表达式为0(即为假)时,退出循环语句,执行循环语句的下一个语句。
2、while语句的执行过程:
如下图(图5-2)
3、while语句的执行流程图
条件表达式
循环体语句
假
真
图5-1
4、使用while语句时应该注意以下几点
(1)while语句中的表达式一般是关系表达式或逻辑表达式,通常把该表达式称作循环条件。while循环语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。因此,如果表达式的值开始就为0(即为假),则循环体一次也不执行。
(2)循环体如果包含一条以上的语句,应该用“{、}”括起来,以复合语句形式出现,否则,循环体只是while后第一个分号前的一条语句。
4、使用while语句时应该注意以下几点
(3)在循环体中应有改变表达式的值的语句,以便使循环趋向结束。一般称使循环趋向结束的变量为循环变量。如果没有该语句或该语句没有使循环结束的趋势,则可能导致循环无法中止(即进入死循环),这是正常设计程序中应该避免的。
(4)允许在while语句的循环体语句再用while语句,即形成循环的嵌套。
5、应用举例
【例5-2】用while语句求解s=1+2+3+4+5+6+7+8+9+10 的值。
#include <stdio.h>
main()
{ int i=1,s=0; // i=1循环变量赋初值
while(i<=10) // i<=10 循环条件式
{ s+=i; // 循环体语句
i++; // 改变条件式的语句
}
printf(“s=%d”,s);
}
程序设计:
5、应用举例
【例5-2】用while语句求解s=1+2+3+4+5+6+7+8+9+10 的值。
分析:本例中,i=1,循环变量赋初值,while后的i<=10是循环的条件,s+=i;是循环体,i++;循环变量值重置,以便循环能趋向结束,printf(“s=%d”,s);是循环后续语句。
拓展练习
上例中我们是求解1到10之间的数的和,那么,如何用while语句求解100以内的奇数之和呢?
程序设计:
#include <stdio.h>
main()
{ int i=1,s=0; // i=1循环变量赋初值
while(i<=100)// i<=100 循环条件式
{ s+=i; // 循环体语句
i=i+2; // 改变条件式的语句
}
printf(“s=%d”,s);
}
拓展练习
上例中我们是求解1到10之间的数的和,那么,如何用while语句求解100以内的奇数之和呢?
说明:本题与例5.2相比,整体方法是一样的,只是循环条件发生了改变,改成i<=100,循环变量增量由例5.2中的增1变为增2,以得到累加的项为奇数。
$