c 运算符优先级顺序速记

前言

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

速记口诀

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

速记口诀详解

小中箭点 单右左

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

单右左

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

算 移 比 等 与 异 或

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

and 或者 三元 赋

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

逗号最低 牢记住

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

备注解释

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

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

结合表格记忆

运算符 结合性 速记 解释
() [] -> . 自左向右 小中箭点 小括号(函数调用) 中括号, 箭头, 点号
! ~ ++ -- - (type) * & sizeof 自右向左 单右左 单目运算符, 结合律是右往左
* / % 自左向右 乘除mod
+ - 自左向右 加减
<< >> 自左向右 移位
< <= > >= 自左向右 小于, 小于等于, 大于 大于等于
== != 自左向右 等于, 不等于
& 自左向右
^ 自左向右
| 自左向右
&& 自左向右 and
|| 自左向右 或者
?: 自右向左 三元
assignments 自右向左
, 自左向右 逗号最低牢记住
相关推荐
软件黑马王子3 小时前
C#初级教程(4)——流程控制:从基础到实践
开发语言·c#
闲猫3 小时前
go orm GORM
开发语言·后端·golang
李白同学4 小时前
【C语言】结构体内存对齐问题
c语言·开发语言
楼台的春风5 小时前
【MCU驱动开发概述】
c语言·驱动开发·单片机·嵌入式硬件·mcu·自动驾驶·嵌入式
黑子哥呢?5 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农6 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿6 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
彳卸风6 小时前
Unable to parse timestamp value: “20250220135445“, expected format is
开发语言
dorabighead7 小时前
JavaScript 高级程序设计 读书笔记(第三章)
开发语言·javascript·ecmascript
风与沙的较量丶7 小时前
Java中的局部变量和成员变量在内存中的位置
java·开发语言