C语言运算符优先级

在C语言中,运算符优先级是一个比较麻烦的概念,如果搞不清楚优先级可能会产生一些难以察觉的错误

第一优先级:[ ] ( ) . ->
第一优先级包括方括号,圆括号,对象,对象指针

第二优先级:- ~ ++ – * & ! ( 类型 ) sizeof
第二优先级包括取负,按位取反,自增,自减,取值运算符,取地址符,逻辑非运算符,强制类型转换,长度运算符

第三优先级: / * %
第三优先级包括乘法,除法,取模

第四优先级:+ -
表示加法,减法
注意第四优先级中的 - 表示减法,而非第一优先级中的取负

第五优先级:<< >>
分别表示左移,右移

第六优先级: > >= < <=
大于(等于) 小于(等于)

第七优先级: == !=
逻辑表达中的等于,不等于

第八优先级:&
表示按位与,和取地址符不是一个概念,一般用法为 表达式&表达式

第九优先级:^
表示按位异或,用法为 表达式^表达式

第十优先级: |
按位或 用法为 表达式 | 表达式

第十一优先级:&&
表示逻辑与

第十二优先级:||
表示逻辑或

第十三优先级:?:
表示条件运算符,用法为 表达式1?表达式2:表达式3
如果表达式1成立,则结果为表达式2;不成立,则为表达式3

第十四优先级:= /= *= %= += -= <<= >>= &= ^= |=
分别表示赋值运算,除后赋值,乘后赋值,取模后赋值,加后赋值,减后赋值,左移后赋值,右移后赋值,按位与后赋值,按位异或后赋值,按位或后赋值

第十五优先级: ,
表示逗号运算符,用于表达式之间,从左到右,其值为最后一个表达式的值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值