操作符的优先级和结合性

1.优先级

运算符优先级指定了包含多个运算符的表达式中的运算顺序。 运算符关联性指定了在包含多个具有相同优先级的运算符的表达式中,操作数是与其左侧还是右侧的操作数组合。

 操作符的优先级:(优先级依次从上至下依次递减)

是否控制求值顺序:是,否
  结合性:L-R 或 R-L
 () 聚组 (表达式)  与表达式同   N/A 否
() 函数调用     L-R  否
[ ] 下标引用      L-R  否
. 访问结构成员     L-R 否
-> 访问结构指针成员  L-R 否
++ 后缀自增  L-R 否
-- 后缀自减  L-R 否
! 逻辑反  R-L 否
~ 按位取反  R-L 否
+ 单目,表示正值  R-L 否
- 单目,表示负值  R-L 否
++ 前缀自增  R-L 否
-- 前缀自减  R-L 否
* 间接访问  R-L 否
& 取地址  R-L 否
sizeof    取其长度,以字节表示    R-L 否
(类型)   类型转换 (类型)   R-L 否
* 乘法 L-R 否
/ 除法 L-R 否
% 整数取余  L-R 否
+ 加法 L-R 否
- 减法  L-R 否
<< 左移位  L-R 否
>> 右移位  L-R 否
> 大于  L-R 否
>= 大于等于  L-R 否
< 小于  L-R 否
<= 小于等于 L-R 否
== 等于  L-R 否
!= 不等于  L-R 否
& 位与  L-R 否
^ 位异或  L-R 否
| 位或  L-R 否
&& 逻辑与  L-R 是
|| 逻辑或  L-R 是
? : 条件操作符  N/A 是
= 赋值 p R-L 否
+= 以...加  R-L 否
-= 以...减  R-L 否
*= 以...乘  R-L 否
/= 以...除  R-L 否
%= 以...取模  R-L 否
<<= 以...左移  R-L 否
>>= 以...右移  R-L 否
&= 以...与  R-L 否
^= 以...异或  R-L 否
|= 以...或  R-L 否
, 逗号    L-R 是

2.结合性

如果两个运算符优先级相同,优先级没办法确定先计算哪个了,这时候就看结合性了,则根据运算符 是左结合,还是右结合,决定执⾏顺序。⼤部分运算符是左结合(从左到右执⾏),少数运算符是右 结合(从右到左执⾏),⽐如赋值运算符( = )。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值