您的位置:首页 > 编程语言 > C语言/C++

c语言操作符优先级(转自博客园)

2013-08-25 19:46 281 查看
c语言操作符优先级

优先级
运算符
含 义
要求运算
对象的个数
结合方向
1
()
[]
->
.
圆括号
下标运算符
指向结构体成员运算符
结构体成员运算符
自左至右
2
!
逻辑非运算符
1
(单目运算符)
自右至左
~
按位取反运算符
++
自增运算符
--
自减运算符
-
负号运算符
(类型)
类型转换运算符
*
指针运算符
&
地址与运算符
sizeof
长度运算符
3
*
/
%
乘法运算符
除法运算符
求余运算符
2
(双目运算符)
自左至右
4
+
-
加法运算符
减法运算符
2
(双目运算符)
自左至右
5
<<
>>
左移运算符
右移运算符
2
(双目运算符)
6
<
<=
>
>=
关系运算符
2
(双目运算符)
自左至右
7
==
!=
等于运算符
不等于运算符
2
(双目运算符)
自左至右
8
&
按位与运算符
2
(双目运算符)
自左至右
9
^
按位异或运算符
2
(双目运算符)
自左至右
10
|
按位或运算符
2
(双目运算符)
自左至右
11
&&
逻辑与运算符
2
(双目运算符)
自左至右
12
||
逻辑或运算符
2
(双目运算符)
自左至右
13
? :
条件运算符
3
(三目运算)
自右至左
14
=
+=
-=
*=
/=
%=
>>=
<<=
&=
^=
|=
赋值运算符
2
自右至左
15
,
逗号运算符
自左至右


例如:

void main()

{

int x=3;

printf("%d\n",x+=x==x*x);

}

由优先级顺序可知:

x+=x==x*x等价于:x+=(x==(x*x))

所以输出结果为:3;

补充:

c语言中没有bool值,只有0和1,其中==比较运算符真为1,假为0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: