C语言运算符的结合性及运算关系
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
*/%
乘、除、整数求余
双目算术运算符 自左向右
4
+-
加、减
双目算术运算符 自左向右
5
<< >>
左移、右移
双目位运算符 自左向右
6
< <ቤተ መጻሕፍቲ ባይዱ > >=
小于、小于等于 大于、大于等于
自左向右 双目关系运算符
7
== !=
等于、不等于
双目关系运算符 自左向右
8
&
按位与
双目位运算符 自左向右
9
^
按位异或
双目位运算符 自左向右
级的运算符连用时,才按照运算符的结合性所规定的顺序运算。而不同优先级的运
算符连用时,先操作优先级高的运算。
(2) 对于上表所罗列的优先级关系可按照如下方法记忆:
首先记两边,初等运算符()、[]、->、. 的优先级最高,逗号运算符最低,赋值运算符
和复合赋值运算符次低。其次,单目运算符的优先级高于双目运算符,双目运算符的优
运算符的结合性
优先级
运算符
含义
运算类型
结合性
()
圆括号、函数参数表
单目运算符
1
[]
数组元素下标
自左向右
->
指向结枸体成员
双目运算符
.
引用结构体成员
!
逻辑非
~
按位取反
++ --
增 1 、减 1
2
-
求负
单目运算符
自右向左
*
指针间接引用运算符
&
取地址运算符
(类型表示符)
强制类型转换运算符
sizeof
取占内存大小运算符
先级高于三目运算符。最后,算术运算符优先级高于其他双目运算符,移位运算符高于
关系运算符,关系运算符高于除移位之外的位运算符,位运算符高于逻辑运算符。
(3)同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符> 关系运算符> && > || > 赋值运算符
10
|
按位或
双目位运算符 自左向右
11
&&
逻辑与
双目逻辑运算符 自左向右
12
||
逻辑或
双目逻辑运算符 自左向右
13
?:
条件运算符
三目运算符
自右向左
=
赋值运算符
14
+= -= *= /= %= &= ^= |=
复合赋值运算符
双目运算符
自右向左
<<= >>=
15
,
逗号运算符
顺序求值运算 自左向右
说明:
(1) 运算符的结合性只对相同优先级的运算符有效,也就是说,只有表达式中相同优先