在许多问题中需要用到循环控制。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。下面介绍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 whil 语句处理同一问题时,若两者的循环体部分是一样的,它们的结果也一样
四、for循环
c语言中的 for 语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可 以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替 while 语句。
for 语句的一般形式为
for( 表达式 1; 表达式 2; 表达式 3) 语句
它的执行过程如下:
(1) 先求解表达式1
(2) 求解表达式 2, 若其值为真(值为非 0则执行 for 语句中指定的内嵌语句,然后
执行下面第 (3) 步。若为假(值为 0则结束循环,转到第 (5) 步。
(3) 求解表达式3
(4) 转回上面第 (2) 步骤继续执行。
(5) 循环结束,执行 for 语句下面的一个语句。