C++ 中的 for
循环是一种常用的控制结构,用于在特定条件下重复执行代码块。它的语法灵活,适用于已知循环次数或需要精确控制循环变量的场景。以下是详细说明:
1. 基本语法
for (初始化表达式; 条件表达式; 迭代表达式) {// 循环体代码
}
- 初始化表达式:在循环开始时执行一次,通常用于声明循环变量(如
int i = 0
)。 - 条件表达式:每次循环前检查,若为
true
则执行循环体,否则退出循环。 - 迭代表达式:每次循环体执行后触发,通常用于更新循环变量(如
i++
)。
2. 执行流程
- 执行初始化表达式(仅一次)。
- 检查条件表达式:
- 若为
true
,执行循环体。 - 若为
false
,退出循环。
- 若为
- 执行迭代表达式,回到第2步。
3. 示例
示例 1:打印数字 0-4
for (int i = 0; i < 5; i++) {cout << i << " "; // 输出: 0 1 2 3 4
}
示例 2:遍历数组
int arr[] = {10, 20, 30};
for (int i = 0; i < 3; i++) {cout << arr[i] << " "; // 输出: 10 20 30
}
4. 范围 for 循环(C++11 起)
简化遍历容器或数组的操作,无需手动管理索引:
vector<int> nums = {1, 2, 3};
for (int num : nums) {cout << num << " "; // 输出: 1 2 3
}// 修改元素需使用引用
for (int &num : nums) {num *= 2; // 所有元素翻倍
}
5. 特殊用法
无限循环
for (;;) {// 无限循环,需用 break 退出if (condition) break;
}
省略表达式
- 可省略初始化、条件或迭代表达式(需确保逻辑正确):
int i = 0;
for (; i < 5; ) {cout << i++;
}
6. 注意事项
- 变量作用域:在初始化表达式中声明的变量(如
int i = 0
)仅在循环内有效。 - 避免死循环:确保条件表达式最终会变为
false
,否则循环永不终止。 - 迭代表达式位置:循环体中的
continue
会跳过迭代表达式,直接进入下一轮条件检查。
7. 对比其他循环
while
循环:适合不确定循环次数的情况。do-while
循环:至少执行一次循环体,再检查条件。
通过 for
循环,可以高效处理重复任务,结合 C++ 的特性(如范围遍历),代码会更加简洁易读。