C++启蒙课程:第6章 分支语句和逻辑运算符
今天,我们将为程序安装“智慧大脑”和“逻辑中枢”,让它学会判断和决策!
决策树:if/else与逻辑
学习机器人如何通过 `if` 在分岔路口做决策,并认识“逻辑三剑客”。
多重选择与字符侦探
掌握 `switch` 指路牌和 `cctype` 侦探团,高效处理多重选择。
循环超控与回忆卷轴
学会用 `break` 和 `continue` 控制循环,并用“回忆卷轴”读写文件。
课时一:决策树:if/else与逻辑英雄
(覆盖知识点 6.1 - 6.2)
6.1 机器人分岔路口
`if` 就像一个分岔路口。机器人 🤖 根据条件 (`true`/`false`) 决定走哪条路。
6.2 逻辑三剑客
`&&` (与), `||` (或), `!` (非) 是组合条件的“逻辑英雄”。
课时二:多重选择与字符侦探
(覆盖知识点 6.3 - 6.5)
6.3 字符侦探团 (cctype)
`cctype` 库提供了一群“侦探”,帮你快速判断字符类型。
6.4 三项选择转盘 (?:)
条件运算符 `?:` 是 `if else` 的简洁版,它会“返回”一个值。
(a > b) ? a : b6.5 魔法指路牌 (switch)
`switch` 语句根据一个“整数”值,直接“跳转”到对应的 `case` 标签。break 用来防止“穿透”到下一个标签。
💡 互动体验:
📜 代码支撑:
课时三:循环超控与回忆卷轴
(覆盖知识点 6.6 - 6.8)
6.7 循环特遣队
`continue` 机器人跳过“当前”这轮。`break` 机器人按下“紧急停止”,跳出“整个”循环。
6.7.1 “数据过滤器” (安全 cin)
当 `cin` 想要一个数字,你却输入了 "abc",`cin` 就会“卡住”(failbit)。我们必须用“三步魔法”修复它。
6.8 “回忆卷轴” (文件 I/O)
使用 <fstream> 库,我们可以用 `ofstream` (输出) 把数据写入“回忆卷轴”,用 `ifstream` (输入) 把数据读回来。
💡 互动:写入文件
📜 代码支撑:
编程实践与作业 (6.10 & 6.11)
是时候检验你作为“决策大师”的实力了!
练习 1:逻辑判断 (6.10 复习题 4)
任务:
编写一个程序,要求用户输入一个整数 `x`,判断 `x` 是否为偶数,但不是26的倍数。
点击查看参考答案
练习 2:字符侦探 (6.10 复习题 7)
任务:
编写一个程序,要求用户输入一个字符,使用 `cctype` 库和 `if else if` 结构,判断输入的字符是数字、字母还是其他字符。
点击查看参考答案
练习 3:文件字符计数 (6.11 练习 8)
任务:
编写一个程序,打开一个名为 "file.txt" 的文件(请你先在同目录下手动创建一个!),逐个字符地读取该文件,直到到达文件末尾,然后指出该文件中包含多少个字符。
点击查看参考答案
本章知识点总结与复习
| 核心概念 | 解释/功能 | 关键用法/运算符 |
|---|---|---|
| if/else语句 | 程序决策工具,`if else if` 可多选。 | if (cond) { ... } else { ... } |
| 逻辑运算符 | 组合或否定布尔表达式,`&&` `||` 有短路求值。 | && (AND), || (OR), ! (NOT) |
| `cctype`库 | 字符函数库,简化字符分类判断。 | isalpha(ch), isdigit(ch) |
| 条件运算符 `?:` | 三元运算符,简洁地选择两个值之一。 | 条件 ? 值1 : 值2 |
| `switch`语句 | 基于整数常量表达式的多重选择结构。 | switch, case, break, default |
| 流程跳转 | `break` 立即退出循环;`continue` 跳过本次。 | break, continue |
| 安全输入 | 恢复 `cin` 状态的三步魔法。 | cin.clear(), cin.get() |
| 文件I/O | 写入 (`ofstream`) 和读取 (`ifstream`) 文本文件。 | <fstream>, fout.open() |