for循环

来自cppreference.com
< c‎ | language

执行循环。

使用和while循环较为相似。

目录

[编辑] 语法

for ( init_expression ; cond_expression ; iteration_expression ) loop_statement

[编辑] 解释

除非有continue语句,上面的语法产生的代码等价于:

{
init_expression ;
while ( cond_exression ) {
loop_statement
iteration_expression ;
}

}

init_expression在循环开始之前执行。cond_expression会被计算得到一个值并转换为bool类型,在每一次循环开始之前。循环只在其值为true时继续执行。loop_statement会在每次循环中执行,然后则会执行iteration_expression

如果循环需要在循环中某个位置终止,break语句可以作为这个终止的语句。

如果循环需要跳到循环体尾部继续执行,可以使用continue语句。当循环体(loop_statement)中含有continue时,每个continue都会跳转到iteration_expression而不是继续执行之后的循环部分。这样,每次循环中iteration_expression都保证会被执行(除非我们用break跳出循环)。

[编辑] 关键字

for

[编辑] 示例

下面的示例演示用for循环操作数组

#include <stdio.h>
#include <stdlib.h>
 
#define SIZE 8
 
int main (int argc, char **argv)
{
    unsigned i = 0, array [SIZE];
 
    for( ; i < SIZE; ++i)
        array [i] = random() % 2;
 
    printf("Array filled!\n");
 
    for (i = 0; i < SIZE; ++i)
        printf("%d ", array[i]);
 
    printf("\n");
 
    return EXIT_SUCCESS;
}

输出:

Array filled!
1 0 1 1 1 1 0 0