• C++
  • C++的分支结构 什么是分支结构

  • @ 2025-10-3 20:51:09

这份教程会用小学生能懂的生活例子,从最基础的概念讲起,带大家学会C++的分支结构。

一、先搞懂:什么是分支结构?

分支结构就像生活里做选择。比如:

  • 如果明天不下雨,就去公园玩;如果下雨,就在家看书。
  • 考试考了100分,妈妈奖励玩具;考了90-99分,奖励漫画书;低于90分,就多做一套练习题。 在C++里,程序也能像这样“做选择”,这就是分支结构。

二、最常用的分支:if语句(“如果…就…”)

1. 基本格式(记牢这个“公式”)

if (判断条件)
{
    条件成立时,要执行的代码;
}

可以理解为:如果(判断条件是对的),就执行大括号里的内容

2. 举个生活例子:判断年龄能不能看电影

假设电影院规定:年龄≥12岁才能看某部电影。我们用程序判断一个小朋友能不能看。

#include <iostream>
using namespace std;

int main()
{
    // 1. 先存小朋友的年龄(就像用小本子记下来)
    int age; // 定义一个“装年龄的盒子”,叫age
    cout << "请输入你的年龄:"; // 让小朋友输入年龄
    cin >> age; // 把输入的年龄放进“盒子”里

    // 2. 用if判断能不能看电影
    if (age >= 12) // 判断条件:年龄大于等于12岁
    {
        cout << "你可以看这部电影!" << endl; // 条件成立时执行
    }

    return 0;
}

3. 运行结果两种情况

  • 如果输入13,程序会输出:“你可以看这部电影!”
  • 如果输入10,程序不会输出上面那句话(因为条件不成立,大括号里的代码不执行)

三、进阶:if-else语句(“如果…就…,否则就…”)

刚才的例子里,年龄不够的话程序没反应,用if-else就能让两种情况都有结果。

1. 基本格式

if (判断条件)
{
    条件成立时,执行的代码;
}
else
{
    条件不成立时,执行的代码;
}

理解为:如果(条件对),就做A;否则,就做B

2. 改进电影例子:两种情况都提示

#include <iostream>
using namespace std;

int main()
{
    int age;
    cout << "请输入你的年龄:";
    cin >> age;

    if (age >= 12)
    {
        cout << "你可以看这部电影!" << endl;
    }
    else // 年龄小于12岁时执行
    {
        cout << "你年龄还小,建议看其他儿童电影哦~" << endl;
    }

    return 0;
}

3. 运行结果

  • 输入12:输出“你可以看这部电影!”
  • 输入8:输出“你年龄还小,建议看其他儿童电影哦~”

四、多选择:if-else if-else语句(“如果…就…,如果…就…,否则就…”)

当有3个及以上选择时,就用这个结构。比如根据考试分数给奖励。

1. 基本格式

if (判断条件1)
{
    条件1成立时执行;
}
else if (判断条件2)
{
    条件2成立时执行;
}
else
{
    所有条件都不成立时执行;
}

2. 例子:根据分数给奖励

#include <iostream>
using namespace std;

int main()
{
    int score; // 装分数的“盒子”
    cout << "请输入你的考试分数(0-100):";
    cin >> score;

    if (score == 100) // 注意:判断“等于”用==,不是=(=是“赋值”,比如把100放进盒子里)
    {
        cout << "太棒啦!奖励你一个玩具!" << endl;
    }
    else if (score >= 90 && score <= 99) // &&表示“并且”,分数在90到99之间
    {
        cout << "很棒!奖励你一本漫画书!" << endl;
    }
    else if (score >= 60 && score <= 89)
    {
        cout << "继续加油!奖励你一支笔!" << endl;
    }
    else // 分数低于60
    {
        cout << "这次没及格,我们一起复习,下次争取进步!" << endl;
    }

    return 0;
}

3. 关键提醒

  • 判断“等于”一定要用**==,不能用=**。比如score == 100是“判断分数是不是100”,score = 100是“把100放进分数盒子里”,完全不一样。
  • && 表示“并且”,比如score >= 90 && score <= 99就是“分数≥90,并且分数≤99”。

五、实战小练习(试着自己写)

  1. 练习1:判断一个数是奇数还是偶数(能被2整除的是偶数,比如4;不能的是奇数,比如5)。
    • 提示:用数 % 2 == 0判断偶数(%表示“取余数”,4%2=0,5%2=1)。
  2. 练习2:判断一个同学的身高能不能坐过山车(假设身高≥140cm可以坐)。

要不要我帮你写一份上述小练习的参考代码,里面会标注每一步的作用,方便你对照学习?

1 条评论

  • @ 2025-10-3 20:51:26

    在C++的分支结构里,ifelse就像一对“搭档”,负责处理不同的情况,但它们的作用完全不同,咱们用生活中的例子来讲清楚:

    1. if语句:负责“满足条件就执行”

    if就像在说:“如果某个条件是真的,就做某件事”
    它单独出现时,只关心“条件成立”的情况,不成立就啥也不做。

    比如:
    “如果今天是周末(条件),就去游乐场(执行的事)。”
    如果今天不是周末,这句话就相当于没说,不会有任何行动。

    代码例子:

    int day;
    cout << "今天星期几(1-7)?";
    cin >> day;
    
    if (day == 6 || day == 7)  // 如果是周六或周日
    {
        cout << "去游乐场!" << endl;  // 条件成立就执行
    }
    // 如果不是周末,这里啥也不输出
    

    2. else语句:负责“不满足条件就执行”

    else不能单独用,必须跟在if后面,它的意思是:“如果前面的if条件不成立,就做这件事”
    它专门处理“条件不成立”的情况,相当于“否则”。

    比如还是刚才的例子,加上else
    “如果今天是周末,就去游乐场;否则,就去上学。”
    这样不管是不是周末,都有对应的行动了。

    代码例子:

    int day;
    cout << "今天星期几(1-7)?";
    cin >> day;
    
    if (day == 6 || day == 7)  // 如果是周末
    {
        cout << "去游乐场!" << endl;
    }
    else  // 否则(不是周末)
    {
        cout << "去上学!" << endl;  // 条件不成立就执行
    }
    

    关键区别总结

    if语句 else语句
    单独出现,判断一个条件 不能单独出现,必须跟在if
    条件成立时执行 前面if的条件不成立时执行
    只管“符合条件”的情况 只管“不符合条件”的情况

    简单说:if是“如果…就…”,else是“如果不…就…”,两者配合能覆盖所有可能的情况~

    • 1