C++ 中的循环语句用于执行重复任务,主要有三种类型:
-
for
循环:适用于已知循环次数的情况。 -
while
循环:适用于循环次数不确定,但满足某个条件时继续执行的情况。 -
do-while
循环:类似while
,但至少会执行一次循环体。
1. for
循环
语法:
for (初始化; 条件; 更新) {
// 循环体
}
运行流程:
-
初始化:只执行一次,用于初始化循环变量。
-
条件:每次循环前检查,如果条件为
true
,继续执行循环体;否则,结束循环。 -
循环体:执行循环的主要逻辑。
-
更新:每次循环后执行,通常用于更新循环变量的值。
示例:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) { // i 依次取 0,1,2,3,4
cout << "当前 i = " << i << endl;
}
return 0;
}
输出:
当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
2. while
循环
语法:
while (条件) {
// 循环体
}
运行流程:
-
先检查 条件,如果为
true
,则执行循环体,否则退出循环。 -
执行 循环体。
-
回到 条件 进行判断,重复上述过程,直到条件为
false
。
示例:
#include <iostream>
using namespace std;
int main() {
int i = 0;
while (i < 5) { // 只要 i < 5 就继续循环
cout << "当前 i = " << i << endl;
i++; // 更新变量,防止无限循环
}
return 0;
}
输出:
当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
3. do-while
循环
语法:
do {
// 循环体
} while (条件);
运行流程:
-
先执行 循环体一次。
-
再检查条件,如果
true
,继续执行;否则,终止循环。
示例:
#include <iostream>
using namespace std;
int main() {
int i = 0;
do {
cout << "当前 i = " << i << endl;
i++;
} while (i < 5);
return 0;
}
输出:
当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
4. 循环控制语句
4.1 break
语句
break
用于立即终止循环,直接跳出循环体。
示例:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // i == 5 时跳出循环
}
cout << "当前 i = " << i << endl;
}
return 0;
}
输出:
当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
4.2 continue
语句
continue
用于跳过当前循环的剩余部分,直接进入下一次循环。
示例:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过 i == 2
}
cout << "当前 i = " << i << endl;
}
return 0;
}
输出:
当前 i = 0
当前 i = 1
当前 i = 3
当前 i = 4
(i == 2
被跳过)
4.3 goto
语句
goto
用于跳转到指定的标签,通常不推荐使用。
示例:
#include <iostream>
using namespace std;
int main() {
int i = 0;
loop_start:
cout << "当前 i = " << i << endl;
i++;
if (i < 5) {
goto loop_start; // 跳转回标签 loop_start
}
return 0;
}
输出:
当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
5. for
vs while
vs do-while
对比
循环类型 | 适用场景 | 先判断条件? | 最少执行次数 |
---|---|---|---|
for | 已知次数的循环 | 是 | 0 |
while | 条件成立才执行 | 是 | 0 |
do-while | 至少执行一次 | 否 | 1 |
6. 循环的嵌套
循环可以嵌套使用,例如:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
cout << "(" << i << ", " << j << ") ";
}
cout << endl;
}
return 0;
}
输出:
(1, 1) (1, 2) (1, 3)
(2, 1) (2, 2) (2, 3)
(3, 1) (3, 2) (3, 3)
7. 练习题
-
打印 1 到 100 之间所有的奇数。
-
计算 1 到 100 之间所有偶数的和。
-
打印九九乘法表。
-
使用
do-while
实现一个简单的菜单循环,直到用户输入0
退出。
如果你有具体的需求或问题,可以随时问我!