符号-分节7(运算符的优先级上)

运算符的优先级表

C 语言的符号众多,由这些符号又组合成了各种各样的运算符。

既然是运算符就一定有 其特定的优先级,下表就是C 语言运算符的优先级表: 优先级运算符名称或含义使用形式结合方向说。

1
[] 数组下标数组名[常量表达式] 左到右 () 圆括号
(表达式)/函数名(形 参表)

. 成员选择(对象) 对象.成员名
-> 成员选择(指针) 对象指针->成员名
2
- 负号运算符

-表达式 右到左

单目运算符
(类型) 强制类型转换

(数据类型)表达式
++ 自增运算符

++变量名/变量名++

单目运算符

-- 自减运算符--变量名/变量名--

单目运算符

* 取值运算符

*指针变量单目运算符

& 取地址运算符

&变量名

单目运算符

! 逻辑非运算符

!表达式单目运算符

~ 按位取反运算符

~表达式单目运算符

sizeof 长度运算符

sizeof(表达式)

3
/ 除表达式/表达式 左到右 双目运算符
* 乘表达式*表达式双目运算符

 % 余数(取模) 整型表达式/整型表 达式
双目运算符
4
+ 加表达式+表达式 左到右 双目运算符
- 减表达式-表达式双目运算符 5
<< 左移变量<<表达式 左到右 双目运算符
>> 右移变量>>表达式双目运算符 6
> 大于表达式>表达式 左到右 双目运算符
>= 大于等于表达式>=表达式双目运算符 < 小于表达式<表达式双目运算符
<= 小于等于表达式<=表达式双目运算符 7
== 等于表达式==表达式 左到右 双目运算符
!= 不等于表达式!= 表达式双目运算符
8 & 按位与表达式&表达式左到右双目运算符

9 ^ 按位异或表达式^表达式左到右双目运算符

10 | 按位或表达式|表达式左到右双目运算符

11 && 逻辑与表达式&&表达式左到右双目运算符

12 || 逻辑或表达式||表达式左到右双目运算符

13 ?: 条件运算符 表达式1? 表达式2: 表达式3 右到左三目运算符

 14 = 赋值运算符变量

=表达式 右到左
/= 除后赋值变量/=表达式

 *= 乘后赋值变量*=表达式

%= 取模后赋值变量%=表达式

 += 加后赋值变量+=表达

-= 减后赋值变量-=表达式 <<=

左移后赋值变量<<=表达式 >>= 右移后赋值变量>>=表达式
注:同一优先级的运算符,运算次序由结合方向所决定。
上表不容易记住。其实也用不着死记,用得多,看得多自然就记得了。

也有人说不用记 这些东西,只要记住乘除法的优先级比加减法高就行了,别的地方一律加上括号。

这在你自 己写代码的时候,确实可以,但如果是你去阅读和理解别人的代码呢?别人不一定都加上括 号了吧?

所以,记住这个表,我个人认为还是很有必要的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值