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 位只比赋值运算符和","高逗号运算级最低! //逗号运算符优先级最低。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
|
按位或
表达式|表达式
左到右
双目运算符
11
&&
逻辑与

表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
[
13
:
条件运算符
表达式1
表达式2: 表达式3
右到左
三目运算符
14
=
^
赋值运算符
变量=表达式
右到左
--
/=
除后赋值
变量/=表达式
--
*=
乘后赋值
变量*=表达式
--
%=
取模后赋值
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下
每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!
C语言运算符优先级
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
.
[]
数组下标
数组名[常量表达式]
左到右
--
!
逻辑非运算符
!表达式
(类型)
强制类型转换
(数据类型)表达式
--
sizeof
长度运算符
sizeof(表达式)
--
3
&
/

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

表达式*表达式

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


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

表达式-表达式
5
~
<<
左移
变量<<表达式
左到右
双目运算符
>>
右移
变量>>表达式
*
6
>
大于
表达式>表达式
左到右
双目运算符
>=
$
大于等于
表达式>=表达式
<
小于
表达式<表达式
<=
小于等于
表达式<=表达式
7
==
等于
表达式==表达式

左到右
双目运算符
!=
不等于
表达式!= 表达式
8
"
&
按位与
表达式&表达式
左到右
双目运算符
9
^
按位异或
表达式^表达式
左到右
-
双目运算符
10
变量%=表达式
--
+=
加后赋值
变量+=表达式
--
-=

减后赋值
变量-=表达式
--
<<=
左移后赋值
变量<<=表达式
--
>>=
右移后赋值
变量>>=表达式
变量&=表达式
--
^=
按位异或后赋值
变量^=表达式
--
|=
按位或后赋值
变量|=表达式
--
15

逗号运算符
表达式,表达式,…
左到右
--
()
圆括号
(表达式)/函数名(形参表)
·
--
.
成员选择(对象)
对象.成员名
--
->
成员选择(指针)

对象指针->成员名
--
2
-
负号运算符
-表达式
右到左
单目运算符
~
按位取反运算符
~表达式
++
自增运算符
++变量名/变量名++
--
自减运算符
--变量名/变量名--
*

取值运算符
*指针变量
&
取地址运算符
&变量名
相关文档
最新文档