3.1 while语句

更新于 2026年10月10日 版权声明
3.1 while语句

while语句的基本格式为:

whi le(表达式)

循环语句;

先判断括号里的表达式是否成立,当表达式为真时,执行循环语句;当表达式为假时,不执行循环语句,退出循环。while语句的流程图如图3-1所示。

图示

图3-1 while语句的流程图

循环语句可以是一句,即第一个分号前的这一句,也可以是多句,如果有多句循环语句,一定要用大括号将多句括起来,组成复合循环语句。例如,实现x的初值为3,当x>0时,输出x的值的程序如下:

x=3;

whi le(x 0)

print f(“%d”,x);

因为3>0,括号里的表达式成立,因此该程序执行循环语句后的结果就是输出x的值3。然后再判断括号里的表达式是否成立,3>0成立,则继续执行循环语句,又输出x的值3,依次循环下去,这会构成死循环,永远不会停止。因此,在编写循环结构的程序时,一定要考虑使循环终止执行的条件,那就是括号里的表达式不成立的条件,否则编写的程序就没有意义了。

如果在程序中添加一句变量自增或自减的程序,如

x=3;

whi le(x 0)

{

print f("%d",x);

x--;

}(https://www.daowen.com)

大括号里的两条语句都是循环语句。x的初值为3,3>0,表达式成立,执行循环语句,输出3,x自减1,x的值变为2,第1轮循环结束。再判断2>0,表达式成立,执行循环语句,输出2,x自减1,x的值变为1,第2轮循环结束。再判断1>0,表达式成立,执行循环语句,输出1,x自减1,x的值变为0,第3轮循环结束。再判断x>0是否成立,表达式不成立,不执行循环语句,退出循环。整个程序的执行结果是输出了321。

如果上述程序没有加大括号,即

x=3;

whi le(x 0)

pr int f("%d",x);

x--;

循环语句只包括while后面第一个分号前的那一句,而不包括x--,因此又构成了死循环,每次判断3>0均成立,因此一直输出3,永不停止。

如果while后面第一个分号前是空的,即空语句,也是合法的,如

whi le(x 0);

上述语句也就是指当x 0时什么也不执行。

例3-1 求1到10的整数之和。

程序流程图如图3-2所示。

程序如下:

图示

图示

图示

图3-2 求1到10的整数之和的流程图

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)