C 语言 - 循环语句
循环结构是程序设计中的另一种常用结构,比如在某些场景,你需要重复执行某一段代码很多次,这时候就需要用到循环语句了。本文将详细介绍 C 语言中循环语句的多种写法,掌握这些知识点,你将能够设计出拥有更为复杂执行路径的程序。
下面是大多数编程语言中循环语句的流程图:
while 循环
只要给定的条件为 true,C 语言中的 while
循环语句会重复执行同一个语句块,直到条件变为 false。
语法
C 语言 while
循环语句的语法如下:
while (condition) {
statement(s);
}
这里的 condition
可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。
statement(s)
可以是一个单独的语句,也可以是几个语句组成的代码块。如果是单条语句,可以不使用大括号包裹。
流程图
注意:while
循环有可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while
循环的下一条语句。
示例代码
#include <stdio.h>
int main(void)
{
/* local variable definition */
int a = 10;
/* while loop execution */
while (a < 20) {
printf("value of a: %d\n", a);
a++;
}
return 0;
}
编译、执行上述代码,输出结果如下:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
do...while 循环
和 while
循环不同,do...while
循环是在循环的尾部检查它的条件。也就是说,do...while
循环会确保至少执行一次循环。
语法
C 语言 do...while
循环语句的语法如下:
do {
statement(s);
} while (condition);
条件表达式 condition 出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。
流程图
示例代码
#include <stdio.h>
int main(void)
{
/* local variable definition */
int a = 10;
/* do loop execution */
do {
printf("value of a: %d\n", a);
a = a + 1;
} while (a < 20);
return 0;
}
编译、执行上述代码,输出结果如下:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19