# 第 2 课:小盒子与数字(变量) **本课目标**:学会用 **`int` 变量** 在程序里「记住一个整数」,并把它显示出来。为后面的「还剩几次抽卡」「有多少金币」打基础。 **复习**:第 1 课你已经会用 `std::cout` 输出文字。本课在输出里加上 **会变的数字**。 --- ## 1. 这一课要搞懂什么 - 有时候程序要记住一个数,比如「还能抽几次」——这个数会变化,不能写死在引号里。 - 在 C++ 里可以用 **`变量`**:像贴了小纸条的 **小盒子**,盒子里放一个整数。 - 整数类型常写作 **`int`**(integer 的缩写,先记住这三个字母即可)。 --- ## 2. 第一个用变量的例子 把下面保存为 `lesson2.cpp`(文件名可自定,扩展名用 `.cpp`): ```cpp #include int main() { int pulls = 3; std::cout << "你还剩 " << pulls << " 次抽卡机会\n"; return 0; } ``` ### 每一部分在说什么 | 代码 | 意思(小朋友版) | |------|------------------| | `int pulls = 3;` | 准备一个装整数的盒子,名字叫 `pulls`,里面先放 **3**。 | | `pulls` | 变量名,像盒子上写的名字,方便我们引用。 | | `=` | 把右边的值放进左边的盒子里(叫「赋值」)。 | | `std::cout << "你还剩 " << pulls << " 次..."` | 先输出前半句,再输出 **盒子里的数**,再输出后半句。 | 运行后应看到类似:`你还剩 3 次抽卡机会` --- ## 3. 改一改盒子里的数 变量的好处:**改一个数字,整段话跟着变**。 ```cpp #include 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 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`