C++启蒙课程:第3章 处理数据
数据英雄们,集合!今天我们将学习使用各种尺寸的魔法盒(数据类型)来精确地处理信息,并指挥运算机器人完成计算任务!
整数魔法盒与常量规则
为不同大小的整数选择合适的“背包”,并学习如何用`const`“上锁”。
小数的秘密与算术运算
认识处理小数的英雄,并指挥五位运算机器人进行精确计算。
计算机的思维模式
探索“数据类型转换工厂”的奥秘,看看数据是如何自动“变身”的。
课时一:整数魔法盒与常量规则
(覆盖知识点 3.1.1 - 3.1.9, 3.2)
🏷️ 变量命名规则
给“内存储物柜”贴标签。只能用字母、数字、下划线,且不能以数字开头。
🎒 不同容量的背包
C++提供不同大小的“背包”来装整数,`int` 是最常用的。
➕ “只能装正数”的盒子
`unsigned` 关键字让盒子只能装0和正数,但最大容量翻倍!
🔡 字母与数字的魔法
`char` 盒子存放的是字符的**数字编码**(如ASCII码)。`cout` 会智能地将其显示为字符。
🔒 带锁的宝箱 (const)
`bool` 存储 `true` 或 `false`。`const` 像一把锁,一旦上锁,值就永远不能改了!
一个 'const' 宝箱
🎰 三种计数牌
C++允许你用三种进制来书写数字:十进制、八进制 (前缀 0)、十六进制 (前缀 0x)。
课时二:小数的秘密与算术运算
(覆盖知识点 3.3.1 - 3.4.3)
🔬 E表示法放大镜
E表示法 (科学计数法) 用来表示非常大或非常小的数。
📏 精度标尺
`double` 是默认类型,它的“标尺”更长,精度远高于 `float`。
🤖 3.4.2 除法大揭秘 (整数 vs 浮点)
这是C++最重要的陷阱!整数除法会**截断**小数,而浮点除法会保留。
💡 互动体验:
计算结果:
📜 代码支撑:
🍰 3.4.3 求模机器人 (%)
求模机器人 `%` 只吃整数,它会告诉你“余数”是多少。
👮 3.4.1 优先级警长
警长指挥:**先乘除,后加减**。括号 `()` 拥有最高优先级。
课时三:计算机的思维模式:转换与优先级
(覆盖知识点 3.4.1, 3.4.4, 3.4.5, 3.5)
🏭 3.4.4 赋值转换工厂
当把一个小数“原料”倒进一个整数“模具”时,小数部分会被无情地**截断**(不是四舍五入!)。
🚀 3.4.4 表达式转换
在表达式中,C++会自动“提升”较小的类型,以匹配较大的类型。
🪄 3.4.4 强制类型转换
用魔法 `(double)` 告诉编译器:“你必须把这个整数当成小数来计算!”
🤖 3.4.5 `auto` 智能标签机
`auto` 关键字让编译器自动推断变量的类型,省去我们写类型的麻烦。
编程实践与作业
是时候检验你作为数据英雄的实力了!
练习 1:首字母与幸运数字 (课时一)
任务:
编写一个程序,用 `char` 变量存储您姓名的首字母,并使用 `const` 变量存储您的幸运数字。分别输出字符本身和字符的ASCII编码。
点击查看参考答案
练习 2:披萨分配器 (课时二)
任务:
有20块披萨,分给6个小朋友。每人能分到多少块完整的披萨?还剩下多少块?
点击查看参考答案
练习 3:身高转换器 (课时三)
任务:
编写一个程序,要求用户输入一个整数身高(单位为英寸),然后将其转换为英尺和英寸。使用`const`常量表示转换因子(1英尺=12英寸)。
点击查看参考答案
综合挑战:BMI 计算器 (本章总结)
任务:
编写一个程序,要求输入身高(英尺和英寸)和体重(磅),然后计算并报告其BMI。你需要使用`const`常量、浮点数、多种算术运算和类型转换。
提示公式:1英尺=12英寸;1英寸=0.0254米;1千克=2.2磅。 $BMI = \frac{体重(千克)}{身高(米)^2}$
点击查看参考答案
本章知识点总结与复习 (3.5)
| 核心概念 | 解释/功能 | 关键用法/示例 |
|---|---|---|
| 整型家族 | `short`, `int`, `long`, `long long`。 | unsigned int |
| char | 最小整型,存储字符编码。 | 'A', int('A') |
| const | 将变量锁定为常量,不可修改。 | const int MAX = 100; |
| 浮点类型 | `float`, `double`,用于带小数的数字。 | 3.14f, 1.2e-5 |
| 算术运算符 | `+`, `-`, `*`, `/`, `%`。整数除法截断。 | |
| 类型转换 | 自动或强制改变数据类型。 | double(my_int) |
| auto (C++11) | 编译器根据初始值自动推断类型。 | auto score = 95.5; |