运算符优先级判断技巧

运算符优先级判断技巧

在C语言的逻辑里,**数学运算(算术)*的优先级高于*比较运算(关系)

第一层:非 (Unary / 单目) —— 霸道总裁

  • 运算符: ! (逻辑非), ++, --, sizeof, ~, * (指针取值)
  • 特点: 它们紧紧贴着变量,最先执行。比如 !ai++

第二层:算 (Arithmetic / 算术) —— 先算账

  • 运算符: *, /, % > +, -
  • 特点: 这里遵循小学数学,“先乘除模,后加减”。

第三层:关 (Relational / 关系) —— 后比较

  • 运算符: >, <, >=, <= > ==, !=
  • 注意(这也是考点): “比较大小”的优先级 高于 “判断相等”。
    • 例子:a < b == c 实际上是先算 (a < b) 的结果(0或1),再看这个结果等不等于 c

第四层:逻 (Logical / 逻辑) —— 判真假

  • 运算符: && (与) > || (或)
  • 特点: 只有两边的算术和比较都做完了,才能最后进行逻辑判断。
    • 注意: &&|| 优先级高(类似于乘法比加法高)。

第五层:赋 (Assignment / 赋值) —— 尘埃落定

  • 运算符: =, +=, -=, etc.
  • 特点: 所有的架都打完了,最后把结果给别人,所以优先级极低。

运算符优先级判断技巧
http://example.com/2025/12/23/运算符优先级判断技巧/
作者
王柏森
发布于
2025年12月23日
许可协议