C for 循环

for 循环允许您编写一个执行指定次数的循环控制结构。

语法

C 语言中 for 循环的语法:

  1. for ( init; condition; increment )
  2. {
  3. statement(s);
  4. }

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

流程图

C 中的 for 循环

实例

  1. #include <stdio.h>
  2. int main ()
  3. {
  4. /* for 循环执行 */
  5. for( int a = 10; a < 20; a = a + 1 )
  6. {
  7. printf("a 的值: %d\n", a);
  8. }
  9. return 0;
  10. }

当上面的代码被编译和执行时,它会产生下列结果:

  1. a 的值: 10
  2. a 的值: 11
  3. a 的值: 12
  4. a 的值: 13
  5. a 的值: 14
  6. a 的值: 15
  7. a 的值: 16
  8. a 的值: 17
  9. a 的值: 18
  10. a 的值: 19

编译运行时报错

有些编译器运行上述语句时会报错,如下:

  1. [Error] 'for' loop initial declarations are only allowed in C99 or C11 mode

意思是“不允许在for内部定义变量”

改为:

  1. int a=10;
  2. for(; a<20; a=a+1){
  3. }

后即可运行。