C++ 基础 - 6 - 条件循环

简言

什么是条件循环?

条件循环是指当程序在执行过程中,根据设定的值将指定的代码重复多次执行。

都有哪些循环语句

在 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 语句,应当尽量避免使用,以免影响代码的可读性和可维护性。在大多数情况下,使用循环和选择结构可以更好地控制程序的执行流程

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OasisPioneer

与我一起用代码改变生活!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值