C语言的运算符顺序

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

括号和成员排第一                                                           //括号运算符[]()成员运算符 . ->

全体单目排第二                                                              //所有的单目运算符比如++,--,+(正),-(负),指针运算符*、&

乘除模除排第三                                                              //乘   除  模除(%) 

加减法排第四                                                                 //加法 和 减法

移位五,关系六                                                             // 位移运算符:>>  , <<  关系: >   ,   <  ,  >= , <= 

等于和不等于排第七                                                      // ==   和  !=

位与异或和位或排八九十                                               //  &(8), ^  (9) , | (10),按位与 第八,按位异或 第九,按位或第十,

逻辑与跟 逻辑或  排十一和十二                                     //  && (11)    , ||(12)

条件高于赋值                                                                 //三目运算符排第十三,所有赋值排十四

逗号运算符最低级。                                                      //逗号排最低

  • 21
    点赞
  • 174
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中的运算符有多种,不同的运算符具有不同的优先级。如果不了解运算符优先级,程序中的运算结果可能会出现错误。下面是C语言运算符优先级顺序表: 1. 括号 () 括号用于改变优先级顺序,最高优先级。 2. 单目运算符 +、-、!、~、++、-- 单目运算符作用于一元操作数,并且优先级较高。 3. 乘除模运算符 *、/、% 乘、除、模运算符具有相同的优先级,高于加、减运算符。 4. 加减运算符 +、- 低于乘、除、模运算符,但高于比较运算符。 5. 移位运算符<<、>> 比较位运算符优先级高,低于乘、除、模、加、减运算符。 6. 关系运算符 <、<=、>、>= 关系运算符的优先级低于逻辑运算符。 7. 相等运算符 ==、!= 相等运算符的优先级低于关系运算符。 8. 按位与运算符 & 按位与运算符的优先级低于相等运算符。 9. 按位异或运算符 ^ 按位异或运算符的优先级低于按位与运算符。 10. 按位或运算符 | 按位或运算符的优先级低于按位异或运算符。 11. 逻辑与运算符 && 逻辑与运算符的优先级低于按位或运算符。 12. 逻辑或运算符 || 逻辑或运算符的优先级低于逻辑与运算符。 13. 条件运算符 ? : 条件运算符C语言中唯一的三元运算符,优先级低于逻辑或运算符。 14. 赋值运算符 =、+=、-=、/=、%=、&=、^=、|=、<<=、>>= 赋值运算符优先级最低。 通过掌握C语言运算符优先级顺序表,我们可以正确理解和使用不同的运算符,从而避免程序中的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值