C++ 提供了多种循环结构,用于执行重复操作。主要有以下几种循环方式:
for 循环
范围基于 for 循环(C++11 引入)
while 循环
do-while 循环
每种循环结构有其特定的使用场景和语法。下面详细介绍每种循环方式。
- for 循环
for 循环用于在已知迭代次数的情况下执行重复操作。其基本语法如下:
for (initialization; condition; increment) {
// loop body
}
initialization: 在循环开始前执行一次的初始化语句。
condition: 每次循环迭代前进行的条件检查。如果条件为 true,则执行循环体;否则,退出循环。
increment: 每次循环迭代后执行的更新语句。
示例
#include <iostream>
int main() {
for (int i = 0; i < 5; ++i) {
std::cout << "i = " << i << std::endl;
}
return 0;
}
- 范围基于 for 循环(C++11 引入)
范围基于 for 循环用于遍历容器中的每个元素。其基本语法如下:
for (element : container) {
// loop body
}
element: 当前迭代元素的声明。
container: 要遍历的容器。
示例
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int value : vec) {
std::cout << "value = " << value << std::endl;
}
return 0;
}
- while 循环
while 循环用于在条件为 true 时反复执行循环体。其基本语法如下:
while (condition) {
// loop body
}
condition: 每次迭代前进行的条件检查。如果条件为 true,则执行循环体;否则,退出循环。
示例
#include <iostream>
int main() {
int i = 0;
while (i < 5) {
std::cout << "i = " << i << std::endl;
++i;
}
return 0;
}
- do-while 循环
do-while 循环类似于 while 循环,但它在每次迭代前不会进行条件检查,而是在循环体执行完毕后进行条件检查。其基本语法如下:
do {
// loop body
} while (condition);
condition: 循环体执行完毕后进行的条件检查。如果条件为 true,则继续执行循环体;否则,退出循环。
示例
#include <iostream>
int main() {
int i = 0;
do {
std::cout << "i = " << i << std::endl;
++i;
} while (i < 5);
return 0;
}
- 循环控制语句
C++ 还提供了一些控制语句,用于更灵活地控制循环的执行。
break
break 语句用于立即退出循环,无论循环条件是否满足。通常用于提前结束循环。
示例
#include <iostream>
int main() {
for (int i = 0; i < 5; ++i) {
if (i == 3) {
break; // 提前结束循环
}
std::cout << "i = " << i << std::endl;
}
return 0;
}
continue
continue 语句用于跳过当前循环迭代的剩余部分,并立即开始下一次迭代。
示例
#include <iostream>
int main() {
for (int i = 0; i < 5; ++i) {
if (i == 3) {
continue; // 跳过当前迭代
}
std::cout << "i = " << i << std::endl;
}
return 0;
}
总结
C++ 提供了多种循环结构,以满足不同的编程需求:
for 循环:用于已知迭代次数的情况。
范围基于 for 循环:用于遍历容器中的每个元素(C++11 引入)。
while 循环:用于在条件为 true 时反复执行循环体。
do-while 循环:先执行循环体,再检查条件。
break 和 continue 控制语句:用于更灵活地控制循环的执行。
选择合适的循环结构可以使代码更简洁、高效和易读。