简言
什么是条件循环?
条件循环是指当程序在执行过程中,根据设定的值将指定的代码重复多次执行。
都有哪些循环语句
在 C++ 中,循环语句主要分为以下几种:while 循环、do-while 循环、for 循环
while 循环
while语句 会根据表达式而执行
如果表达式为真 则while语句会一直重复执行
如果表达式为假 则while语句会停止执行
语法:
while (条件表达式) {
// 循环代码
}
执行流程:
首先检查条件表达式。
如果条件表达式为真(非零),执行循环体内的代码。
循环体内的代码执行完毕后,再次检查条件表达式。
如果条件表达式仍然为真,重复步骤 2 和 3。
当条件表达式为假(零)时,退出循环,继续执行 while 循环之后的代码。
代码示例:
#include <iostream>
int main() {
int i = 1; // 定义并且赋值变量
while (i <= 5) { // 如果变量i的值小于等于5 则执行循环体内的代码
std::cout << i << " "; // 输出i当前的值
i++; // i自增
}
std::cout << std::endl;
return 0;
}
do-while 循环
do-while语句 与 while语句的执行顺序不同
do-while语句 是先执行后判断
就是先执行一次do-while内部的代码 然后判断表达式
语法:
do {
// 循环体
} while (条件表达式);
执行流程:
首先执行循环体内的代码。
执行完循环体后,检查条件表达式。
如果条件表达式为真,重复步骤 1 和 2。
当条件表达式为假时,退出循环,继续执行 do-while 循环之后的代码。
代码示例:
#include <iostream>
int main() {
int i = 1; // 定义并且赋值变量
do {
std::cout << i << " "; // 输出变量的值
i++; // 变量自增
} while (i <= 5); // 如果i小于等于5 则返回继续执行循环
std::cout << std::endl;
return 0;
}
for 循环
for循环 是小编最常用的循环
它可以通过表达式节省代码行
语法:
for (循环初始语句; 循环条件语句; 条件执行语句) {
// 循环体
}
执行流程:
首先初始化 循环初始语句。
检查循环条件语句
如果循环条件为真,执行循环体内的代码。
循环体内的代码执行完毕后,执行 条件执行语句
重复步骤 2 到 4,直到循环条件为假
当循环条件为假时,退出循环,继续执行 for 循环之后的代码。
代码示例:
#include <iostream>
int main() {
// 循环初始语句 定义变量并且赋值
// 循环条件语句 如果i小于等于5
// 执行循环体内部语句
// 执行 变量i自增
for (int i = 1; i <= 5; i++) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
基于范围的 for 循环
基于范围的 for 循环用于遍历数组或容器中的元素
语法:
for (声明 : 范围) {
// 循环体
}
代码示例:
#include <iostream>
#include <vector> // 后续讲解
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
跳转语句
跳转语句用于改变程序的正常执行流程
常用于代码循环语句
break 语句
break 语句用于立即终止最内层的 for、while、do-while 或 switch 语句,并从这些语句之后的代码继续执行
代码示例:
for (int i = 0; i < 10; ++i) {
if (i == 5) {
break; // 当 i 等于 5 时,跳出循环
}
std::cout << i << " ";
}
continue 语句
continue 语句用于跳过当前循环的剩余部分,并立即开始下一次循环迭代
代码示例:
for (int i = 0; i < 10; ++i) {
if (i % 2 == 0) {
continue; // 当 i 是偶数时,跳过本次循环的剩余部分
}
std::cout << i << " ";
}
return 语句
return 语句用于从函数返回一个值(如果有),并结束当前函数的执行,将控制权返回到函数调用点
代码示例:
int add(int a, int b) {
return a + b; // 返回 a 和 b 的和
}
goto 语句
goto 语句允许程序无条件地跳转到同一函数内的标记位置。虽然 goto 在某些情况下可能很有用,但过度使用会导致代码难以理解和维护,因此通常不推荐使用
代码示例:
#include <iostream>
int main() {
for (int i = 0; i < 10; ++i) {
for (int j = 0; j < 10; ++j) {
if (j == 5) {
goto end; // 跳转到标签 end
}
std::cout << "i: " << i << ", j: " << j << std::endl;
}
}
end:
std::cout << "Loop terminated." << std::endl;
return 0;
}
在使用跳转语句时,应当谨慎,避免造成代码执行流程的混乱。特别是 goto 语句,应当尽量避免使用,以免影响代码的可读性和可维护性。在大多数情况下,使用循环和选择结构可以更好地控制程序的执行流程