郭庆帅 发表于 2017-6-23 10:57:48

C语言优先级速查表

本帖最后由 郭庆帅 于 2017-6-23 11:00 编辑


优先级
运算符
名称或含义
使用形式
结合方向
说明

1
后置++后置自增运算符
变量名++
左到右


后置--后置自减运算符变量名--
  
  
[ ]
数组下标数组名[整型表达式]

  
( )
圆括号
(表达式)/函数名(形参表)


.
成员选择(对象)
对象.成员名


->
成员选择(指针)
对象指针->成员名


2
-
负号运算符
-表达式
右到左
单目运算符

(类型)
强制类型转换
(数据类型)表达式


前置++
前置自增运算符
++变量名
单目运算符

前置--
前置自减运算符
--变量名
单目运算符

*
取值运算符
*指针表达式
单目运算符

&
取地址运算符
&左值表达式
单目运算符

!
逻辑非运算符
!表达式
单目运算符

~
按位取反运算符
~表达式
单目运算符

sizeof
长度运算符
sizeof 表达式/sizeof(类型)


3
/

表达式/表达式
左到右
双目运算符

*

表达式*表达式
双目运算符

%
余数(取模)
整型表达式%整型表达式
双目运算符

4
+

表达式+表达式
左到右
双目运算符

-

表达式-表达式
双目运算符

5
<<
左移
表达式<<表达式
左到右
双目运算符

>>
右移
表达式>>表达式
双目运算符

6
>
大于
表达式>表达式
左到右
双目运算符

>=
大于等于
表达式>=表达式
双目运算符

<
小于
表达式<表达式
双目运算符

<=
小于等于
表达式<=表达式
双目运算符

7
==
等于
表达式==表达式
左到右
双目运算符

!=
不等于
表达式!= 表达式
双目运算符

8
&
按位与
整型表达式&整型表达式
左到右
双目运算符

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

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

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

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

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

14
=
赋值运算符
变量=表达式
右到左


/=
除后赋值
变量/=表达式


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


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


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


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


<<=
左移后赋值
变量<<=表达式


>>=
右移后赋值
变量>>=表达式


&=
按位与后赋值
变量&=表达式


^=
按位异或后赋值
变量^=表达式


|=
按位或后赋值
变量|=表达式


15
,
逗号运算符
表达式,表达式,…
左到右
从左向右顺序运算

还是看不穿 发表于 2017-6-23 11:44:20

谢谢分享!!
页: [1]
查看完整版本: C语言优先级速查表