啊哈磊_编程从这里起步

标题: C语言运算符优先级 详细列表 [打印本页]

作者: c习生    时间: 2013-2-16 18:02
标题: C语言运算符优先级 详细列表
  
优先级
  
  
运算符
  
  
名称或含义
  
  
使用形式
  
  
结合方向
  
  
说明
  
  
1
  
  
[]
  
  
数组下标
  
  
数组名[常量表达式]
  
  
左到右
  
  
  
  
()
  
  
圆括号
  
  
(表达式)/函数名(形参表)
  
  
  
  
.
  
  
成员选择(对象)
  
  
对象.成员名
  
  
  
  
->
  
  
成员选择(指针)
  
  
对象指针->成员名
  
  
  
  
2
  
  
-
  
  
负号运算符
  
  
-表达式
  
  
右到左
  
  
单目运算符
  
  
(类型)
  
  
强制类型转换
  
  
(数据类型)表达式
  
  
  
  
++
  
  
自增运算符
  
  
++变量名/变量名++
  
  
单目运算符
  
  
--
  
  
自减运算符
  
  
--变量名/变量名--
  
  
单目运算符
  
  
*
  
  
取值运算符
  
  
*指针变量
  
  
单目运算符
  
  
&
  
  
取地址运算符
  
  
&变量名
  
  
单目运算符
  
  
!
  
  
逻辑非运算符
  
  
!表达式
  
  
单目运算符
  
  
~
  
  
按位取反运算符
  
  
~表达式
  
  
单目运算符
  
  
sizeof
  
  
长度运算符
  
  
sizeof(表达式)
  
  
  
  
3
  
  
/
  
  
  
  
表达式/表达式
  
  
左到右
  
  
双目运算符
  
  
*
  
  
  
  
表达式*表达式
  
  
双目运算符
  
  
%
  
  
余数(取模)
  
  
整型表达式/整型表达式
  
  
双目运算符
  
  
4
  
  
+
  
  
  
  
表达式+表达式
  
  
左到右
  
  
双目运算符
  
  
-
  
  
  
  
表达式-表达式
  
  
双目运算符
  
  
5
  
  
<<
  
  
左移
  
  
变量<<表达式
  
  
左到右
  
  
双目运算符
  
  
>>
  
  
右移
  
  
变量>>表达式
  
  
双目运算符
  
  
6
  
  
>
  
  
大于
  
  
表达式>表达式
  
  
左到右
  
  
双目运算符
  
  
>=
  
  
大于等于
  
  
表达式>=表达式
  
  
双目运算符
  
  
<
  
  
小于
  
  
表达式<表达式
  
  
双目运算符
  
  
<=
  
  
小于等于
  
  
表达式<=表达式
  
  
双目运算符
  
  
7
  
  
==
  
  
等于
  
  
表达式==表达式
  
  
左到右
  
  
双目运算符
  
  
!=
  
  
不等于
  
  
表达式!= 表达式
  
  
双目运算符
  
  
8
  
  
&
  
  
按位与
  
  
表达式&表达式
  
  
左到右
  
  
双目运算符
  
  
9
  
  
^
  
  
按位异或
  
  
表达式^表达式
  
  
左到右
  
  
双目运算符
  
  
10
  
  
|
  
  
按位或
  
  
表达式|表达式
  
  
左到右
  
  
双目运算符
  
  
11
  
  
&&
  
  
逻辑与
  
  
表达式&&表达式
  
  
左到右
  
  
双目运算符
  
  
12
  
  
||
  
  
逻辑或
  
  
表达式||表达式
  
  
左到右
  
  
双目运算符
  
  
13
  
  
?:
  
  
条件运算符
  
  
表达式1? 表达式2: 表达式3
  
  
右到左
  
  
三目运算符
  
  
14
  
  
=
  
  
赋值运算符
  
  
变量=表达式
  
  
右到左
  
  
  
  
/=
  
  
除后赋值
  
  
变量/=表达式
  
  
  
  
*=
  
  
乘后赋值
  
  
变量*=表达式
  
  
  
  
%=
  
  
取模后赋值
  
  
变量%=表达式
  
  
  
  
+=
  
  
加后赋值
  
  
变量+=表达式
  
  
  
  
-=
  
  
减后赋值
  
  
变量-=表达式
  
  
  
  
<<=
  
  
左移后赋值
  
  
变量<<=表达式
  
  
  
  
>>=
  
  
右移后赋值
  
  
变量>>=表达式
  
  
  
  
&=
  
  
按位与后赋值
  
  
变量&=表达式
  
  
  
  
^=
  
  
按位异或后赋值
  
  
变量^=表达式
  
  
  
  
|=
  
  
按位或后赋值
  
  
变量|=表达式
  
  
  
  
15
  
  
,
  
  
逗号运算符
  
  
表达式,表达式,…
  
  
左到右
  
  
从左向右顺序运算
  
  
  
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:!> 算术运算符 > 关系运算符 > && >|| > 赋值运算符


作者: sycamore1990    时间: 2013-2-16 18:39
很有用啊。。。。。。。
作者: sycamore1990    时间: 2013-2-16 18:42
转。thax。
作者: 4k-Rn    时间: 2013-2-17 19:43
有用啊。。。。。。。。
作者: sujunzy666    时间: 2013-2-19 08:54
其实每本书中都有这个,关键是如何记住,楼主向导好方法没?
作者: rosynirvana    时间: 2013-2-19 11:03
sujunzy666 发表于 2013-2-19 08:54
其实每本书中都有这个,关键是如何记住,楼主向导好方法没?

不用记,有疑问的时候就加括号
作者: 超神级    时间: 2013-7-22 21:42
收藏下{:soso__3409329614010722382_3:}
作者: rosynirvana    时间: 2014-10-8 17:42
这表又是个不知道++的前缀后缀的优先级不一样的人写的

作者: 超神级    时间: 2015-1-2 16:47





欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2