C语言的while循环语句
C语言本身有3种程序结构,分别是:
- 顺序结构:语句一句一句执行,从头执行到结尾;
- 选择结构:可以理解为是分支结构,根据判断结构来选择向哪个方向进行,类似前面说的
if、else
语句; - 循环结构:循环结构是这3个里面最复杂的,因为它自身有一个循环体,结构本身也是根据判断的结构,来决定循环体到底执行多少次,只要条件满足,循环体可以执行到天荒地老,此恨绵绵。主要的有上一次的
for
循环,还有今天说的while
循环
while循环有两个,分别为while循环和do-while循环
while循环
一般形式如下:
1 | while(表达式) |
其中执行过程如下:
- 计算
while
后面括号里表达式的值,若其结果非0,则转入2,否则转3 - 执行循环体,转到1
- 退出循环,执行循环体下面的语句。
由于是先执行判断后执行循环体,所以循环体可能一次都不执行。
循环体可以为空语句;
,不过这个基本没有什么卵用。
do-while循环
与while
循环类似,还有一个do-while
循环,一般形式如下:
1 | do |
执行过程如下所示:
- 执行循环体,转2
- 计算
while
后面括号里表达式的值,若其结果非0,则转入1,否则转3 - 退出循环,执行循环体下面的语句。
注意:do……while语句最后的分号(;)不可少,否则提示出错。
这里可以看到,两种循环的区别是do-while
至少执行一次。
简单举几个例子如下:
1 | /*beginner/while/while.c*/ |
相应地Makefile如下所示:
1 | #beginner/for/Makefile |
输入make
,然后./while
输出如下:
1 | $./while |