C++ 编程冒险
变量的
魔法宝箱
变量初探 · 打开宝箱,发现存数据的魔法!
📦
信息学启蒙 · C++ 基础 · 变量专题 · 小学高年级
🌟
热身关 · 什么是变量?
变量,就像一个「魔法宝箱」!

📦 变量 = 魔法宝箱

每个宝箱都有一个 名字(标签),里面可以放一个 东西(数据),而且随时可以换!

🎂 年龄
age
= 10
↑ 里面存的是 10
🏆 分数
score
= 95
↑ 里面存的是 95
📝 名字
name
= "小明"
↑ 里面存的是 小明
💡 变量三要素:① 名字(给宝箱贴标签) ② 类型(宝箱能放什么) ③ 值(宝箱里放了什么)
int age = 10;    // 名字叫 age,类型是 int,里面放了 10

🔥 热身关 · 闯关挑战

先学习上面的知识,再来挑战!本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 热身关闯关中 2题

1. 变量最像下面哪个东西?
2. 判断对错:变量的值可以改变
🔑
第1关 · 创建变量
声明 = 贴标签 | 赋值 = 放东西

📝 创建变量的写法

类型  名字 = ;

// 例子:
int    age    = 10;      // 整数宝箱,装了 10
double height = 1.45;    // 小数宝箱,装了 1.45
char   grade  = 'A';     // 字符宝箱,装了 A
bool   happy  = true;    // 真假宝箱,装了「是」
💡 记住:类型 → 名字 → 等号 → 值 → 分号,每一步都不能少!

🔥 第1关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第1关闯关中 2题

1. 创建一个整数变量 score 并赋值为 100,正确的写法是?
2. 判断对错:int age = 10; 创建后,age 的值可以再次改变
📦
第2关 · 数据类型
不同类型的宝箱只能放对应的东西

📦 四种常见数据类型

🔢
int 整数
没有小数点
10, -3, 0, 1000
📏
double 小数
带小数点
3.14, -0.5, 1.45
🔤
char 字符
单个字符,用单引号
'A', '中', '#'
bool 真假
只有两个值
true, false
💡 类型很重要:不同类型的宝箱只能放对应的东西!不能把小数放进 int 宝箱哦~

🔥 第2关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第2关闯关中 2题

1. 要存储一个学生的身高 1.55 米,应该用什么类型?
2. 判断对错:int 类型可以存储小数 3.14
✏️
第3关 · 赋值魔法
方向很重要:从右到左!

📝 赋值语句

age = 10 ;
把右边的东西,放进左边的宝箱
⚠️ 注意方向:= 不是 ==!赋值是从右到左!
int age = 10;
age = age + 1;    // age 变成 11(先读旧值10,加1,放回11)

int score = 80;
score = 100;       // 重新赋值,旧值80被覆盖

int a = 5, b = 3;
a = b;             // 把 b 的值复制给 a,a 变成 3

🔥 第3关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第3关闯关中 2题

1. 执行 int age = 10; age = age + 1; 后,age 的值是多少?
2. 判断对错:int a = 5; a = a + 3; 执行后 a 等于 8
🏷️
第4关 · 命名规则
好名字 = 好代码

📝 变量命名规则

可以用 字母、数字、下划线 _ — 如 age, score, my_name
必须以 字母或下划线 开头 — 如 name, _count, num1
不能用空格和特殊符号 — my name my-age
不能用 C++ 关键字int, if, for
💡
起有意义的名字! ageax 好得多!

🔥 第4关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第4关闯关中 2题

1. 下面哪个变量名是合法的?
2. 判断对错:变量名可以用中文
🚀
第5关 · 输入与输出
cin 输入 | cout 输出

📥 cin — 输入

int age;
cin >> age;
// 从键盘读取,存入 age

箭头 >> 指向变量 = 数据流宝箱

📤 cout — 输出

cout << age;
// 把 age 显示到屏幕

cout << "你好";

箭头 << 远离变量 = 数据流宝箱

📋 完整程序

#include <iostream>
using namespace std;
int main() {
    int age;
    cout << "请输入你的年龄:";
    cin >> age;
    cout << age;
    return 0;
}

🔥 第5关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第5关闯关中 2题

1. 要从键盘读取一个数存入变量 score,正确的写法是?
2. 判断对错:cin >> age; 中的 >> 方向表示数据从键盘流向变量
🔢
第6关 · 算术运算
用变量做加减乘除

🔢 变量算术运算

int a = 10, b = 3;

cout << a + b;     // 输出 13(加法)
cout << a - b;     // 输出 7(减法)
cout << a * b;     // 输出 30(乘法)
cout << a / b;     // 输出 3(整数除法)
cout << a % b;     // 输出 1(取余数)

// 复合赋值:
a += 5;           // a = a + 5 → a 变成 15
b *= 2;           // b = b * 2 → b 变成 6
⚠️ 注意:int 除法会舍去小数部分!10 / 3 = 3(不是 3.33)

🔥 第6关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第6关闯关中 2题

1. 执行 int a = 10, b = 3; cout << a / b;,屏幕输出什么?
2. 判断对错:a % b 的结果是 a 除以 b 的余数
🎯
第7关 · 变量追踪
一步一步看变量如何变化

📊 变量追踪:一步一步执行

int a = 5;
int b = 3;
int c = a + b;
a = a + 1;
b = c - 2;
int d = a * b;
cout << d;

📊 变量追踪表

语句abcd
a=55???
b=353??
c=a+b538?
a=a+1638?
b=c-2668?
d=a*b66836

输出结果:36

💡 追踪技巧:按顺序一行一行执行,遇到变量赋值就更新,每一步都看清楚变量的值!

🔥 第7关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第7关闯关中 2题

1. 根据上面的代码,执行 int c = a + b; 后,c 的值是?
2. 判断对错:执行完所有代码后,cout << d; 输出 36
🐛
第8关 · 找 Bug
你是 Bug 猎人!

🐛 常见 Bug 类型

❌ Bug 1 — 变量名错误
int 2name = 10;   // ❌ 变量名不能以数字开头!
❌ Bug 2 — 赋值方向错误
score = score * 2;  // ❌ 本意是 score * 2,但写成赋值替换了!
❌ Bug 3 — 类型不匹配
int age = "10";  // ❌ int 不能存字符串!
💡 找 Bug 技巧:① 变量名对不对 ② 赋值等号写对没 ③ 类型匹配吗

🔥 第8关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第8关闯关中 2题

1. 下面哪个变量名有 Bug?
2. 判断对错:int n = 3.14; 是合法的
第9关 · if 条件判断
用变量做判断:满足条件才执行

⚡ if 条件判断

int score = 85;

if (score >= 60) {
    cout << "及格!";   // 条件成立,执行这里
} else {
    cout << "不及格";    // 条件不成立,执行这里
}

// 关系运算符:
// >  大于   <  小于   >= 大于等于   <= 小于等于
// == 等于   != 不等于
💡 注意:判断相等用 ==,赋值用 =!别搞混了!

🔥 第9关 · 闯关挑战

本关共 2 道题

📝 选择题 1 道 ✅ 判断题 1 道

⚔️ 第9关闯关中 2题

1. int age = 15;,下面哪个条件成立?
2. 判断对错:if (score = 100) 中的 = 是判断 score 是否等于 100
🏆
第10关 · 总复习
回顾所有知识点!你掌握了多少?

📚 知识点回顾

📦

变量 = 魔法宝箱

有名字、类型、值

🔢

四种数据类型

int / double / char / bool

✏️

赋值语句

从右到左,覆盖旧值

🏷️

命名规则

字母/下划线开头

📥📤

cin / cout

输入 >> 输出 <<

🔢

算术运算

+ - * / %

🎯

变量追踪

一步步执行

if 条件

> < >= <= == !=

🏆 第10关 · 总复习闯关

综合所有知识点,共 5 道题

📝 选择题 3 道 ✅ 判断题 2 道

🏆 第10关总复习 5题

1. 创建变量存姓名,应该用什么类型?
2. int a = 5, b = 2;,执行 a = a * b; 后 a 等于多少?
3. 判断对错:cin >> x; 从屏幕读取数据存入变量 x
4. 下面哪个变量名合法?
5. 判断对错:intdouble 变量可以互换使用
🏆

恭喜通关!

你已经完成了这一关!


🎉

冒险成功!

你已掌握了「变量魔法宝箱」的全部技能!

变量概念
数据类型
赋值语句
cin 输入
cout 输出
算术运算
if 条件

📊 最终成绩单