多重循环

阅读 20

07-14 21:00

根据循环语句的循环体作为循环语句,可以分成双重循环、三重循环等。这样的循环结构我们称为多重循环。之前我么见过的程序中的循环、结构都比较简单。实际上,在一个循环中可以嵌套另一个循环。使用二重循环实现九九乘法表的程序代码如下:

#include <stdio.h>
int main() {
    // 外层循环控制行数,即乘法表的左侧数字
    for (int i = 1; i <= 9; i++) {
        // 内层循环控制列数,即乘法表的右侧数字
        for (int j = 1; j <= i; j++) {
            // 打印每个乘法表达式,并格式化输出
            printf("%d * %d = %2d\t", i, j, i * j);
        }
        // 每打印完一行乘法表后换行
        printf("\n");
    }
    return 0;
}

外侧的for语句的作用使变量i的值从1到9递增,其循环分别对应乘法表的第一行,第二行.....即纵方向的循环。各行执行的内侧的for语句的作用是使变量j的值从1到i递增,这是各行那个中的横方向的循环。在C语言中,break语句的核心作用break语句的作用域严格限定break只能终止当前正在执行的那一层循环,外层循环不会受到影响。我们看下面的例子:双重循环中的break语句

for (int i = 0; i < 3; i++) {       // 外层循环(i=0,1,2)
    for (int j = 0; j < 3; j++) {   // 内层循环(j=0,1,2)
        if (j == 1) break;          // 当j=1时,跳出内层循环
        printf("i=%d,j=%d ", i, j); 
    }
    printf("
");  // 每完成一次外层循环的内层遍历后换行
}


精彩评论(0)

0 0 举报