C语言运算符的优先级详细总结

19 篇文章 0 订阅
12 篇文章 0 订阅

按照从高到低的优先级顺序排列:

1. 括号运算符

  • ():用于改变运算的优先级。

2. 后缀运算符

  • 数组下标 []
  • 函数调用 ()
  • 结构体成员访问 .->
  • 后缀自增 ++
  • 后缀自减 --

3. 单目运算符

  • 逻辑非 !
  • 按位取反 ~
  • 正号 +
  • 负号 -
  • 类型转换 (type)
  • 地址运算符 &
  • 间接寻址(解引用) *
  • 长度运算符 sizeof
  • _Alignof(C11新增)

4. 乘法运算符

  • 乘法 *
  • 除法 /
  • 求余 %

5. 加法运算符

  • 加法 +
  • 减法 -

6. 移位运算符

  • 左移 <<
  • 右移 >>

7. 关系运算符

  • 小于 <
  • 大于 >
  • 小于等于 <=
  • 大于等于 >=

8. 等于运算符

  • 等于 ==
  • 不等于 !=

9. 位与运算符

  • 按位与 &

10. 位异或运算符

  • 按位异或 ^

11. 位或运算符

  • 按位或 |

12. 逻辑与运算符

  • 逻辑与 &&

13. 逻辑或运算符

  • 逻辑或 ||

14. 条件运算符

  • 三元条件运算符 ?:

15. 赋值运算符

  • 简单赋值 =
  • 加法赋值 +=
  • 减法赋值 -=
  • 乘法赋值 *=
  • 除法赋值 /=
  • 求余赋值 %=
  • 左移赋值 <<=
  • 右移赋值 >>=
  • 按位与赋值 &=
  • 按位异或赋值 ^=
  • 按位或赋值 |=

16. 逗号运算符

  • 逗号 ,

注意事项

  • 运算符的优先级决定了在表达式中哪个操作首先被执行。
  • 可以通过使用括号 () 来改变运算的默认优先级。
  • 当两个运算符具有相同的优先级时,它们的结合性(从左到右或从右到左)决定了操作的顺序。大多数二元运算符(除了赋值运算符和条件运算符外)都是从左到右结合的,但赋值运算符和条件运算符是从右到左结合的。

这个列表涵盖了C语言中所有的运算符及其优先级,但请注意,随着C语言标准的发展(如C99、C11、C17等),可能会引入新的运算符或特性,但基本的运算符优先级结构保持不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值