C++ 入门进阶:多分支结构、if 嵌套、常量与逻辑运算符详解
大家好,接着上一篇《C++ 入门:单分支与双分支》,今天继续分享 C++ 进阶分支知识 ——多分支、if 嵌套、常量定义、逻辑运算符,同样适合 5-6 年级零基础入门,内容详细、实操性强,看完就能上手写代码。
一、课程概述
本大家好,我是信丰泺喜科教的小鱼老师,本次课程是分支结构的进阶篇,面向5-6 年级编程学习者,授课时长90-120 分钟,帮大家从 “二选一” 的双分支,升级到 “多条件选择” 的复杂逻辑,完善编程判断思维。
教学内容及目标
- 熟练掌握多分支语句 if...else if...else的语法与使用场景;
- 理解if 语句嵌套,明确 if 与 else 的配对规则;
- 认识常量,掌握常量的定义语法及与变量的区别;
- 学会逻辑运算符(与、或、非),能组合多个条件做复杂判断。
二、教学流程
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; // 定义最大值常量
注意:常量名习惯大写,定义时必须赋值,后续不能修改,否则编译报错。
实战练习
- 优化【长方形面积】:用常量定义长和宽,计算面积;
- 优化【用户登录】:把正确账号、密码设为常量,避免随意修改;
- 新练【正负判断】:输入数字,用常量定义判断阈值,输出正数 / 负数 / 零。
2.3 多重分支结构
什么时候用多分支
双分支只能处理 “两种情况”,但生活和编程中常遇到三种及以上情况(比如分数评级、运费计算),这时就用if...else if...else多分支。
语法
if (条件1) {
// 条件1成立,执行代码1
} else if (条件2) {
// 条件1不成立、条件2成立,执行代码2
} else if (条件3) {
// 条件1、2不成立、条件3成立,执行代码3
} else {
// 所有条件都不成立,执行默认代码
}
特点:从上到下依次判断,只要一个条件成立,后面所有条件都不再判断。
实战案例
- 【写评语】:根据分数评级
int score;
cin >> score;
if (score >= 90) {
cout << "优秀" << endl;
} else if (score >= 80) {
cout << "良好" << endl;
} else if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}
- 【邮寄包裹】:按重量算运费
- 1kg 以内:10 元
- 1-5kg:20 元
- 5kg 以上:30 元课堂上会同步画多分支流程图,清晰梳理多条件判断逻辑。
2.4 逻辑运算符
什么是逻辑运算符
用来组合多个关系条件,实现 “同时满足”“满足其一”“不满足” 的复杂判断,结果只有真(true)或假(false)。
3 种核心逻辑运算符
表格
| 运算符 | 含义 | 示例 | 说明 | ||||
|---|---|---|---|---|---|---|---|
&& |
逻辑与(同时满足) | a>5 && a<10 |
两个条件都成立,结果才真 | ||||
| ` | ` | 逻辑或(满足其一) | `a<5 | a>10` | 任意一个条件成立,结果就真 | ||
! |
逻辑非(取反) | !(a>5) |
条件不成立时,结果为真 |
实战练习
- 【判断闰年】:闰年条件(满足其一)
- 能被 4 整除,但不能被 100 整除;
- 能被 400 整除。
int year;
cin >> year;
if ((year%4==0 && year%100!=0) || (year%400==0)) {
cout << year << "是闰年" << endl;
} else {
cout << year << "不是闰年" << endl;
}
- 【判断公倍数】:判断一个数是否是 2 和 3 的公倍数(同时能被 2、3 整除);
- 【三个数的最大值】:用
&&组合条件,找出 a、b、c 中的最大值。
3. 强化练习
3.1 找 bug
给出 1 道含典型错误的多分支 / 嵌套代码,排查问题:
- 错误示例:else if 顺序混乱、常量被修改、逻辑运算符写错(
&代替&&); - 目标:培养严谨的代码书写习惯,避开高频坑。
3.2 判断运行结果
给出 1 段多分支 + 逻辑运算符的代码,不运行程序,手动推导输出结果,强化逻辑推导能力。
3.3 实战编程
- 【四个数取最大值】:结合逻辑运算符,找出 4 个整数中的最大值;
- 【3 个数排序】:输入 3 个数,按从小到大顺序输出,综合运用多分支和比较逻辑。
3.4 选择题练习
完成 4 道针对性选择题,覆盖:
- 常量定义语法;
- if 嵌套配对规则;
- 逻辑运算符用法;
- 多分支条件顺序逻辑。逐题讲解,扫清知识盲区,巩固核心知识点。
4. 知识总结
- if 嵌套:if 里套 if,else 匹配最近 if,处理层级条件;
- 常量:
const定义,值不可改,区别于变量; - 多分支:
if...else if...else,处理 3 种及以上情况,从上到下判断; - 逻辑运算符:
&&(与)、||(或)、!(非),组合多条件; - 核心注意:缩进规范、符号用英文、条件顺序合理、常量不修改。
5. 挑战
课后小任务:完成 **【四则运算】** 程序。需求:输入两个数和一个运算符(+、-、*、/),根据运算符,用多分支和逻辑运算符,输出对应计算结果。提示:需判断除数不为 0,综合运用本节课所有知识点。
三、学习心得
从单分支、双分支,到今天的多分支、if 嵌套、常量、逻辑运算符,我们的编程逻辑从 “简单选择” 升级到了 “复杂判断”,这是编程思维的重要突破。
更多推荐
所有评论(0)