C语言运算符优先级 详细列表
c语言运算优先级及运算顺序

c语言运算优先级及运算顺序
C语言中的运算符都有各自的优先级,一般来说,优先级高的运算符先计算,优先级低的运算符后计算。
以下是常见运算符的优先级(从高到低):
1. 括号运算符,例如:( )。
2. 单目运算符,例如:++、--、+、-、!。
3. 算术运算符,例如:*、/、%、+、-。
4. 移位运算符,例如:<<、>>。
5. 关系运算符,例如:>、<、>=、<=。
6. 相等运算符,例如:==、!=。
7. 位运算符,例如:&、|、^、~。
8. 逻辑运算符,例如:&&、||。
9. 条件运算符,例如:?:。
10. 赋值运算符,例如:=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。
在计算时,优先级高的运算符先进行计算,如果两个运算符优先级相同,则按照从左到右的顺序进行计算。
C语言运算符优先级_详细列表

C语言运算符优先级详细列表运算符的优先级:C语言中,运算符的运算优先级共分为15 级。
1 级最高,15级最低。
在表达式中,优先级较高的先于优先级较低的进行运算。
而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。
运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。
例如算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。
这种自左至右的结合方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。
最典型的右结合性运算符是赋值运算符。
如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。
C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级运算符名称或含义使用形式结合方向说明1 [] 数组下标数组名[常量表达式]左到右() 圆括号(表达式)/函数名(形参表). 成员选择(对象)对象.成员名-> 成员选择(指针)对象指针->成员名2- 负号运算符-表达式右到左单目运算符(类型) 强制类型转换(数据类型)表达式++ 自增运算符++变量名/变量名++ 单目运算符-- 自减运算符--变量名/变量名-- 单目运算符* 取值运算符*指针变量单目运算符& 取地址运算符&变量名单目运算符! 逻辑非运算符!表达式单目运算符~ 按位取反运算符~表达式单目运算符sizeof 长度运算符sizeof(表达式)3/ 除表达式/表达式左到右双目运算符* 乘表达式*表达式双目运算符% 余数(取模)整型表达式/整型表达式双目运算符4 + 加表达式+表达式左到右双目运算符- 减表达式-表达式双目运算符5 << 左移变量<<表达式左到右双目运算符>> 右移变量>>表达式双目运算符6> 大于表达式>表达式左到右双目运算符>= 大于等于表达式>=表达式双目运算符< 小于表达式<表达式双目运算符<= 小于等于表达式<=表达式双目运算符7 == 等于表达式==表达式左到右双目运算符!= 不等于表达式!= 表达式双目运算符8 & 按位与表达式&表达式左到右双目运算符10 | 按位或表达式|表达式左到右双目运算符11 && 逻辑与表达式&&表达式左到右双目运算符12 || 逻辑或表达式||表达式左到右双目运算符13 ?: 条件运算符表达式1? 表达式2:表达式3右到左三目运算符14= 赋值运算符变量=表达式右到左/= 除后赋值变量/=表达式*= 乘后赋值变量*=表达式%= 取模后赋值变量%=表达式+= 加后赋值变量+=表达式-= 减后赋值变量-=表达式<<= 左移后赋值变量<<=表达式>>= 右移后赋值变量>>=表达式&= 按位与后赋值变量&=表达式^= 按位异或后赋值变量^=表达式|= 按位或后赋值变量|=表达式15 , 逗号运算符表达式,表达式,…左到右从左向右顺序运算说明:同一优先级的运算符,运算次序由结合方向所决定。
c语言运算符优先级等级表

12级(左结合)
||逻辑或运算符
13级(右结合)
? :条件运算符
14级(右结合)
=、+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=赋值运算符
15级(左结合)
,逗号运算符
运算符优先级等级口诀
圆方括号、箭头一句号
自增自减非反负、针强地址长度
乘除
加减
再移位
小等大等
等等不等
八位与
C语言运算符等级及结合性
运算符号及注释
1级(左结合)
()圆括号
[]下标运算符
->指向结构体成员运算符
.结构体成员运算符。
2级(右结合)
!逻辑非运算符
~按位取反运算符
++前缀增量运算符
--前缀减量运算符
+正号运算符
-负号运算符
(类型)类型转换运算符
*指针运算符
&地址运算符
sizeof长度运算符
3级(左结合)
九位异
十位或
十一与
十二或
十三疑
十四赋
十五逗
*乘法运算符
/除法运算符Biblioteka %取余运算符4级(左结合)
+加法运算符
-减法运算符
5级(左结合)
<<左移运算符
>>右移运算符
6级(左结合)
<、<=、>、>=关系运算符
7级(左结合)
==等于运算符
!=不等于运算符
8级(左结合)
&按位与运算符
9级(左结合)
^按位异或运算符
C语言运算符优先级列表(超详细)Word版

圆括号
(表达式)/函数名(形参表)
--
.
成员选择(对象)
对象.成员名
--
->
成员选择(指针)
对象指针->成员名
--
2
-
负号运算符
-表达式
右到左
单目运算符
~
按位取反运算符
~表达式
++
自增运算符
++变量名/变量名++
--
自减运算符
--变量名/变量名--
*
取值运算符
*指针变量
&
取地址运算符
&变量名
!
逻辑非运算符
!表达式
(类型)
强制类型转换
(数据类型)表达式
--
sizeof
长度运算符
sizeof(表达式)
--
3
/
除
表达式/表达式
左到右
双目运算符
*
乘
表达式*表达式
%
余数(取模)
整型表达式%整型表达式
4
+
加
表达式+表达式
左到右
双目运算符
-
减
表达式-表达式
5
<<
左移
变量<<表达式
左到右
双目运算符
>>
右移
变量>>表达式
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
13
c语言中优先级顺序表

c语言中优先级顺序表
C语言中优先级顺序:
1、括号(( ) ):在C语言中,括号具有最高优先级,符号前后的优先级也是一样的;
2、先乘法/除法(*,/):先乘法再除法的优先级高于+-,留意乘除的关系;
3、加法/减法(+,-):加法减法的优先级就相对低一些,但是对于负数来说先计算会更明晰些;
4、左移位(<<)右移位(>>):C语言中左移位右移位的优先级是和乘除/加减平级的,且比其低;
5、关系运算符(>,<,>=,<=,==,!=):C语言中关系运算符的优先级还比较高,且等于号的优先级比最高;
6、位运算符(&,|,^):在C语言中位运算符的优先级位于关系运算符之下,就比上面的低一个级别;
7、逻辑与(&&)及逻辑或(||):C语言中逻辑与及逻辑或的优先级最低,且优先级大小一样。
c语言的符号的优先级

c语言的符号的优先级C语言中的运算符有不同的优先级,这是根据运算符进行运算的顺序决定的。
当一个表达式中包含多个运算符时,优先级的不同会影响表达式的计算结果和运算顺序。
以下是C语言中常见运算符的优先级列表,按照优先级从高到低的顺序排列。
1. 圆括号 ():括号内的表达式具有最高的优先级,会先进行计算。
通过使用括号,可以控制运算的顺序。
2. 数组下标 []:用于访问数组中的元素。
数组下标的优先级高于其他运算符。
3. 成员运算符 . 和 ->:用于访问结构体和联合体中的成员。
成员运算符的优先级高于其他运算符。
4. 后缀递增和递减运算符 ++ 和 --:用于将变量的值加一或减一,可以放在变量的前面或后面。
后缀递增和递减运算符的优先级高于其他运算符。
5. 前缀递增和递减运算符 ++ 和 --:用于将变量的值加一或减一,可以放在变量的前面或后面。
前缀递增和递减运算符的优先级高于其他算术运算符。
6. 一元运算符 +、- 和 !:用于执行正负号和逻辑非操作。
一元运算符的优先级高于其他算术运算符。
7. 乘法运算符 *、除法运算符 / 和取模运算符 %:用于执行乘法、除法和取模运算。
乘法、除法和取模运算符具有相同的优先级,按照从左到右的顺序计算。
8. 加法运算符 + 和减法运算符 -:用于执行加法和减法运算。
加法和减法运算符具有相同的优先级,按照从左到右的顺序计算。
9. 移位运算符 << 和 >>:用于执行位的左移和右移操作。
移位运算符的优先级低于加法和减法运算符。
10. 关系运算符 ==、!=、>、<、>= 和 <=:用于比较两个值之间的关系。
关系运算符的优先级低于移位运算符。
11. 位与运算符 &:用于执行位与操作。
位与运算符的优先级低于关系运算符。
12. 位异或运算符 ^:用于执行位异或操作。
位异或运算符的优先级低于位与运算符。
13. 位或运算符 |:用于执行位或操作。
c语言中的运算符的优先级

c语言中的运算符的优先级C语言中的运算符优先级在C语言中,运算符的优先级决定了表达式中各个运算符的计算顺序。
了解这些优先级可以帮助程序员正确地编写程序,避免表达式计算出错。
本文将按照运算符的优先级从高到低的顺序,介绍C语言中常用的运算符及其使用方法。
一、括号运算符()括号运算符是最高优先级的运算符,它用于改变表达式中的计算顺序。
在一个表达式中,被括号包围的部分会被优先计算,然后将结果用于整个表达式的计算。
例如,表达式 (3 + 4) * 2 的结果是14。
括号中的3 + 4会先计算得到7,然后再乘以2得到14。
二、一元运算符一元运算符是对单个操作数进行操作的运算符。
在C语言中,常见的一元运算符有正号+和负号-。
它们的优先级比较高,但比括号运算符低。
例如,表达式 -5 的结果是-5,表达式 +3 的结果是3。
三、乘法、除法和取模运算符 * / %乘法运算符*、除法运算符/和取模运算符%具有相同的优先级,比一元运算符的优先级更低。
例如,表达式 10 / 2 的结果是5,表达式 10 % 3 的结果是1。
四、加法和减法运算符 + -加法运算符+和减法运算符-具有相同的优先级,比乘法、除法和取模运算符的优先级更低。
例如,表达式 5 + 3 - 2 的结果是6。
五、关系运算符 < <= > >=关系运算符用于比较两个值的大小关系,返回一个布尔值(真或假)。
关系运算符的优先级比加法和减法运算符的优先级更低。
例如,表达式 5 < 3 的结果是假(0),表达式 5 >= 3 的结果是真(1)。
六、相等和不等运算符 == !=相等运算符==用于检查两个值是否相等,不等运算符!=用于检查两个值是否不相等。
它们的优先级比关系运算符的优先级更低。
例如,表达式 5 == 3 的结果是假(0),表达式 5 != 3 的结果是真(1)。
七、逻辑与运算符 &&逻辑与运算符&&用于检查多个条件是否同时成立,返回一个布尔值(真或假)。
c语言 运算符优先级

c语言运算符优先级C言运算符优先级是指C语言中表示各种操作和表达式的运算符之间的关系。
在C语言中,运算符优先级的高低决定了表达式的计算顺序。
若不清楚C语言运算符优先级的相关规定,在编写程序时就可能出现不符合预期的结果,因此,了解运算符优先级的规则是学习C语言的必要条件。
C语言中共有27种运算符,它们可以分为4类:单目运算符(unary operators)、双目运算符(binary operators)、三目运算符(ternary operators)和优先级运算符(priority operator),每类运算符又有若干种类型,下面将会给出各类运算符的优先级(仅列出优先级最高的运算符,例外的优先级参见文末):一、单目运算符:1、++、、!、~、+、-二、双目运算符:1、*、/、%2、+、-3、>>4、<=、>、>=5、==、!=6、&7、^8、|9、&&10、||三、三目运算符:1、?:四、优先级运算符:1、()2、[]3、.、->从上面可以看出,C语言中运算符优先级的次序由高到低依次为:++、--、!、~、*、/、%、+、-、>>、<=、>、>=、==、!=、&、^、|、&&、||、?:、()、[]、.、->。
在实际的编程过程中,常常会碰到一些比较复杂的表达式,此时就要按照运算符优先级的规则确定每个表达式里各个运算符的计算顺序,以免出现程序错误。
需要注意的是,在确定优先级时,可能会出现不同优先级的运算符,此时可以使用括号来改变优先级,以便符合程序的预期,而且括号在运算中的优先级是最高的。
另外,在C语言中,可以使用逗号运算符来连接多个表达式,逗号运算符的优先级比较低,它的优先级位于基本的算术运算符和关系运算符之间,它使得多个表达式有一个按照从左到右的顺序逐步计算的功能。
总而言之,C语言运算符优先级是指在C语言编程中,什么运算符的优先级比较高,什么运算符的优先级比较低。
c语言优先级表

C语言优先级表1. 简介C语言是一种通用的高级编程语言,广泛应用于系统软件和应用软件的开发中。
在C语言中,运算符的优先级非常重要,它决定了表达式中各个运算符的执行顺序。
正确理解C语言运算符的优先级,可以避免因为运算符执行顺序不当而引发的程序错误。
本文将介绍C语言中各种运算符的优先级及其示例用法,以方便读者理解和应用。
2. 运算符的优先级C语言中的运算符根据其执行优先级的高低,可以分为多个级别。
下面是C语言中常用的运算符按照优先级从高到低的排序:1.后缀运算符:()、[]、.、->例如:a[3]、b->name2.一元运算符:+、-、++、--、!、~、&、*等例如:-a、++b3.Sizeof运算符、类型转换运算符4.二元运算符:*、/、%例如:a * b5.二元运算符:+、-例如:a + b6.移位运算符:<<、>>例如:a << 27.关系运算符:<、<=、>、>=例如:a > b8.关系运算符:==、!=例如:a == b9.位运算符:&、^、|例如:a & b10.逻辑运算符:&&例如:a && b11.逻辑运算符:||例如:a || b12.条件运算符:? :例如:a ? b : c13.赋值运算符:=需要注意的是,运算符的优先级并不是唯一决定运算符执行顺序的因素,括号的加入也会改变运算符的执行顺序。
当括号中的运算符的优先级高于其他运算符时,括号中的运算符先进行运算。
3. 示例用法3.1 后缀运算符```c int a[5] = {1, 2, 3, 4, 5}; int *p = a; printf(。
c语言中单目运算符的优先级

c语言中单目运算符的优先级
C语言中的单目运算符(一元运算符)的优先级如下(按照从高到低的顺序):
1. 后置递增和递减运算符:+ +和--
2. 前置递增和递减运算符:+ +和--
3. 一元正号和负号:+和-
4. 逻辑非运算符:!
5. 位求反运算符:~
6. 强制类型转换运算符:(type)
7. 取地址运算符:&
8. 解引用运算符:
9. 大小关系运算符:sizeof
C语言中的优先级规则还受到结合性(associativity)的影响。
对于具有相同优先级的多个运算符,它们的结合性决定了操作数的结合方式。
在上述单目运算符中,递增和递减运算符是右结合的,其他运算符都是左结合的。
在实际编程中,为了避免优先级导致的歧义,建议使用括号明确指定运算顺序。
括号可以提高代码的可读性和可维护性。
C语言运算符优先级

说明
1
[]
数组下标
]数组名[常量表达式
左到右
()
圆括号
函数名(表达式)/)
(形参表
.
成员选择(对象)
对象.成员名
->
成员选择(指针)
对象指针->成员名
2
-
负号运算符
-表达式
右到左
单目运算符
类型) (
强制类型转换
表达式(数据类型)
++
自增运算符
双目运算符
%
余数(取模)
整型表/整型表达式达式
双目运算符
4
+
加
表达式表达式+
左到右
双目运算符
-
减
表达式表达式-
双目运算符
. . . .
5
<<
左移
表达式变量<<
左到右
双目运算符
>>
右移
变量>>表达式
双目运算符
6
>
大于
表达式表达式>
左到右
双目运算符
>=
大于等于
表达式>=表达式
双目运算符
<
小于
<表达式表达式
||
逻辑或
||表达式表达式
左到右
双目运算符
13
?:
条件运算符
2:
表达式表达式1? 3
表达式
右到左
三目运算符
14
=
赋值运算符
表达式变量=
右到左
/=
除后赋值
/=变量表达式
c语言算术运算符 关系运算符 逻辑运算符优先级

C语言算术运算符、关系运算符和逻辑运算符优先级详解一、算术运算符1.1 加法运算符(+)加法运算符用于对两个数进行相加操作,例如:a + b。
在C语言中,加法运算符的优先级较低。
1.2 减法运算符(-)减法运算符用于对两个数进行相减操作,例如:a - b。
和加法运算符一样,减法运算符的优先级也较低。
1.3 乘法运算符(*)乘法运算符用于对两个数进行相乘操作,例如:a * b。
在C语言中,乘法运算符的优先级比加法和减法运算符高。
1.4 除法运算符(/)除法运算符用于对两个数进行相除操作,例如:a / b。
和乘法运算符一样,除法运算符的优先级比加法和减法运算符高。
1.5 取模运算符()取模运算符用于求两个数相除后的余数,例如:a b。
在C语言中,取模运算符的优先级和乘法、除法运算符相同。
二、关系运算符2.1 等于运算符(==)等于运算符用于判断两个数是否相等,例如:a == b。
在C语言中,等于运算符的优先级较低。
2.2 不等于运算符(!=)不等于运算符用于判断两个数是否不相等,例如:a != b。
和等于运算符一样,不等于运算符的优先级较低。
2.3 大于运算符(>)大于运算符用于判断一个数是否大于另一个数,例如:a > b。
在C语言中,大于运算符的优先级较低。
2.4 小于运算符(<)小于运算符用于判断一个数是否小于另一个数,例如:a < b。
和大于运算符一样,小于运算符的优先级较低。
2.5 大于等于运算符(>=)大于等于运算符用于判断一个数是否大于或等于另一个数,例如:a >= b。
在C语言中,大于等于运算符的优先级较低。
2.6 小于等于运算符(<=)小于等于运算符用于判断一个数是否小于或等于另一个数,例如:a <= b。
和大于等于运算符一样,小于等于运算符的优先级较低。
三、逻辑运算符3.1 逻辑与运算符()逻辑与运算符用于判断多个条件是否同时成立,例如:(a > 0) (b < 10)。
C语言运算符优先级和口诀

C语言运算符优先级和口诀
一、优先级:从高到低(一共有十五个优先级)
1 () [] . ->
2 ! ~ -(负号)++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
二、结合性:
2 1
3 1
4 是从右至左其他都是从左至右
三、口诀:
括号成员第一; //括号运算符[]() 成员运算符. ->
全体单目第二; //所有的单目运算符比如++、--、+(正)、-(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等
等于(与)不等排第七; //即== 和!=
位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符:|| 和&&
十二和十一; //注意顺序:优先级(||) 底于优先级(&&)
条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高逗号运算级最低! //逗号运算符优先级最低。
c语言中运算符的优先级

c语言中运算符的优先级
C语言中的运算符按照优先级进行计算,优先级高的运算符先于优先级低的运算符进行计算。
在表达式中,使用括号可以改变运算符的优先级。
下面是C语言中常见的运算符按照优先级从高到低的顺序:
1. 括号:括号可以改变运算符的优先级,括号内的表达式先于括号外的表达式进行计算。
2. 一元运算符:一元运算符包括取正、取负、递增和递减运算符。
它们的优先级相同,从右到左结合。
3. 算术运算符:算术运算符包括加法、减法、乘法、除法和取余运算符。
它们的优先级相同,从左到右结合。
4. 关系运算符:关系运算符用于比较两个值的大小。
包括大于、小于、大于等于、小于等于、等于和不等于运算符。
关系运算符的优先级相同,从左到右结合。
5. 逻辑运算符:逻辑运算符用于组合多个条件。
包括逻辑与、逻辑或和逻辑非运算符。
逻辑非运算符的优先级最高,其次是逻辑与运算
符,最后是逻辑或运算符。
6. 位运算符:位运算符用于对二进制数进行位级操作。
包括按位与、按位或、按位异或和取反运算符。
位运算符的优先级相同,从左到右结合。
7. 赋值运算符:赋值运算符用于将一个值赋给一个变量。
赋值运算符的优先级从右到左结合。
8. 逗号运算符:逗号运算符用于将多个表达式组合在一起,并按照顺序计算这些表达式。
逗号运算符的优先级最低,从左到右结合。
在编写复杂的表达式时,了解运算符的优先级可以帮助程序员正确理解表达式的计算顺序。
同时,使用括号可以明确指定运算的顺序,提高代码的可读性和可维护性。
C语言超详细运算符优先级列表

自减运算符
--变量名/变量名--
*
取值运算符
*指针变量
&
取地址运算符
&变量名
!
逻辑非运算符
!表达式
(类型)
强制类型转换
(数据类型)表达式
--
sizeof
长度运算符
sizeof(表达式)
--
3
/
除
表达式/表达式
左到右
双目运算符
*
乘
表达式*表达式
%
余数(取模)
整型表达式%整型表达式
4
+
加
表达式+表达式
--
15
,
逗号运算符
表达式,表达式,…
左到右
--
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
变量/=表达式
--
*=
乘后赋值
变量*=表达式
--
%=
取模后赋值
变量%=表达式
--
+=
加后赋值
变量+=表达式
--
-=
减后赋值
变量-=表达式
--
<<=
左移后赋值
变量<<=表达式
--
>>=
右移后赋值
变量>>=表达式
--
&=
按位与后赋值
变量&=表达式
--
^=
按位异或后赋值
变量^=表达式
--
|=
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言运算符优先级详细列表
运算符的优先级:C语言中,运算符的运算优先级共分为15 级。
1 级最高,15级最低。
在表达式中,优先级较高的先于优先级较低的进行运算。
而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。
运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。
例如算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。
这种自左至右的结合方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。
最典型的右结合性运算符是赋值运算符。
如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。
C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级运算符名称或含义使用形式结合方向说明
1 [] 数组下标数组名[常量表达式]
左到右() 圆括号
(表达式)/函数名(形
参表)
. 成员选择(对象)对象.成员名
-> 成员选择(指针)对象指针->成员名
2
- 负号运算符-表达式
右到左
单目运算符(类型) 强制类型转换(数据类型)表达式
++ 自增运算符++变量名/变量名++ 单目运算符-- 自减运算符--变量名/变量名-- 单目运算符* 取值运算符*指针变量单目运算符& 取地址运算符&变量名单目运算符! 逻辑非运算符!表达式单目运算符~ 按位取反运算符~表达式单目运算符sizeof 长度运算符sizeof(表达式)
3
/ 除表达式/表达式
左到右
双目运算符* 乘表达式*表达式双目运算符% 余数(取模)
整型表达式/整型表
达式
双目运算符
4 + 加表达式+表达式左到右双目运算符
- 减表达式-表达式双目运算符
5 << 左移变量<<表达式
左到右
双目运算符>> 右移变量>>表达式双目运算符
6
> 大于表达式>表达式
左到右
双目运算符>= 大于等于表达式>=表达式双目运算符< 小于表达式<表达式双目运算符<= 小于等于表达式<=表达式双目运算符
7 == 等于表达式==表达式
左到右
双目运算符!= 不等于表达式!= 表达式双目运算符
8 & 按位与表达式&表达式左到右双目运算符
9 ^ 按位异或表达式^表达式左到右双目运算符
10 | 按位或表达式|表达式左到右双目运算符
11 && 逻辑与表达式&&表达式左到右双目运算符
12 || 逻辑或表达式||表达式左到右双目运算符
13 ?: 条件运算符表达式1? 表达式2:
表达式3
右到左三目运算符
14
= 赋值运算符变量=表达式
右到左/= 除后赋值变量/=表达式
*= 乘后赋值变量*=表达式
%= 取模后赋值变量%=表达式
+= 加后赋值变量+=表达式
-= 减后赋值变量-=表达式
<<= 左移后赋值变量<<=表达式
>>= 右移后赋值变量>>=表达式
&= 按位与后赋值变量&=表达式
^= 按位异或后赋值变量^=表达式
|= 按位或后赋值变量|=表达式
15 , 逗号运算符表达式,表达式,…左到右从左向右顺序运算
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:!> 算术运算符> 关系运算符> && > || > 赋值运算符。