在许多问题中需要用到循环控制。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。下面介绍4种语句。
一、goto语句
goto 语句为无条件转向语句,它的一般形式为
goto 语句标号;
语句标号用标识符表示,它的定名规则与变扯名相同,即由字母、数字和下划线组成,
其第一个字符必须为字母或下划线。不能用整数来作标号。
结构化程序设计方法主张限制使用
goto
语句,因为滥用
goto
语句将使程
序流程无规律、可读性差。但也不是绝对禁止使用
goto
语句。一般来说,有两种用途
(1)
if
语句一起构成循环结构。
(2)
从循环体中跳转到循环体外,但在
语言中可以用
break
语句和
continue
语句
跳出本层循环和结束本次循环。 goto
语句的使用机会已大大减少,只是需要
从多层循环的内层循环跳到外层循环外时才用到 goto
语句。但是这种用法不符合结构 化原则,一般不宜采用
只有在不得已时(例如能大大提高效率)才使用。
二、while语句
while
语句用来实现“当型“循环结构。其一般形式如下:
while
(表达式)语句
例如
注意:
(1)
循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。 如果不加花括号,则 while
语句的范围只到
while
后面第一个分号处。
(2)
在循环体中应有使循环趋向于结束的语句。
三、do while语句
do
while
语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形 式为:
do
循环体语句
while
(表达式);
它是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为 非零("真")时,返回重新执行循环体语句,如此反复,直到表达式的值等于 为止,此时循环结束。
与while的对比
可以看到:对同一个问题可以用
while
语句处理,也可以用
do
while
语句处理
do
while
语句结构可以转换成
while 结构。do
while
结构是由一
个语句加一个
while
结构构成的
一般情况下
while
语句和用
do
wh
il
语句处理同一问题时,若两者的循环体部分是一
样的,它们的结果也一样
四、for循环
c语言中的 for 语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可 以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替 while 语句。
for
语句的一般形式为
for(
表达式
1;
表达式
2;
表达式
3)
语句
它的执行过程如下:
(1)
先求解表达式1
(2)
求解表达式
2,
若其值为真(值为非 0
则执行
for
语句中指定的内嵌语句,然后
执行下面第
(3)
步。若为假(值为 0
则结束循环,转到第
(5)
步。
(3)
求解表达式3
(4)
转回上面第
(2)
步骤继续执行。
(5)
循环结束,执行
for
语句下面的一个语句。