Files
chouka/old/第02课-小盒子与数字.md
T
2026-05-16 11:09:02 +08:00

137 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第 2 课:小盒子与数字(变量)
**本课目标**:学会用 **`int` 变量** 在程序里「记住一个整数」,并把它显示出来。为后面的「还剩几次抽卡」「有多少金币」打基础。
**复习**:第 1 课你已经会用 `std::cout` 输出文字。本课在输出里加上 **会变的数字**
---
## 1. 这一课要搞懂什么
- 有时候程序要记住一个数,比如「还能抽几次」——这个数会变化,不能写死在引号里。
- 在 C++ 里可以用 **`变量`**:像贴了小纸条的 **小盒子**,盒子里放一个整数。
- 整数类型常写作 **`int`**(integer 的缩写,先记住这三个字母即可)。
---
## 2. 第一个用变量的例子
把下面保存为 `lesson2.cpp`(文件名可自定,扩展名用 `.cpp`):
```cpp
#include <iostream>
int main() {
int pulls = 3;
std::cout << "你还剩 " << pulls << " 次抽卡机会\n";
return 0;
}
```
### 每一部分在说什么
| 代码 | 意思(小朋友版) |
|------|------------------|
| `int pulls = 3;` | 准备一个装整数的盒子,名字叫 `pulls`,里面先放 **3**。 |
| `pulls` | 变量名,像盒子上写的名字,方便我们引用。 |
| `=` | 把右边的值放进左边的盒子里(叫「赋值」)。 |
| `std::cout << "你还剩 " << pulls << " 次..."` | 先输出前半句,再输出 **盒子里的数**,再输出后半句。 |
运行后应看到类似:`你还剩 3 次抽卡机会`
---
## 3. 改一改盒子里的数
变量的好处:**改一个数字,整段话跟着变**。
```cpp
#include <iostream>
int main() {
int pulls = 10;
std::cout << "你还剩 " << pulls << " 次抽卡机会\n";
return 0;
}
```
`10` 改成 `0``100`,重新编译运行,看屏幕上的数字是否跟着变。
---
## 4. 变量名的小规矩(先记这几条)
- 只能用字母、数字、下划线 `_`**不能以数字开头**。
- 同一个 `{ ... }`**不要** 起两个一模一样的名字。
- 名字要有意义:抽卡次数用 `pulls``cishu` 比叫 `a` 更容易看懂(拼音也可以,但以后大项目更推荐英文习惯)。
---
## 5. 和抽卡游戏的关系(先预告)
| 以后会用到的想法 | 用变量表示 |
|------------------|------------|
| 还剩几次抽奖 | `int pulls``int chouka_cishu` |
| 有多少金币 | `int coins` |
| 抽到了几张稀有 | `int rare_count` |
本课只练 **`int`**,能存正负整数;小数以后再说。
---
## 6. 怎么编译和运行
在终端进入源码所在文件夹:
```bash
clang++ -std=c++17 -o lesson2 lesson2.cpp
./lesson2
```
---
## 7. 本课课堂小练习
1. 新建一个变量 `coins`(金币),初始值设为 `50`,输出一句:`你的金币:50`(数字要用变量,不要手写 50 两次在引号里)。
2. 在同一程序里再输出一行:用 `pulls``coins` 两个变量,各显示一次(可以编一句自己的话,比如「抽卡次数 ___ ,金币 ___」)。
**参考结构**(数字和文案可自己改):
```cpp
#include <iostream>
int main() {
int pulls = 3;
int coins = 50;
std::cout << "抽卡次数 " << pulls << " ,金币 " << coins << "\n";
return 0;
}
```
---
## 8. 本课课后作业(选做)
-`pulls` 先设为 `5`,再在下一行写 `pulls = pulls - 1;`,输出一次 `pulls`,想想为什么变成 4(第 3 课会大量用到「改变变量」)。
- 问家长:如果写成 `int pulls = 3.5` 会怎样?(先猜,再编译试试,把结果记到 `学习进度与状态.md` 的备注里也行。)
---
## 9. 常见小问题
- **忘了写 `int`**:只写 `pulls = 3` 可能报错,第一次声明盒子一般要写类型。
- **用了中文标点**:代码里引号、分号请用英文半角。
- **想存小数**:本课用 `int` 存不下「3.5」,编译器可能警告或截断,这是正常的,以后会学 `double`
---
## 10. 下一课预告
第 3 课会学 **`std::cin`**:让玩家从键盘输入数字,程序把数放进变量里——你的抽卡游戏就可以「问你想抽几次」了。
---
*学完请家长在 `学习进度与状态.md` 里更新第 2 课的状态与作业完成情况。*
**下一课文档**`第03课-听玩家的话.md`