大家好,接着上一篇《C++ 入门:单分支与双分支》,今天继续分享 C++ 进阶分支知识 ——多分支、if 嵌套、常量定义、逻辑运算符,同样适合 5-6 年级零基础入门,内容详细、实操性强,看完就能上手写代码。

一、课程概述

本大家好,我是信丰泺喜科教的小鱼老师,本次课程是分支结构的进阶篇,面向5-6 年级编程学习者,授课时长90-120 分钟,帮大家从 “二选一” 的双分支,升级到 “多条件选择” 的复杂逻辑,完善编程判断思维。

教学内容及目标

  1. 熟练掌握多分支语句 if...else if...else的语法与使用场景;
  2. 理解if 语句嵌套,明确 if 与 else 的配对规则;
  3. 认识常量,掌握常量的定义语法及与变量的区别;
  4. 学会逻辑运算符(与、或、非),能组合多个条件做复杂判断。

二、教学流程

2.1 if 语句嵌套
什么是 if 嵌套

简单说,if 语句里面再包含 if 语句,就是 if 嵌套。当判断条件有 “层级关系” 时,就需要用嵌套,比如 “先判断是否登录,登录后再判断权限”。

if (外层条件1) {
    if (内层条件2) {
        // 条件1和条件2都成立时执行
    } else {
        // 条件1成立、条件2不成立时执行
    }
} else {
    // 条件1不成立时执行
}

核心配对规则else 永远和最近的、未配对的 if 匹配,写代码时注意缩进,避免逻辑混乱。

实战:用户登录

模拟登录逻辑,嵌套判断账号和密码:

#include <iostream>
using namespace std;

int main() {
    string user, pwd;
    cin >> user >> pwd;

    if (user == "admin") {  // 外层:判断账号是否正确
        if (pwd == "123456") {  // 内层:账号正确后,判断密码
            cout << "登录成功!" << endl;
        } else {
            cout << "密码错误!" << endl;
        }
    } else {
        cout << "账号不存在!" << endl;
    }
    return 0;
}

课堂上会一起画if 嵌套流程图,直观理解层级逻辑,彻底吃透嵌套用法。

2.2 认识常量
常量与变量的区别
  • 变量:程序运行中,值可以随时改变(比如int a=1; a=2;);
  • 常量:程序运行中,值固定不变,不能修改(比如圆周率 π、固定税率)。
常量定义语法

用关键字const定义,格式:

const 数据类型 常量名 = 值;

示例:

const double PI = 3.14159;  // 定义圆周率常量,值不能改
const int MAX = 100;  // 定义最大值常量

注意:常量名习惯大写,定义时必须赋值,后续不能修改,否则编译报错。

实战练习
  1. 优化【长方形面积】:用常量定义长和宽,计算面积;
  2. 优化【用户登录】:把正确账号、密码设为常量,避免随意修改;
  3. 新练【正负判断】:输入数字,用常量定义判断阈值,输出正数 / 负数 / 零。
2.3 多重分支结构
什么时候用多分支

双分支只能处理 “两种情况”,但生活和编程中常遇到三种及以上情况(比如分数评级、运费计算),这时就用if...else if...else多分支。

语法
if (条件1) {
    // 条件1成立,执行代码1
} else if (条件2) {
    // 条件1不成立、条件2成立,执行代码2
} else if (条件3) {
    // 条件1、2不成立、条件3成立,执行代码3
} else {
    // 所有条件都不成立,执行默认代码
}

特点:从上到下依次判断,只要一个条件成立,后面所有条件都不再判断

实战案例
  1. 【写评语】:根据分数评级
int score;
cin >> score;
if (score >= 90) {
    cout << "优秀" << endl;
} else if (score >= 80) {
    cout << "良好" << endl;
} else if (score >= 60) {
    cout << "及格" << endl;
} else {
    cout << "不及格" << endl;
}
  1. 【邮寄包裹】:按重量算运费
  • 1kg 以内:10 元
  • 1-5kg:20 元
  • 5kg 以上:30 元课堂上会同步画多分支流程图,清晰梳理多条件判断逻辑。
2.4 逻辑运算符
什么是逻辑运算符

用来组合多个关系条件,实现 “同时满足”“满足其一”“不满足” 的复杂判断,结果只有真(true)假(false)

3 种核心逻辑运算符

表格

运算符 含义 示例 说明
&& 逻辑与(同时满足) a>5 && a<10 两个条件都成立,结果才真
` ` 逻辑或(满足其一) `a<5 a>10` 任意一个条件成立,结果就真
! 逻辑非(取反) !(a>5) 条件不成立时,结果为真
实战练习
  1. 【判断闰年】:闰年条件(满足其一)
    • 能被 4 整除,但不能被 100 整除;
    • 能被 400 整除。
int year;
cin >> year;
if ((year%4==0 && year%100!=0) || (year%400==0)) {
    cout << year << "是闰年" << endl;
} else {
    cout << year << "不是闰年" << endl;
}
  1. 【判断公倍数】:判断一个数是否是 2 和 3 的公倍数(同时能被 2、3 整除);
  2. 【三个数的最大值】:用&&组合条件,找出 a、b、c 中的最大值。

3. 强化练习

3.1 找 bug

给出 1 道含典型错误的多分支 / 嵌套代码,排查问题:

  • 错误示例:else if 顺序混乱、常量被修改、逻辑运算符写错(&代替&&);
  • 目标:培养严谨的代码书写习惯,避开高频坑。
3.2 判断运行结果

给出 1 段多分支 + 逻辑运算符的代码,不运行程序,手动推导输出结果,强化逻辑推导能力。

3.3 实战编程
  1. 【四个数取最大值】:结合逻辑运算符,找出 4 个整数中的最大值;
  2. 【3 个数排序】:输入 3 个数,按从小到大顺序输出,综合运用多分支和比较逻辑。
3.4 选择题练习

完成 4 道针对性选择题,覆盖:

  • 常量定义语法;
  • if 嵌套配对规则;
  • 逻辑运算符用法;
  • 多分支条件顺序逻辑。逐题讲解,扫清知识盲区,巩固核心知识点。

4. 知识总结

  1. if 嵌套:if 里套 if,else 匹配最近 if,处理层级条件;
  2. 常量const定义,值不可改,区别于变量;
  3. 多分支if...else if...else,处理 3 种及以上情况,从上到下判断;
  4. 逻辑运算符&&(与)、||(或)、!(非),组合多条件;
  5. 核心注意:缩进规范、符号用英文、条件顺序合理、常量不修改。

5. 挑战

课后小任务:完成 **【四则运算】** 程序。需求:输入两个数和一个运算符(+、-、*、/),根据运算符,用多分支和逻辑运算符,输出对应计算结果。提示:需判断除数不为 0,综合运用本节课所有知识点。

三、学习心得

从单分支、双分支,到今天的多分支、if 嵌套、常量、逻辑运算符,我们的编程逻辑从 “简单选择” 升级到了 “复杂判断”,这是编程思维的重要突破。

更多推荐