c 运算符优先级顺序速记

前言

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

速记口诀

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

速记口诀详解

小中箭点 单右左

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

单右左

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

算 移 比 等 与 异 或

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

and 或者 三元 赋

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

逗号最低 牢记住

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

备注解释

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

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

结合表格记忆

运算符 结合性 速记 解释
() \[\] -> . 自左向右 小中箭点 小括号(函数调用) 中括号, 箭头, 点号
! ~ ++ -- - (type) * & sizeof 自右向左 单右左 单目运算符, 结合律是右往左
* / % 自左向右 算 乘除mod
+ - 自左向右 算 加减
<< >> 自左向右 移 移位
< <= > >= 自左向右 比 小于, 小于等于, 大于 大于等于
== != 自左向右 等 等于, 不等于
& 自左向右 与
^ 自左向右 异
| 自左向右 或
&& 自左向右 and
|| 自左向右 或者
?: 自右向左 三元
assignments 自右向左 赋
, 自左向右 逗号最低牢记住
相关推荐
东鹏特饮43 分钟前
系统运维(传统/通用运维)面试题
开发语言·php
今天要早睡_1 小时前
C++01_入门基础复习
开发语言·c++
黑马程序员毕设2 小时前
基于 Java 的餐饮点餐系统设计与应用报告
java·开发语言
1-1=03 小时前
C# 委托与事件
开发语言·c#
Fuyo_11194 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
§ꦿCFོ༉4 小时前
嵌入式八股—C语言入门学习(一)
c语言·编程语言·嵌入式八股文
w_zero_one4 小时前
递归算法(一)
java·开发语言·算法
Julien20045 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
Chen_harmony5 小时前
七、STL与string类
开发语言·c++
沐晓时光6 小时前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言