当前位置: 首页 > 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.jsqmd.com/news/83753/

相关文章:

  • MATLAB图片操作常用命令
  • Mastercam产品编程培训,Mastercam三四轴编程全天班
  • 编程竞赛备考:如何利用考级检验基础能力?
  • 【字典树 C++ 实现】
  • UG NX工程制图时,常见会出现哪些异常问题
  • Nevergrad无梯度优化:5个简单步骤掌握终极优化工具
  • 【渲染优化】动态调整虚拟列表刷新率:让代码学会“偷懒“
  • Plex动漫插件终极指南:轻松打造完美动漫库
  • 医疗AI安全防护实战:3步构建诊断系统的风险检测体系
  • 【Elasticsearch】 大慢查询隔离
  • 智能语音革命:F5-TTS零门槛语音合成实战手册
  • IIoT 内容接口契约化工具JSON、OPC UA和Sparkplug B 优缺点对比分析
  • JBoltAI 4系列:开启企业智能架构的全新篇章
  • 《深入 Ascend C 编程:从零构建高性能 AI 算子(上)—— 基础架构与矩阵乘法实战》
  • 24个实战项目带你从零掌握物联网核心技术
  • NCT与GESP哪个更好?线上监考与线下考点的便利性对比
  • 通信专业入门必备:初级综合能力学习指南全新发布
  • Python 潮流周刊#131:从零开始构建智能体
  • Go-Ansible终极指南:在Golang中轻松集成Ansible自动化
  • Vue版本演进:Vue3、Vue2.7与Vue2全面对比
  • 16、网络写作、术语表与索引指南
  • 德卡读卡器SDK快速入门指南:轻松掌握读卡器开发工具
  • 浅析对AI Agent代理和Workflow工作流的理解、Agent最适宜的场景(搜索和编码)及原因(正反馈机制)
  • 大疆(DJI)前端开发岗位面试经验总结与备战指南
  • 17、索引创建与格式规范全解析
  • LangChain RAG 学习笔记:从文档加载到问答服务
  • 20251213
  • me_cleaner 终极指南:简单快速禁用Intel管理引擎保护系统安全
  • 无锁队列之moodycamel::ConcurrentQueue
  • 戴森球计划FactoryBluePrints终极指南:3步打造高效星际工厂