一、《C++ 运算符魔法学校》开课啦!
同学们,欢迎来到C++ 运算符魔法学校!
在这里,运算符都是一根根神奇的“魔法棒”,挥一下,它们就能让数字发生变化!
今天我们要认识其中的几大类魔法棒:
算术魔法棒
比较魔法棒
逻辑魔法棒
赋值魔法棒
自增自减魔法棒
每一根魔法棒都有它的作用,让我们一起看看吧!
🧮1. 算术魔法棒(加减乘除,最常见!)
这类魔法棒最像我们日常的数学运算,会让数字变来变去。
| 魔法棒 | 名字 | 功能 |
|---|---|---|
+ | 加法魔法棒 | 让两个数字变大 |
- | 减法魔法棒 | 让数字变小 |
* | 乘法魔法棒 | 数字快速变大 |
/ | 除法魔法棒 | 数字被分成几段 |
% | 取余魔法棒 | 分完之后剩下多少 |
🌟小学生理解:它们就像“水果操作工具”!
举例:
🍎 有 10 个苹果,朋友拿走 3 个,就是:
10 - 3 = 7
这就用到了减法魔法棒 ‘ - ’ !
🍪 有 12 块饼干,3 个小朋友平分:
12 / 3 = 4
这就用到了除法魔法棒 ‘ / ’ !
🍬 老师给了你 10 颗糖,你想 3 颗一袋装,剩下多少?
10 % 3 = 1
这就用到了取余魔法棒 ‘ % ’!
✨代码例子:
int a = 10, b = 3; cout << a + b << endl; // 13 cout << a - b << endl; // 7 cout << a * b << endl; // 30 cout << a / b << endl; // 3 cout << a % b << endl; // 1⚖️2. 比较魔法棒(谁大谁小我知道!)
比较魔法棒的能力是“判断真假”。
它们不会输出数值,而是输出:
true(1)表示 “对”false(0)表示 “错”
| 魔法棒 | 功能 | 例子(结果) |
|---|---|---|
== | 判断是否相等 | 5 == 5 → true |
!= | 判断是否不相等 | 5 != 3 → true |
> | 是否大于 | 8 > 2 → true |
< | 是否小于 | 3 < 9 → true |
>= | 是否大于等于 | 4 >= 4 → true |
<= | 是否小于等于 | 2 <= 8 → true |
🌟小学生理解:像“秤”一样帮你比较大小!
哪个数字更胖?更高?
有没有一样大?
谁更厉害?
比较运算就是让电脑判断这些问题。
✨例子:
int age = 10; cout << (age > 5) << endl; // 1 true cout << (age == 10) << endl; // 1 true cout << (age < 5) << endl; // 0 false🧠3. 逻辑魔法棒(判断多个条件时超级有用!)
逻辑魔法棒能把多个比较组合在一起,用来写复杂判断。
| 魔法棒 | 名字 | 功能 |
|---|---|---|
&& | 并且魔法棒 | 两个都要真,结果才真 |
| || | 或者魔法棒 | 一个是真,结果就为真 |
| ! | 反转魔法棒 | 真变假,假变真 |
🌟小学生理解:像 “门禁” 一样!
&&两把钥匙都要有才能开门
例如:
年龄 > 7并且身高 > 120 才能坐过山车
||只要有一把钥匙就能开门
例如:
年龄 < 6或者是 VIP 就能免费入园
!翻转真假
像是把灯开关倒过来。
✨例子:
int age = 10; cout << (age > 5 && age < 15) << endl; // true cout << (age < 5 || age == 10) << endl; // true cout << !(age == 10) << endl; // false📦4. 赋值魔法棒(把值放进盒子)
=不是“等于”,它是“放东西”的魔法!
| 魔法棒 | 功能 | 等价写法 |
|---|---|---|
a = 5 | 把 5 放进 a | — |
a += 2 | a 变成 a+2 | a = a + 2 |
a -= 3 | a 变成 a-3 | a = a - 3 |
a *= 4 | a 变成 a×4 | a = a * 4 |
a /= 5 | a 变成 a÷5 | a = a / 5 |
a %= 6 | a 变成 a%6 | a = a % 6 |
🌟小学生理解:变量是“盒子”,赋值就是“装东西”!
比如:
int apple = 10; apple = 5; // 原来 10 个苹果,现在变成 5 个“+=” 是“在原来盒子里继续加东西”
apple += 3; // 变成 8✨例子:
int x = 10; x += 5; // 15 x -= 3; // 12 x *= 2; // 24 cout << x;🔼5. 自增、自减魔法棒(数字自己加加减减)
这是数字的“自动变化魔法”!
| 魔法棒 | 作用 |
|---|---|
a++ | 先用,再加 1 |
++a | 先加 1,再用 |
a-- | 先用,再减 1 |
--a | 先减 1,再用 |
🌟最易懂口诀(小学生专用):
前++:先吃饭,再上课(先长大再使用)
后++:先上课,再吃饭(先使用再长大)
✨例子:
int a = 5; cout << ++a << endl; // 6 cout << a++ << endl; // 6 (但之后变成 7) cout << a << endl; // 7🎯五大魔法棒总结图(超关键)
| 魔法棒类型 | 功能 | 代表符号 |
|---|---|---|
| 🧮 算术 | 数字计算 | + - * / % |
| ⚖️ 比较 | 判断大小 | > < == != |
| 🧠 逻辑 | 多条件判断 | && |
| 📦 赋值 | 把东西放到变量里 | = += -= |
| 🔼 自增减 | 数字自动变化 | ++ -- |
二、🎩✨《C++ 运算符魔法测验》
🧨 题目 1:下面哪个运算符表示“加法魔法棒”?
A.-
B.+
C.*
✔答案:B
讲解:+就是让数字变大、凑在一起的“加法魔法棒”。
🧨 题目 2:下面哪个操作是“给盒子里放东西”?
A.int a;
B.a = 6;
C.cout << a;
✔答案:B
讲解:=是赋值,把右边的数字放到左边的盒子里。
🧨 题目 3:下面哪个是“取余(剩下多少)”的魔法棒?
A./
B.%
C.*
✔答案:B
讲解:%是求余,把“分完之后的剩下”计算出来。
🧨 题目 4:判断 8 和 8 是否一样大,应该用哪个?
A.=
B.==
C.>=
✔答案:B
讲解:判断是否相等一定要用两个等号==。
🧨 题目 5:下面哪个表示“不相等”的比较魔法棒?
A.!=
B.==
C.<>
✔答案:A
讲解:!=表示“不一样”,是“不相等”的意思。
🧨 题目 6:想判断两个条件是否都成立,要用哪个?
A.&&
B.||
C.!
✔答案:A
讲解:&&是“并且”,两个都是真的才算真。
🧨 题目 7:要表示“或者”,至少一个条件成立就行,应该用哪个?
A.&&
B.||
C.!
✔答案:B
讲解:||是“或者”,只要有一个条件成立就为真。
🧨 题目 8:下面哪个表达式的结果是 false?
A.5 > 3
B.4 == 4
C.2 > 10
✔答案:C
讲解:2 不可能比 10 大,所以是 false。
🧨 题目 9:下面哪个操作是“给盒子贴名字”?
A.int n;
B.n = 5;
C.cout << n;
✔答案:A
讲解:int n;是创建一个盒子,并给它取名叫 n。
🧨 题目 10:下面哪个是“乘法魔法棒”?
A./
B.*
C.+
✔答案:B
讲解:*就是乘法,让数字快速变大。
🧨 题目 11:a++的意思是什么?
A. 先加 1 再用
B. 先用再加 1
C. 什么都不做
✔答案:B
讲解:a++是后加,先用旧值,再加 1。
🧨 题目 12:++a的意思是什么?
A. 先加 1 再使用
B. 先使用再加 1
C. 不知道做啥
✔答案:A
讲解:++a是先加再用。
🧨 题目 13:下面哪个表达式的结果是 1(true)?
A.!(5 == 5)
B.3 < 1
C.(3 < 5) && (5 == 5)
✔答案:C
讲解:两个条件都为真,&&也就为真。
🧨 题目 14:下面哪个是“把自己变成自己+5”的写法?
A.a = a + 5;
B.a += 5;
C. 两个都是
✔答案:C
讲解:a += 5;是短写,和a = a + 5;完全一样。
🧨 题目 15:下面哪个表示“除法魔法棒”?
A.%
B.*
C./
✔答案:C
讲解:/是除法,把一个数分成几份。
🧨 题目 16:表达式10 % 4的结果是多少?
A. 2
B. 3
C. 10
✔答案:A
讲解:10 除以 4,一共分出 2 份(8),还剩 2。
🧨 题目 17:下面哪个判断是正确的?
已知:int a = 8, b = 6;
A.a < b
B.a == b
C.a > b
✔答案:C
讲解:8 的确比 6 大。
🧨 题目 18:下面哪个表达式先算乘法再算加法?
A.2 + 3 * 4
B.(2 + 3) * 4
C. 都一样
✔答案:A
讲解:没括号时乘法优先级更高,先算 3*4,再加 2。
🧨 题目 19:表达式!(3 > 10)的结果是?
A. true
B. false
C. 10
✔答案:A
讲解:
3 > 10 是 false,
但!false变成 true。
🧨 题目 20:在 C++ 中,下面哪个符号表示“赋值运算符”?
A.=
B.==
C.!=
✔答案:A
讲解:=是赋值,把右边的内容放到左边的变量里。
三、🧮课后练习:计算符编程题
✅题目 1:计算三门成绩的总分
要求:
输入数学、语文、英语三门成绩,输出总分。
输入示例:
90 80 70
输出示例:
240
✔ 参考程序:
#include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; cout << a + b + c << endl; }✅题目 2:计算两个数的平均值
要求:
输入两个整数,输出它们的平均数。(用加法、除法运算符)
输入示例:
8 10
输出示例:
9
✔ 参考程序:
#include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; cout << (a + b) / 2 << endl; }✅题目 3:判断能否被 3 整除(余数判断)
要求:
输入一个整数,如果它能被 3 整除(余数为 0),输出 YES,否则输出 NO。
输入示例:
9
输出示例:
YES
✔ 参考程序:
#include <iostream> using namespace std; int main() { int n; cin >> n; if (n % 3 == 0) cout << "YES"; else cout << "NO"; }✅题目 4:计算正方形的面积
要求:
输入边长a,输出面积(a×a)。
输入示例:
5
输出示例:
25
✔ 参考程序:
#include <iostream> using namespace std; int main() { int a; cin >> a; cout << a * a << endl; }✅题目 5:计算两数的四种结果
要求:
输入两个整数a, b
输出:
a + b
a - b
a * b
a % b(a 除以 b 的余数)
输入示例:
15 4
输出示例:
19 11 60 3
✔ 参考程序:
#include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; cout << a + b << endl; cout << a - b << endl; cout << a * b << endl; cout << a % b << endl; }✅ 题目 6 距离判断
题目:
在战场上,有一个战士在位置p,有一个敌人在位置t(一维数轴上的整数坐标)。如果战士和敌人之间的距离不超过d(即|p - t| <= d),则视为可以进行射击,输出YES,否则输出NO。
输入:
一行包含三个整数
p t d(空格分隔)。
输出:
YES或NO(大写)。
输入示例:
5 7 3
输出示例:
YES
✔ 参考程序:
#include <iostream> using namespace std; int main() { int p, t, d; cin >> p >> t >> d; if (abs(p - t) <= d) cout << "YES"; else cout << "NO"; return 0; }