c 运算符优先级顺序速记

前言

在掌握C语言中的运算符及其优先级时,有一套简洁而高效的速记口诀可以帮助我们迅速记住它们的顺序和用法。这些口诀不仅便于记忆,而且能够在编程实践中快速定位和解决问题。下面是这套速记口诀的详细解读和一些额外的说明,旨在帮助读者更好地理解和应用。

速记口诀

小中箭点 单右左
算 移 比 等 与 异 或
and 或者 三元 赋
逗号最低 牢记住

速记口诀详解

小中箭点 单右左

这一部分涵盖了C语言中具有最高优先级的运算符,包括函数调用的小括号(),数组下标的中括号[],结构体指针访问的箭头->,以及结构体成员访问的点号.。这些运算符的共同特点是它们的结合性都是自左向右,表示在表达式中,当有多个相同优先级的运算符时,运算的顺序是从左到右。

单右左

这部分包括了一系列单目运算符,如逻辑非!,位反~,自增++,自减--,负号-,强制类型转换(type),解引用*,取地址&,以及sizeof运算符。它们的结合性是自右向左,意味着在包含多个单目运算符的表达式中,运算顺序从右至左进行。

算 移 比 等 与 异 或

这一系列口诀代表了运算符优先级从高到低的顺序。"算"代表乘法*、除法/、取模%运算符;"移"指的是位移运算符,包括左移<<和右移>>;"比"涉及比较运算符,如小于<、小于等于<=、大于>、大于等于>=;"等"指等于==和不等于!=运算符;"与"、"异"、"或"分别代表位与&、位异或^、位或|运算符。

and 或者 三元 赋

这部分描述了逻辑与&&、逻辑或||、三元条件运算符?:以及赋值运算符,如简单赋值=和复合赋值+=-=等。它们的优先级依次降低,并且除三元运算符外,其余的结合性都是自左向右。

逗号最低 牢记住

逗号运算符,具有最低的优先级,但在连接多个表达式,尤其是在for循环的初始化和更新部分时非常有用。它的结合性是自左向右。

备注解释

  • 不同优先级空格会分开:在口诀中,不同优先级的运算符之间用空格分隔,以便区分和记忆。
  • 相同的之间没有空格:具有相同优先级的运算符之间没有空格,表示它们在优先级上是等价的,如"小中箭点"中的运算符。
  • 按照结合性来分词:在记忆时,还需要考虑运算符的结合性,这对于理解和应用表达式中运算符的执行顺序至关重要。

通过掌握这些速记口诀,程序员可以更快地理解和记忆C语言中众多运算符的优先级和结合性,这对于编写正确无误的代码来说是非常重要的。希望这篇文章能够为你的编程学习之路提供帮助和指导。

结合表格记忆

运算符 结合性 速记 解释
() \[\] -> . 自左向右 小中箭点 小括号(函数调用) 中括号, 箭头, 点号
! ~ ++ -- - (type) * & sizeof 自右向左 单右左 单目运算符, 结合律是右往左
* / % 自左向右 乘除mod
+ - 自左向右 加减
<< >> 自左向右 移位
< <= > >= 自左向右 小于, 小于等于, 大于 大于等于
== != 自左向右 等于, 不等于
& 自左向右
^ 自左向右
| 自左向右
&& 自左向右 and
|| 自左向右 或者
?: 自右向左 三元
assignments 自右向左
, 自左向右 逗号最低牢记住
相关推荐
晓蛋2 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊2 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿2 天前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
phltxy2 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
phltxy2 天前
C 语言中的数据存储:从类型到二进制位
c语言
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超2 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust