《C和指针》操作符的优先级
来源:互联网 发布:html与js的关系 编辑:程序博客网 时间:2024/05/16 06:25
《C和指针》一书介绍操作符优先级
5.4.3 操作符的属性
每个操作符的所有属性都列在表5.1所示的优先级表中。表中各个列分别代表操作符、它的功能描述、用法示例、它的结果类型、它的结合性以及当它出现时是否会对表达式的求值顺序施加控制。用法示例提示它是否需要操作数为左值。术语lexp表示左值表达式,rexp表示右值表达式。记住,左值意味着一个位置,而右值意味着一个值。所以,在使用右值的地方也可以使用左值,但是在需要左值的地方不能使用右值。
说明:结合性L-R自左向右,R-L自右向左。
表5.1 操作符的优先级
操作符
描述
用法示例
结果类型
结合性
是否控制求值顺序
()
聚组
(表达式)
与表达式同
N/A
否
()
函数调用
rexp(rexp,…,rexp)
rexp
L-R
否
[]
下标引用
Rexp[rexp]
lexp
L-R
否
.
访问结构成员
Lexp.member_name
lexp
L-R
否
->
访问结构指针成员
Rexp->member_name
lexp
L-R
否
++
后缀自增
Lexp++
rexp
L-R
否
--
后缀自减
Lexp--
rexp
L-R
否
!
逻辑反
!rexp
rexp
R-L
否
~
按位取反
~rexp
rexp
R-L
否
+
单目,表示正值
+rexp
rexp
R-L
否
-
单目,表示负值
-rexp
rexp
R-L
否
++
前缀自增
++lexp
rexp
R-L
否
--
前缀自减
--lexp
rexp
R-L
否
*
间接访问
*rexp
lexp
R-L
否
&
取地址
&lexp
rexp
R-L
否
sizeof
取其长度,以字节表示
Sizeof rexp
Sizeof(类型)
rexp
R-L
否
(类型)
类型转换
(类型)rexp
rexp
R-L
否
*
乘法
Rexp * rexp
rexp
L-R
否
/
除法
Rexp / rexp
rexp
L-R
否
%
整数取余
Rexp % rexp
rexp
L-R
否
+
加法
Rexp + rexp
Rexp
L-R
否
-
减法
Rexp - rexp
Rexp
L-R
否
<<
左移位
Rexp << rexp
Rexp
L-R
否
>>
右移位
Rexp >> rexp
Rexp
L-R
否
>
大于
Rexp > rexp
Rexp
L-R
否
>=
大于等于
Rexp >= rexp
Rexp
L-R
否
<
小于
Rexp < rexp
Rexp
L-R
否
<=
小于等于
Rexp <= rexp
Rexp
L-R
否
==
等于
Rexp == rexp
rexp
L-R
否
!=
不等于
Rexp != rexp
Rexp
L-R
否
&
位与
Rexp & rexp
Rexp
L-R
否
^
位异或
Rexp ^ rexp
rexp
L-R
否
|
位或
Rexp | rexp
Rexp
L-R
否
&&
逻辑与
Rexp && rexp
Rexp
L-R
是
||
逻辑或
Rexp || rexp
rexp
L-R
是
?:
条件操作符
Rexp ? rexp : rexp
rexp
N/A
是
=
赋值
Lexp = rexp
rexp
R-L
否
+=
以…加
Lexp += rexp
rexp
R-L
否
-=
以…减
Lexp -= rexp
Rexp
R-L
否
*=
以…乘
Lexp *= rexp
Rexp
R-L
否
/=
以…除
Lexp /= rexp
Rexp
R-L
否
%=
以…取模
Lexp %= rexp
Rexp
R-L
否
<<=
以…左移
Lexp <<= rexp
Rexp
R-L
否
>>=
以…右移
Lexp >>= rexp
Rexp
R-L
否
&=
以…与
Lexp &= rexp
Rexp
R-L
否
^=
以…异或
Lexp ^= rexp
Rexp
R-L
否
|=
以…或
Lexp |= rexp
Rexp
R-L
否
,
逗号
Rexp, rexp
Rexp
L-R
是
我是照书上打的。讲得比较详细,记录下,方便自己同时也方便他人。
- 《C和指针》操作符的优先级
- C/C++中操作符的优先级和求值顺序
- C操作符的优先级和关联规则
- C操作符的优先级和关联规则
- C/C++中操作符的优先级和求值顺序
- C操作符优先级
- c操作符优先级
- C语言的操作符优先级
- C语言的操作符优先级
- 操作符的优先级 (c++primer)
- C中操作符的优先级
- C、C++中“*”操作符和“后++”操作符的优先级
- 操作符的优先级和结合性
- 指针和运算符优先级
- C语言中操作符的优先级和结合性的区别
- C操作符优先级表
- C语言操作符优先级
- C语言操作符优先级
- Unity 3D 抛物线算法
- 地址映射与共享
- jsp中 param子标签的使用
- 有关GroupBox和RadioButton
- Unity 3D 自动寻路(简单)
- 《C和指针》操作符的优先级
- 微策略魔数题
- android player,wzplayer for android (gles2.0)渲染 ,声音支持AudioTrack,opensl es
- 网络速率方面的知识(Kbps Mbps KB/s Mb/s Kb/s等)
- C++ Bost库基本内容概述
- mfc实现系统托盘
- Java字符串与包装类
- 2D 和 3D 中的 CSS 轉換 (Preliminary) CSS3中 translate3D详解
- 查阅 卡方检验 Chi-squared Test