C语言运算符优先级列表(超详细)

合集下载

C语言运算符优先级列表(超详细)

C语言运算符优先级列表(超详细)
本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下
每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!
C语言运算符优先级
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
[]
数组下标
数组名[常量表达式]
左到右
--
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
13
?:
条件运算符
表达式1?
表达式2: 表达式3
右到左
三目运算符
14
=
赋值运算符
变量=表达式
右到左
--
/=
除后赋值
变量/=表达式
--
*=
乘后赋值
变量*=表达式
--
%=
取模后赋值
变量%=表达式
--
+=
加后赋值
变量+=表达式
()
圆括号
(表达式)/函数名(形参表)
--
.
成员选择(对象)
对象.成员名
--
->
成员选择(指针)
对象指针->成员名
--
2
-
负号运算符
-表达式
右到左
单目运算符
~
按位取反运算符
~表达式
++
自增运算符
++变量名/变量名++

C语言运算符优先级

C语言运算符优先级

1
-> (类型) ++ -* & ! ~ sizeof / * % + << >> > >= < <= == != & ^ | && || ?: = /= *= %= += -= <<= >>=
2
3 4 5
6 7 8 9 10 11 12 13
~表达式 sizeof(表达式) 表达式/表达式 表达式*表达式 整型表达式/整型表达 余数(取模) 式 加 表达式+表达式 减 表达式-表达式 左移 变量<<表达式 右移 变量>>表达式 大于 表达式>表达式 大于等于 表达式>=表达式 小于 表达式<表达式 小于等于 表达式<=表达式 等于 表达式==表达式 不等于 表达式!= 表达式 按位与 表达式&表达式 按位异或 表达式^表达式 按位或 表达式|表达式 逻辑与 表达式&&表达式 逻辑或 表达式||表达式 表达式1? 表达式2: 表 条件运算符 达式3 赋值运算符 变量=表达式 除后赋值 变量/=表达式 乘后赋值 变量*=表达式 取模后赋值 变量%=表达式 加后赋值 变量+=表达式 减后赋值 变量-=表达式 左移后赋值 变量<<=表达式 右移后赋值 变量>>=表达式
优先级
运算符 [] () .
名称或含义 数组下标 圆括号 成员选择(对 象) 成员选择(指 针) 负号运算符 强制类型转换 自增运算符 自减运算符 取值运算符 取地址运算符 逻辑非运算符 按位取反运算 符 长度运算符 除 乘
使用形式 结合方向 数组名[常量表达式] (表达式)/函数名(形 参表) 对象.成员名 对象指针->成员名 -表达式 (数据类型)表达式 ++变量名/变量名++ --变量名/变量名-*指针变量 &变量名 !表达式 左到右

c语言运算符优先级等级表

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

c语言运算符优先级

c语言运算符优先级

C语言的运算符众多,具有不同的优先级和结合性,我们将它们全部列了出来,方便大家对比和记优先级运算符名称或含义使用形式结合方向说明[]数组下标数组名[常量表达式]()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名-负号运算符-表达式单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof 长度运算符sizeof(表达式)/除表达式/表达式双目运算符*乘表达式*表达式双目运算符%余数(取模)整型表达式/整型表达式双目运算符+加表达式+表达式双目运算符-减表达式-表达式双目运算符<<左移变量<<表达式双目运算符>>右移变量>>表达式双目运算符>大于表达式>表达式双目运算符>=大于等于表达式>=表达式双目运算符<小于表达式<表达式双目运算符<=小于等于表达式<=表达式双目运算符==等于表达式==表达式双目运算符!=不等于表达式!= 表达式双目运算符8&按位与表达式&表达式左到右双目运算符9^按位异或表达式^表达式左到右双目运算符10|按位或表达式|表达式左到右双目运算符11&&逻辑与表达式&&表达式左到右双目运算符12||逻辑或表达式||表达式左到右双目运算符13?:条件运算符表达式1? 表达式2: 表达式3右到左三目运算符1左到右2右到左3左到右7左到右4左到右5左到右6左到右=赋值运算符变量=表达式/=除后赋值变量/=表达式*=乘后赋值变量*=表达式%=取模后赋值变量%=表达式+=加后赋值变量+=表达式-=减后赋值变量-=表达式<<=左移后赋值变量<<=表达式>>=右移后赋值变量>>=表达式&=按位与后赋值变量&=表达式^=按位异或后赋值变量^=表达式|=按位或后赋值变量|=表达式15,逗号运算符表达式,表达式,…左到右从左向右顺序运算注:同一优先级的运算符,运算次序由结合方向所决定。

c语言运算符优先级及口诀

c语言运算符优先级及口诀

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

c语言中优先级顺序表

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. 条件运算符(例如,?:)
14. 赋值运算符(例如,=、+=、-=等)
15. 逗号运算符(例如,,)
在表达式中,当出现优先级相同的运算符时,它们的计算顺序由它们的结合性决定。

结合性是从左到右或从右到左的规则。

例如,乘法和
除法运算符的结合性是从左到右的,所以表达式`a * b / c` 中的除法将先于乘法进行。

同样地,加减法运算符的结合性也是从左到右的。

此外,括号可以改变运算符的优先级和结合性。

在括号内的表达式将先于括号外的表达式进行计算。

例如,表达式`(a + b) * c` 中的加法将先于乘法进行。

C语言运算符优先级

C语言运算符优先级

每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!C语言运算符优先级C语言运算符优先级和口诀一共有十五个优先级:1 () [] . ->2 ! ~ -(负号)++ -- &(取变量地址)* (type)(强制类型) sizeof3 * / %4 + -5 >> <<6 > >= < <=7 == !=8 &9 ^10 |11 &&12 ||13 ?:14 = += -= *= /= %= |= ^= &= >>= <<=15 ,就着多吧结合性:2 13 14 是从右至左其他都是从左至右有问题可以在交流的共同进步括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++、--、+(正)、-(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等等于(与)不等排第七; //即== 和!=位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)"三分天下"八九十;逻辑或跟与; //逻辑运算符:|| 和&&十二和十一; //注意顺序:优先级(||) 底于优先级(&&)条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高逗号运算级最低! //逗号运算符优先级最低。

如何记住C语言的运算符优先级

如何记住C语言的运算符优先级

如何记住C语言的运算符优先级优先决括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等等于(与)不等排第七; //即== !=位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)"三分天下"八九十;逻辑或跟与; //逻辑运算符:|| 和&&十二和十一; //注意顺序:优先级(||) 底于优先级(&&)条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高//需要注意的是赋值运算符很多!逗号运算级最低! //逗号运算符优先级最低由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.附录:c 语言运算符优先级表关联操作符:() [] -> .一元操作符:! - ++ -- + - (type) * & sizeof乘法操作符:* / %加法操作符:+ -移位操作符:<< >>关系操作符:< <= > >=“相等”比较:== !=位操作符:&位操作符:^位操作符:|逻辑操作符:&&逻辑操作符:||条件操作符:?:赋值操作符:= += -= 等等逗号:第一、像() [] -> .之类的理所当然是最优先的,其实它们压根也不算什么运算符了。

第二、除了上面的四种运算符之外,接下来就是单目运算符,也就是! ~ ++ -- - (type) * & sizeof 了。

c语言符号优先级排序

c语言符号优先级排序

在C语言中,运算符的优先级是由语言的语法规则定义的,以下是C语言运算符优先级从高到低的列表:1. 后置 ++ 和 --2. 前置 ++ 和 --,一元 + 和 -,逻辑非 (!)3. 乘法 (*, /) 和除法 (%)4. 加法 (+)、减法 (-) 和位移 (<<, >>)5. 比较 (==, !=, <, >, <=, >=)6. 赋值 (=, +=, -=, *=, /=, %=, <<=, >>=)7. 按位与 (&)8. 按位异或 (^)9. 按位或 (|)10. 逻辑与 (&&)11. 逻辑或 (||)12. 条件 (?:)13. 前置和后置类型转换 (->, .)14. 下标访问 ([])15. 函数调用 (())16. 逗号 (,)17. 成员指针访问 (->)18. 指向成员指针的箭头 (&)19. 类型转换 (type)20. 乘性赋值运算符 *=, /=, %=, <<=, >>=21. 加性赋值运算符 +=, -=22. 减性赋值运算符 -=23. 乘性赋值运算符 *=24. 加性赋值运算符 +=25. 位复制赋值运算符 ^=26. 位非复制赋值运算符 &=, |=, ^=27. 算术赋值运算符-=, *=, /=, %=, +=, -=, *=, /=, %=, <<=, >>=28. 自增、自减运算符 ++ 和 -- (这些是特殊情况,它们的优先级低于赋值运算符)请注意,这些优先级是根据语言规则确定的,但实际的实现可能会有所不同。

此外,如果你在一个表达式中使用了不同类型的运算符,那么实际的执行顺序可能会根据运算符的优先级和结合性来确定。

例如,乘法和除法运算符具有比加法和减法运算符更高的优先级,但在一个表达式中,如果一个操作数被括号包围,那么括号内的表达式将首先被计算。

c语言运算符优先级

c语言运算符优先级
乘除,加减,再移位,
小等大等、等等不等,
八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。
其中“,”号为一个等级分段。
运算符优先级等级注释
“圆方括号、箭头一句号”指的是第15级的运算符。其中圆方括号很明显“()、[]”,箭头 指的是指向结构体成员运算符“->”,句号 指的是结构体成员运算符“.” ;
“五与,四或”指的是第5级、第4级的逻辑与运算符“&&一真逗”指的是第3级到第1级的运算符。其中,三疑指的是条件运算符“?:” (三有双重含义:即指优先级别是三,它的运算符类型也是三目,疑也取“?”之意),二赋 指的是赋值运算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,一真逗 指的是第1级的“,”运算符,真字只是为了语句需要罢了。
在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。
赋值表达式则规定先对右边的表达式求值,因此使 a = b = c = 6;成为可能。
[编辑本段]运算符优先级等级口诀及注释
运算符优先级等级口诀
圆方括号、箭头一句号, 自增自减非反负、针强地址长度,
1级优先级 左结合
() 圆括号
[] 下标运算符
-> 指向结构体成员运算符
. 结构体成员运算符
2级优先级 右结合
! 逻辑非运算符
~ 按位取反运算符
++ 前缀增量运算符
-- 前缀增量运算符
+ 正号运算符
- 负号运算符
跟在其后的&&比||高。
接下来的是条件运算符,赋值运算符及逗号运算符。

c语言计算 运算符优先级

c语言计算 运算符优先级

c语言计算运算符优先级
在C语言中,运算符的优先级是按照一定的顺序排列的。

下面是C语言中运算符的优先级列表,从高到低排列:
后缀运算符(例如:++、--)
一元运算符(例如:+、-、~、!)
乘法类运算符(例如:*、/、%)
加法类运算符(例如:+、-)
移位运算符(例如:<<、>>)
关系运算符(例如:<、>、<=、>=)
相等运算符(例如:==、!=)
按位与运算符(例如:&)
按位异或运算符(例如:^)
按位或运算符(例如:|)
逻辑与运算符(例如:&&)
逻辑或运算符(例如:||)
三元运算符(?:)
赋值运算符(例如:=、+=、-=、*=、/=等)
逗号运算符(例如:,)
需要注意的是,括号可以改变运算符的优先级。

在括号内的表达式将优先被计算,因此可以使用括号来改变表达式的计算顺序。

例如,在表达式a + b * c 中,乘法将优先于加法被计算,但如果加上括号变为a + (b * c),则加法将优先于乘法被计算。

C运算符优先级

C运算符优先级

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

(转载)C语言运算符优先级列表(超详细)

(转载)C语言运算符优先级列表(超详细)

(转载)C语⾔运算符优先级列表(超详细)C语⾔运算符优先级优先级运算符名称或含义使⽤形式结合⽅向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名--->成员选择(指针)对象指针->成员名--2-负号运算符-表达式右到左单⽬运算符~按位取反运算符~表达式++⾃增运算符++变量名/变量名++--⾃减运算符--变量名/变量名--*取值运算符*指针变量&取地址运算符&变量名!逻辑⾮运算符!表达式(类型)强制类型转换(数据类型)表达式--sizeof长度运算符sizeof(表达式)--3/除表达式/表达式左到右双⽬运算符*乘表达式*表达式%余数(取模)整型表达式%整型表达式4+加表达式+表达式左到右双⽬运算符-减表达式-表达式5<< 左移变量<<表达式左到右双⽬运算符>> 右移变量>>表达式6> ⼤于表达式>表达式左到右双⽬运算符>=⼤于等于表达式>=表达式< ⼩于表达式<表达式<=⼩于等于表达式<=表达式7==等于表达式==表达式左到右双⽬运算符!=不等于表达式!= 表达式8&按位与表达式&表达式左到右双⽬运算符9^按位异或表达式^表达式左到右双⽬运算符10|按位或表达式|表达式左到右双⽬运算符11&&逻辑与表达式&&表达式左到右双⽬运算符12||逻辑或表达式||表达式左到右双⽬运算符13?:条件运算符表达式1?表达式2: 表达式3右到左三⽬运算符14=赋值运算符变量=表达式右到左--/=除后赋值变量/=表达式--*=乘后赋值变量*=表达式--%=取模后赋值变量%=表达式--+=加后赋值变量+=表达式---=减后赋值变量-=表达式--<<=左移后赋值变量<<=表达式-->>=右移后赋值变量>>=表达式--&=按位与后赋值变量&=表达式--^=按位异或后赋值变量^=表达式--|=按位或后赋值变量|=表达式--15,逗号运算符表达式,表达式,…左到右--说明:同⼀优先级的运算符,运算次序由结合⽅向所决定。

c 语言 符号优先级

c 语言 符号优先级

c 语言符号优先级
在C语言中,不同运算符有不同的优先级。

下面是常见的C语言运算符的优先级从高到低的顺序:
1. 圆括号:()
2. 单目运算符:++ -- ! ~ + -(正负号)*(取值)&(取地址)
3. 乘除模运算符:* / %
4. 加减运算符:+ -
5. 移位运算符:<< >>
6. 关系运算符:> >= < <=
7. 相等运算符:== !=
8. 按位与运算符:&
9. 按位异或运算符:^
10. 按位或运算符:|
11. 逻辑与运算符:&&
12. 逻辑或运算符:||
13. 条件运算符:?:
14. 赋值运算符:= += -= *= /= %= <<= >>= &= ^= |=
15. 逗号运算符:,
需要注意的是,优先级高的运算符会先被计算,而优先级相同的运算
符则按照结合性从左到右计算。

如果不确定运算符的优先级,可以使用括号来明确表达式的计算顺序。

c语言运算符号优先级别

c语言运算符号优先级别
%取余运算符
级优先级左结合
||逻或运算符
13级优先级右结合
? :条件运算符
14级优先级右结合
= += -= *= /= %= &amp;=–|= >=全为赋值运算符
15级优先级左结合
,逗号运算符
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最
低的优先级。
所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算
的,因此*p++与*(p++)等效是毫无疑问的。
接下来是算术运算符,*、/、%的优先级当然比+、-高了。
移位运算符紧随其后。
其次的关系运算符中,>=要比== !=高一个级别,不大好理解。
所有的逻辑操作符都具有不同的优先级(单目运算符出外,!和~)
逻辑位操作符的与比或高,而异或则在它们之间。
跟在其后的&amp;&amp;比||高。
符、条件运算符、赋值运算符。其它的都是从左至右结合。
具有最高优先级的其实并不算是真正的运算符,它们算是一类特殊的操
作。()是与函数相关,[]与数组相关,而->及.是取结构成员。
其次是单目运算符,所有的单目运算符具有相同的优先级,因此在我认为
的真正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合
在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一
个进行求值。
赋值表达式则规定先对右边的表达式求值,因此使a = b = c = 6;成为可能
接下来的是条件运算符,赋值运算符及逗号运算符。
在C语言中,只有4个运算符规定了运算方向,它们是&amp;&amp;、||、
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
>
大于
表达式>表达式
左到右
双目运算符
>=
大于等于
表达式>=表达式
<
小于
表达式<表达式
<=
小于等于
表达式<=表达式
7
==
等于
表达式==表达式
左到右
双目运算符
!=
不等于
表达式!= 表达式
8
&
按位与
表达式&表达式
左到右
双目运算符
9
^
按位异或
表达式^表达式
左到右
双目运算符
10
|
按位或
表达式|表达式
左到右
双目运算符
!表达式
(类型)
强制类型转换
(数据类型)表达式
--
sizeof
长度运算符
sizeof(表达式)
--
3
/

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

表达式*表达式
%
余数(取模)
整型表达式%整型表达式
4
+

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

表达式-表达式
5
<<
左移
变量<<表达式
左到右
双目运算符
>>
右移
变量>>表达式
本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下
每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!
C语言运算符优先级
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
[]
数组下标
数组名[常量表达式]
左到右
--
()
圆括号
(表达式)/函数名(形参表)
--
.
成员选择(对象)
对象.成员名
--
->
成员选择(指针)
对象指针->成员名
--
2
-
负号运算符
-表达式
右到左
单目运算符
~
按位取反运算符
~表达式
++
自增运算符
++变量名/变量名++
--
自减运算符
--变量名/变量名--
*
取值运算符
*指针变量
&
取地址运算符
&变量名
!
逻辑非运算符
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
13
?:
条件运算符
表达式1?
表达式2: 表达式3
右到左
三目运算符
14
=
赋值运算符
变量=表达式
右到左
--
/=
除后赋值
变量/=表达式
--
*=
乘后赋值
变量*=表达式
--
%=
取模后赋值
变量%=表达式
--
+=
加后赋值
变量+=表达式
--
-=
减后赋值
变量-=表达式
--
<<=
左移后赋值
变量<<=表达式
--
>>=
右移后赋值
变量>>=表达式
--
&=
按位与后赋值
变量&=表达式
--
^=
按位异或后赋值
变量^=表达式
--
|=
按位或后赋值
变量|=表达式
--
15

逗号运算符
表达式,表达式,…
左到右
--
说明:
同一优先级的运算符,运算序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
相关文档
最新文档