C 语言--运算符优先级

本文介绍了C语言中运算符的优先级规则,包括单目运算符、双目运算符如算术、移位、关系、逻辑和赋值运算符的优先级比较。特别指出逻辑运算符优先级低于关系运算符,移位运算符优先级介于算术和关系运算符之间。此外,还提到了关系运算符内部、位逻辑运算符、三目运算符和赋值运算符的优先级关系。

Operation priority in C language


运算符结合性
() [] -> .自左向右
! ~ ++ – - (type) * & sizeof自右向左
  • / %
自左向右
  • -
自左向右
<< >>自左向右
< <= > >=自左向右
== !=自左向右
&自左向右
^自左向右
I自左向右
&&自左向右
II自左向右
?:自右向左
assignments(=)自右向左
自左向右

Table 1


可见
* 优先级最高的其实并不是真正意义上的运算符
* 单目运算符优先级仅次于前述运算符
* 双目运算符:
算术运算符>移位运算符>关系运算符>逻辑运算符>赋值运算符>条件运算符

注意两点:
1. 任何一个逻辑运算符的优先级低于任何一个关系运算符
2. 移位运算符的优先级比算数运算符要低,但是比关系运算符要高


  1. 算数运算符之间的优先级关系显而易见.
  2. 但是6个关系运算符的优先级并不相同, 运算符== 和!=的优先级要低于其他关系运算符的优先级.
  3. 任何按位逻辑运算符优先级要高于一般逻辑运算符,每个“与”运算符要高于“或”运算符.
  4. 三目运算符优先级高于赋值运算符.
  5. 逗号运算符优先级最低.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值