C++学习系列(2):C++控制流语句

C++学习系列(2):C++控制流语句

1. 前言

C++学习系列(1) 中,我们学习了 C++ 的基础概念、变量与数据类型,并编写了第一个 C++ 程序。本篇文章将深入 C++ 的控制流语句,包括:

  • 条件语句if-elseswitch
  • 循环语句forwhiledo-while
  • 跳转语句breakcontinuegoto

掌握控制流语句可以让程序更具逻辑性,实现各种功能,让我们开始吧!🚀


2. 条件语句(if-else)

在程序运行过程中,我们经常需要根据不同的条件执行不同的代码逻辑,if-else 语句可以实现这一点。

if-else 语句基本用法:

#include <iostream>

int main() {
    int score;
    std::cout << "请输入你的成绩: ";
    std::cin >> score;

    if (score >= 90) {
        std::cout << "成绩优秀!" << std::endl;
    } else if (score >= 60) {
        std::cout << "成绩合格!" << std::endl;
    } else {
        std::cout << "成绩不及格,请加油!" << std::endl;
    }

    return 0;
}

示例运行:

请输入你的成绩: 85
成绩合格!

if-else 语句结构

  1. if 语句判断条件是否满足,如果 true,执行 {} 内的代码块。
  2. else if 用于添加额外的判断条件(可选)。
  3. else 语句在所有 if 条件都不满足时执行(可选)。

3. 多分支选择(switch-case)

当需要根据一个变量的多个取值执行不同逻辑时,switch 语句比 if-else 更清晰。

switch 语句示例:

#include <iostream>

int main() {
    int day;
    std::cout << "请输入星期几(1-7): ";
    std::cin >> day;

    switch (day) {
        case 1: std::cout << "今天是星期一" << std::endl; break;
        case 2: std::cout << "今天是星期二" << std::endl; break;
        case 3: std::cout << "今天是星期三" << std::endl; break;
        case 4: std::cout << "今天是星期四" << std::endl; break;
        case 5: std::cout << "今天是星期五" << std::endl; break;
        case 6: std::cout << "今天是星期六" << std::endl; break;
        case 7: std::cout << "今天是星期日" << std::endl; break;
        default: std::cout << "输入无效,请输入1-7" << std::endl;
    }

    return 0;
}

注意事项

  • case 语句后面必须跟 :
  • break 语句用于终止 switch,防止“穿透”执行下一个 case
  • default 语句用于处理所有未匹配的情况(可选)。

4. 循环语句(for, while, do-while)

4.1 for 循环

for 适用于已知循环次数的情况:

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        std::cout << "第 " << i << " 次循环" << std::endl;
    }
    return 0;
}

运行结果:

第 1 次循环
第 2 次循环
第 3 次循环
第 4 次循环
第 5 次循环

4.2 while 循环

while 适用于循环次数未知,但满足某个条件时继续执行:

#include <iostream>

int main() {
    int num = 1;
    while (num <= 5) {
        std::cout << "当前数字: " << num << std::endl;
        num++;
    }
    return 0;
}

4.3 do-while 循环

do-while 先执行一次循环体,再判断条件是否继续循环:

#include <iostream>

int main() {
    int num = 1;
    do {
        std::cout << "当前数字: " << num << std::endl;
        num++;
    } while (num <= 5);
    return 0;
}

📌 区别: do-while 至少执行一次while 可能一次都不执行。


5. 跳转语句(break、continue、goto)

5.1 break 语句

break 立即终止当前循环:

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) break;
        std::cout << "当前数字: " << i << std::endl;
    }
    return 0;
}

运行结果:

当前数字: 1
当前数字: 2

🚀 breaki == 3 时终止循环。


5.2 continue 语句

continue 跳过当前循环的剩余部分,直接进入下一次循环:

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) continue;
        std::cout << "当前数字: " << i << std::endl;
    }
    return 0;
}

运行结果:

当前数字: 1
当前数字: 2
当前数字: 4
当前数字: 5

🚀 continue 使 i == 3 时跳过 std::cout 语句。


5.3 goto 语句

goto 用于无条件跳转,但通常不建议使用:

#include <iostream>

int main() {
    int num = 1;
start:
    if (num > 5) return 0;
    std::cout << "当前数字: " << num << std::endl;
    num++;
    goto start;
}

⚠️ 建议尽量避免 goto,因为它会降低代码的可读性和可维护性。


6. 小结与展望

在本篇博客中,我们学习了:
if-else 条件语句
switch-case 多分支选择
forwhiledo-while 循环
breakcontinuegoto 跳转语句

在下一篇 C++学习系列(3) 中,我们将深入 C++ 的函数与作用域,敬请期待!💡


💡 如果你喜欢这篇文章,欢迎点赞、收藏,并关注本系列!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值