C语言for循环语句的用法

前面学习的 do-while 语句和 while 语句都适合于解决循环次数未知的重复操作,在C语言中,如果已知重复操作的次数,可以使用 for 循环语句,其一般格式如下:
for(循环变量初始化;循环条件;循环变量增量)
{
    循环体         //一条或多条 C 语句
}                  //若循环体内只有一条语句,则花括号可以不写

循环变量必须在 for 循环语句之前被声明过,一般定义为 int 型。循环变量增量一般情况下是递增或递减循环变量的语句,比如 i++、i--、++i、i-=2、i=i+2、i%=4 等等。

图 1a) 展示了 for 循环语句的执行过程:

1) 循环变量赋初值;
2) 判断循环条件,如果成立,执行循环体内的语句;如果不成立,则转到步骤 5;
3) 执行循环变量增量语句;
4) 转回步骤 2 继续执行;
5) 循环结束,执行 for 循环语句后面的语句。


图 1b) 为输出 1~100 的所有整数的 for 语句示例(红色箭头为循环执行顺序,变量 i 为循环变量)。

for 循环语句的执行过程
图 1:for 循环语句的执行过程

for循环语句的嵌套

如果把一个 for 循环语句放在另一个 for 循环语句的循环体中,就构成了 for 循环的嵌套。其一般格式如下:
for(外层循环变量 i 初始化;外层循环条件;外层循环变量 i 增量)
{
    ……
    for(内层循环变量 j 初始化;内层循环条件;内层循环变量 j 增量)  
    {
        内层循环体
    }
    ……
}

在 for 循环的嵌套中,内层的 for 循环语句要执行外层的循环变量 i 所指定的次数。例如,要打印 3 行“12345”,就可以使用 for 循环的嵌套。外层的循环从 1 到 3,而内层的循环从 1 到 5,如图 2 所示。

for 循环语句的嵌套
图 2:for 循环语句的嵌套