当前位置: 首页 > news >正文

小学生学C++编程 (运算符的优先级)

一、《C++ 运算符优先级魔法课》开讲了!

1、 谁先算?谁后算?

📖 故事开场:
在“表达式王国”里,运算符都是小精灵。
有的地位高,先干活;有的地位低,后干活。
这就叫——优先级


2、 一句话先记住(超级重要)

🧠优先级 = 谁先算

就像班级组织学生去学校打篮球比赛:

  • 已经是校篮球队队员的优先进入队伍(高优先级)

  • 然后其它同学中根据打球条件进行选择(低优先级)


🥇 第一名大魔王:括号()

🏆 地位:最高!最高!最高!

(3 + 4) * 5

👉 先算括号里的:3 + 4 = 7
👉 再算乘法:7 × 5 =35


❌ 没括号就不一样

3 + 4 * 5

👉 先乘后加:4 × 5 = 20
👉 3 + 20 =23

📢 括号大魔王说:

谁住在括号里,谁就先算!


🥈 第二梯队:单目运算符(自己干活)

包括谁?

运算符作用
++x先加
x++后加
--x
!x

🌱 例子 1:!

!1+5

步骤:

1、!10

2、 0 + 5 = 5


🌱 例子 2:++

int x = 3;

++x * 2

步骤:

  1. ++x → x 变成 4

  2. 4 × 2 =8


📌 口诀:

一个人就能算的,优先级高!


🥉 第三梯队:乘除模* / %

🎒 老朋友(和数学一样)

6 + 4 * 2

👉 先算乘法:4 × 2 = 8
👉 再加:6 + 8 =14


⚠️ 模运算%也在这一组

7 % 3 // 1

📢 可以说:

乘、除、取余,是一伙的!


🟡 第四梯队:加减+ -

10 - 3 * 2

👉 先乘:3 × 2 = 6
👉 再减:10 - 6 =4


🔵 第五梯队:比较运算符

包括:

运算符
<>
<=>=
==!=

👮 例子(先算数,再比较)

3 + 4 > 6

👉 先算 3 + 4 = 7
👉 再比较:7 > 6 →true


📢 强调:

“比较一定在算完数字之后!”


🟣 第六梯队:逻辑运算符

三兄弟登场 🚦

运算符读法
!
&&并且
||或者

优先级顺序(内部):

! > && > ||


🌈 例子

false && false || ture

👉 先算 &&:false && false → false
👉 再算 ||: false || true →true


📌 口诀:

先并且,后或者


🟠 第七梯队:赋值运算符=

地位:很低,但很重要

int a;

a = 3 + 4 * 2;

👉 先算右边:4 × 2 = 8
👉 3 + 8 = 11
👉 最后才放进 a


📢 对孩子说:

“所有的数值都要先算完,最后再装盒子!”


🧠 超级总结表(小学生友好版)

括号 () ↓ 单目运算符 ++ -- ! ↓ 乘 除 取余 * / % ↓ 加 减 + - ↓ 比较 < > == != ↓ 逻辑 && || ↓ 赋值 =

📌 大家一起念 👇

“括号第一!
单目第二!
乘除第三!
加减第四!
比较逻辑!
赋值最后!”


🎯 终极实例:

int x = 3; int y = 5; x + y * 2 > 10 && !(x > y)

一步一步拆:

1️⃣ y * 2 = 10
2️⃣ x + 10 = 13
3️⃣ 13 > 10 → true
4️⃣ x > y → false
5️⃣ !(false) → true
6️⃣ true && true →true

🎉 完美通关!


🧑‍🏫 教学小贴士

  • ❌ 不要死背完整优先级表

  • 只记 7 层“梯队”

  • ✅ 任何不会的,有可能混淆的,加括号就稳赢

📢 永远记住:

C++编程“不会优先级?

加括号,准没错!”


二、《运算符优先级魔法课》闯关练习

第一关:概念理解题(1–6 题)

👉 选出正确答案即可


1️⃣ 在 C++ 中,谁的优先级最高?

A. 加法+
B. 乘法*
C. 括号()
D. 赋值=

正确答案:C
📝讲解:括号里的内容永远最先计算,谁住在括号里,谁先算。


2️⃣ 下面哪句话是正确的

A. 加法比乘法先算
B. 乘法比加法先算
C. 加法和乘法同时算
D. 必须看心情

正确答案:B
📝讲解:和数学一样,乘法的优先级比加法高。


3️⃣ 下列哪一个运算符最晚计算?

A.*
B.+
C.&&
D.=

正确答案:D
📝讲解:赋值运算符要等右边全部算完,最后才把结果放进盒子里。


4️⃣ 关于比较运算符,说法正确的是?

A. 比较会在乘法之前算
B. 比较会在加减之前算
C. 必须先算数字,再比较大小
D. 比较优先级最高

正确答案:C
📝讲解:一定是先算出数字结果,再用>==等来比较。


5️⃣ 下列哪一组运算符优先级最高

A.+ -
B.* /
C.&& ||
D.++ !

正确答案:D
📝讲解:单目运算符(++、!)自己就能算,优先级很高。


6️⃣ 下面哪种方法可以一定不会算错优先级

A. 快速心算
B. 背整张优先级表
C. 多写几个cout
D. 加括号

正确答案:D
📝讲解:不确定谁先算,就加括号,括号永远第一!


🔵 第二关:计算判断题(7–14 题)

👉 选出表达式的正确结果


7️⃣ 下面表达式的结果是?

3 + 4 * 5

A. 35
B. 23
C. 27
D. 15

正确答案:B
📝讲解:先算乘法:4×5=20,再加 3,结果是 23。


8️⃣ 下面表达式的结果是?

(3 + 4) * 5

A. 23
B. 20
C. 35
D. 15

正确答案:C
📝讲解:括号优先,3+4=7,再乘 5 得到 35。


9️⃣ 下面表达式的结果是?

10 - 6 / 3 * 2

A. 2
B. 6
C. 16
D. 4

正确答案:B
📝讲解:先算除法:6÷3=2,再乘 2 得 4,最后 10-4 = 6。


🔟 下面表达式的结果是?

int x = 3;

++x * 2

A. 6
B. 7
C. 8
D. 10

正确答案:C
📝讲解:++x 先加,x 变成 4,再乘 2 得 8。


1️⃣1️⃣ 下面表达式的结果是?

true || false && false

A. true
B. false
C. 不能算
D. 报错

正确答案:A
📝讲解:左侧为true,右侧不需要计算,结果就是true。


1️⃣2️⃣ 下面表达式的结果是?

!(3 + 4 > 10)

A. true
B. false
C. 7
D. 不能比较

正确答案:A
📝讲解:3+4=7,7>10 是 false,!false 变成 true。


1️⃣3️⃣ 下面表达式的结果是?

5 + 3 > 6 && 4 < 2

A. true
B. false
C. 8
D. 不能算

正确答案:B
📝讲解:左边 5+3>6 是 true,右边 4<2 是 false,true && false 为 false。


1️⃣4️⃣ 下面表达式的结果是?

int a = 2;

int b = 3;

a + b * 2 == 8

A. true
B. false
C. 7
D. 8

正确答案:A
📝讲解:b×2=6,a+6=8,8==8 成立。


🟣 第三关:综合思维题(15–20 题)

👉 又长又不怕,拆开就能赢


1️⃣5️⃣ 下面表达式的结果是?

(2 + 3) * 2 > 8

A. true
B. false
C. 10
D. 不能比较

正确答案:A
📝讲解:括号先算:2+3=5,5×2=10,10>8 成立。


1️⃣6️⃣ 下面表达式的结果是?

3 + 5 * 2 > 10 && 4 > 1

A. true
B. false
C. 不能算
D. 12

正确答案:A
📝讲解:5×2=10,3+10=13,13>10 是 true,4>1 也是 true。


1️⃣7️⃣ 下面表达式的结果是?

!(2 * 3 + 1 == 7)

A. true
B. false
C. 7
D. 报错

正确答案:B
📝讲解:2×3=6,6+1=7,7==7 是 true,!true 变成 false。


1️⃣8️⃣ 下面表达式的结果是?

int x = 1;

int y = 2;

x + y > 2 || x * y == 2

A. true
B. false
C. 3
D. 不能算

正确答案:A
📝讲解:左边 1+2>2 为 true,结果就为 true。


1️⃣9️⃣ 下面表达式的结果是?

int x = 3;

int y = 4;

!(x > y) && x + y == 7

A. true
B. false
C. 7
D. 不能算

正确答案:A
📝讲解:x>y 为 false,取反变 true;x+y=7 成立,true && true。


2️⃣0️⃣ 下面表达式的结果是?

int a = 2;

int b = 3;

int c = 4;

a + b * c > 10 && !(a == b)

A. true
B. false
C. 14
D. 不能算

正确答案:A
📝讲解:b×c=12,a+12=14,14>10 是 true;a==b 为 false,取反后为 true。


🏆 通关总结(送给我的学生)

✨ 括号第一最厉害
✨ 单目运算在前面
✨ 乘除在前加减后
✨ 比较真假别着急
✨ 逻辑最后来判断
✨ 不会就把括号加!

🎉 恭喜你,已经成为【运算符优先级魔法师】了


附表:

http://www.rkmt.cn/news/93949.html

相关文章:

  • 少儿编程考试路径规划:考级与竞赛时间如何平衡?
  • UG NX工程制图时,常见会出现哪些异常问题
  • 【渲染优化】动态调整虚拟列表刷新率:让代码学会“偷懒“
  • 《深入 Ascend C 编程:从零构建高性能 AI 算子(上)—— 基础架构与矩阵乘法实战》
  • IIoT 内容接口契约化工具JSON、OPC UA和Sparkplug B 优缺点对比分析
  • NCT与GESP哪个更好?线上监考与线下考点的便利性对比
  • 20251213
  • 【Java毕设全套源码+文档】基于Java的横向课题信息管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 戴森球计划FactoryBluePrints终极指南:3步打造高效星际工厂
  • AI写论文工具排行榜:9个优选方案,覆盖开题到终稿全流程
  • windows著名漏洞——Zerologon(零登录)
  • 20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配CTP触摸屏FT5X06
  • 快速排序:10分钟掌握高效算法精髓
  • 北京雅思培训机构综合评测与选择指南 - 品牌测评鉴赏家
  • 机器学习:基于python租房推荐系统 预测算法 协同过滤推荐算法 房源信息 可视化 机器学习-线性回归预测模型 Flask框架(源码+文档)✅ - 详解
  • Astrofy:快速构建现代化个人作品集的免费开源模板
  • 如何快速掌握THC-Hydra:网络安全新手的完整指南
  • 路由器的5G和手机上的5G是一个意思吗?深度解析两大区别
  • 3大实战场景:深度解决.NET MAUI在Android平台的适配痛点
  • React(一):使用react-router构建导航应用
  • Android桌面控制终极方案:AYA让ADB图形界面操作变得简单快速
  • BibTeX Tidy终极指南:快速整理和格式化你的学术引用文件
  • Flutter国际化终极指南:Easy Localization完整教程
  • 实战进阶:软件架构设计模式深度解析与应用指南
  • vs2010卸载安装后报错未能正确加载 “Microsoft.Entity.Design.BootstrapPackage.BootstrapPackage,Microsoft.Data.Entity
  • SmartCrop.js智能图像裁剪库升级完全攻略
  • 光刻胶用增感剂:乙氧基/丙氧基改性吡唑啉有机物
  • 图像增强与滤波
  • “STM32语音智能窗帘(轻松上手)”
  • WOA-XGBoost回归+SHAP分析+新数据预测!Matlab代码实现