在编程中,我们经常需要重复执行某段代码。比如,要打印1到10这10个数字,如果不用循环,就得写10行cout语句,这显然很麻烦。而C++中的for循环,就能帮我们轻松解决这种重复任务。
一、为什么需要for循环?¶
当你需要重复执行一段代码固定次数时,for循环是最常用的工具。比如:
- 打印1到100的所有数字;
- 计算1到100的总和;
- 遍历数组中的每个元素。
手动重复写代码既浪费时间,又容易出错,而for循环能让你用几行代码完成大量重复工作。
二、for循环的基本语法¶
for循环的格式非常直观,由三个核心部分组成,用分号分隔:
for(初始化; 循环条件; 更新循环变量) {
// 循环体:要重复执行的代码
}
各部分解释:¶
- 初始化:通常是给循环变量赋初始值(如
int i = 1),只在循环开始时执行一次。 - 循环条件:一个布尔表达式(结果为
true或false),只有条件为true时,才会执行循环体。 - 更新循环变量:每次循环结束后,对循环变量进行调整(如
i++表示i自增1)。
三、从简单例子学起¶
例子1:打印1到10的数字¶
#include <iostream>
using namespace std;
int main() {
// 初始化i=1,条件i<=10,每次i加1
for(int i = 1; i <= 10; i++) {
cout << "当前数字:" << i << endl; // 循环体:打印i
}
return 0;
}
执行过程:
- 初始时i=1,条件1<=10为true,执行循环体,打印1;
- 执行i++,i变为2;
- 重复判断2<=10,打印2,直到i=11时,条件11<=10为false,循环结束。
输出结果:
当前数字:1
当前数字:2
...
当前数字:10
例子2:计算1到10的和¶
我们需要一个变量sum来累加结果,初始值为0:
#include <iostream>
using namespace std;
int main() {
int sum = 0; // 累加变量,初始化为0
for(int i = 1; i <= 10; i++) {
sum = sum + i; // 每次循环将i加到sum中
}
cout << "1到10的和是:" << sum << endl; // 输出结果55
return 0;
}
执行过程:
- sum初始为0,i从1开始;
- 循环10次,每次sum += i,最终sum = 0+1+2+...+10 = 55。
四、for循环的常见写法¶
1. 省略部分条件¶
- 省略初始化:若循环变量已提前定义,可省略
初始化部分(但不建议初学者使用)。
int i = 1;
for(; i <= 10; i++) { // 省略初始化部分
cout << i << endl;
}
- 省略更新:若条件包含更新逻辑,可省略
更新部分(但需手动确保条件终止,易导致死循环)。
for(int i = 1; i <= 10; ) { // 省略更新部分
cout << i << endl;
i++; // 手动更新i
}
2. 单行循环体¶
若循环体只有一条语句,可省略大括号{},但建议始终加上大括号,避免逻辑错误:
for(int i = 1; i <= 3; i++) {
cout << i; // 单行,可省略{},但推荐:
}
// 或:
for(int i = 1; i <= 3; i++) cout << i; // 省略{},但可读性差
五、进阶实例:打印乘法表¶
for循环也支持嵌套使用(循环内再套一个循环),经典例子是打印9×9乘法表:
#include <iostream>
using namespace std;
int main() {
for(int i = 1; i <= 9; i++) { // 外层循环控制行数
for(int j = 1; j <= i; j++) { // 内层循环控制列数
cout << j << "×" << i << "=" << j*i << "\t"; // 打印每行乘积
}
cout << endl; // 每行结束换行
}
return 0;
}
输出结果:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...(后续行省略)
六、常见错误与注意事项¶
- 死循环:条件永远为
true导致循环无法终止。
例如:for(int i=1; i<10; i--)(i自减导致永远小于10)。 - 循环变量作用域:若在
for循环内定义变量(如int i),则循环外无法使用。
for(int i=1; i<=3; i++) { /* 循环内可用i */ }
cout << i; // 错误!i在循环外未定义
- 条件写反:例如
i < 10写成i > 10,导致循环一次都不执行。
七、总结¶
for循环是C++中处理固定次数重复任务的核心工具,通过“初始化→条件判断→更新变量”三步,实现代码的自动重复执行。掌握它的关键是:
- 理解三个部分的作用;
- 多写简单实例(如求和、打印序列);
- 注意避免死循环和变量作用域问题。
多动手练习不同场景(如计算阶乘、遍历数组),你会逐渐熟练掌握for循环的用法!