C语⾔运算符优先级(超详细)
每当想哪个运算符优先级⾼时,很多时候总是想的就没有,真让⼈⽓愤!现在,终于有个我个⼈觉得⾮常全的,分享给⼤家,欢迎拍砖!
转⾃:
运算符优先级
优先级运算符名称或含义使⽤形式结合⽅向说明
1[]数组下标数组名[常量表达式]
左到右
--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名--->成员选择(指针)对象指针->成员名--
2-负号运算符-表达式
右到左
单⽬运算符~按位取反运算符~表达式
++⾃增运算符++变量名/变量名++
--⾃减运算符--变量名/变量名--
*取值运算符*指针变量
&取地址运算符&变量名
!逻辑⾮运算符!表达式
(类型)强制类型转换(数据类型)表达式--
sizeof长度运算符sizeof(表达式)--
3/除表达式/表达式
左到右双⽬运算符*乘表达式*表达式
%余数(取模)整型表达式%整型表达式
4+加表达式+表达式
左到右双⽬运算符-减表达式-表达式
5<< 左移变量<<;表达式
左到右双⽬运算符>> 右移变量>>表达式
6> ⼤于表达式>表达式
左到右双⽬运算符>=⼤于等于表达式>=表达式
6左到右双⽬运算符< ⼩于表达式<;表达式
<=⼩于等于表达式<=表达式
7==等于表达式==表达式
左到右双⽬运算符!=不等于表达式!= 表达式
8&按位与表达式&表达式左到右双⽬运算符9^按位异或表达式^表达式左到右双⽬运算符10|按位或表
达式|表达式左到右双⽬运算符11&&逻辑与表达式&&表达式左到右双⽬运算符12||逻辑或表达式||表达式左到右双⽬运算符
13?:条件运算符表达式1?
表达式2: 表达式3
右到左三⽬运算符
14=赋值运算符变量=表达式
右到左
--/=除后赋值变量/=表达式--*=乘后赋值变量*=表达式--%=取模后赋值变量%=表达式--+=加后赋值变量+=表达式---=减后赋值变量-=表达式--<<=左移后赋值变量<<=表达式-->>=右移后赋值变量>>=表达式--&=按位与后赋值变量&=表达式--^=按位异或后赋值变量^=表达式--|=按位或后赋值变量|=表达式--
15,逗号运算符表达式,表达式,…左到右--
说明:
同⼀优先级的运算符,运算次序由结合⽅向所决定。
运算符优先级图片简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论