梦想不会自己发光,真正闪耀的是那个为梦狂奔的你。献给知行的孩子们!(Eric.He著)
本教程将从 C++ 嵌套循环的核心概念、执行原理,到 for嵌套、while嵌套、do-while嵌套、混合嵌套的完整用法,全面讲解嵌套循环的使用方法,帮助你掌握二维平面、矩阵、图形打印等高级循环技巧。
嵌套循环:指在一个循环的循环体内部,再定义另一个循环。
外层循环执行一次,内层循环执行完整一轮。
总执行次数 = 外层循环次数 × 内层循环次数
// 外层 for 循环(控制行)
for (外层初始化; 外层条件; 外层更新) {
// 内层 for 循环(控制列)
for (内层初始化; 内层条件; 内层更新) {
// 循环体
}
}
#include <iostream>
using namespace std;
int main() {
// 外层:3行
for (int i = 1; i <= 3; i++) {
// 内层:4列
for (int j = 1; j <= 4; j++) {
cout << "* ";
}
cout << endl; // 每行结束换行
}
return 0;
}
输出:
* * * * * * * * * * * *
// 外层循环变量初始化
while (外层条件) {
// 内层循环变量初始化
while (内层条件) {
// 循环体
// 内层变量更新
}
// 外层变量更新
}
#include <iostream>
using namespace std;
int main() {
int i = 1; // 外层
while (i <= 3) {
int j = 1; // 内层
while (j <= 4) {
cout << "*";
j++;
}
cout << endl;
i++;
}
return 0;
}
// 外层初始化
do {
// 内层初始化
do {
// 循环体
// 内层更新
} while (内层条件);
// 外层更新
} while (外层条件);
注意:每个 while 后必须加分号 ;
#include <iostream>
using namespace std;
int main() {
int i = 1;
do {
int j = 1;
do {
cout << i << "," << j << " ";
j++;
} while (j <= 4);
cout << endl;
i++;
} while (i <= 3);
return 0;
}
任意循环之间都可以互相嵌套:
语法规则不变,只需要保证:外层循环包裹内层循环
#include <iostream>
using namespace std;
int main() {
// 外层 for
for (int i = 1; i <= 3; i++) {
int j = 1;
// 内层 while
while (j <= 4) {
cout << "*";
j++;
}
cout << endl;
}
return 0;
}