C语言操作符整理

  • Post author:
  • Post category:其他


按优先级进行整理:

第一优先级:(初等运算符)

(    )

[    ]    下标引用    例如一个数组arr[10],表达的是数组arr中第10个元素。

->    指向结构体成员

.      访问结构体成员

第二优先级:(单目运算符)

!    逻辑非

~   按位取反

++ 自增

—   自减

–    负值

(类型)强制类型转换

*    指针

&   取地址

sizeof求变量或类型(储存的变量)大小,字节为单位。

第三优先级:(3~7级为关系运算符)

*    乘

/     除

%  取余

第四优先级:

+   加

–    减

第五优先级:

<< 左移(左边抛弃,右边补0)

>> 右移(分为两种情况:1逻辑移位:左边补0,右边抛弃;2算术移位:左边用符号位补,右边抛弃)

第六优先级:

>   大于

>=大于等于

<   小于

<=小于等于

第七优先级:

== 等于

!=  不等于

第八优先级:(8~12级为逻辑运算符)

&   按位与

第九优先级:

^    按位异或

第十优先级:

|    按位或

第十一优先级:

&&逻辑与

第十二优先级:

||逻辑或

第十三优先级:(条件运算符)

?   :条件运算符

第十四优先级:(赋值运算符)

=      赋值

+=   先加再赋值

-=   先减再赋值

*=   先乘再赋值

/=    先除再赋值

%= 先取余再赋值

>>=先右移再赋值

<<=先左移再赋值

&=  先与再赋值

^=   先异或再赋值

|=    先或再赋值

第十五优先级:(逗号运算符)

,      逗号运算符

说明:

1:在同一个优先级下的运算,按从左至右的顺序运算。

2:单目运算符的意思是:参与运算的对象个数。(依此理解双目运算符、三目运算符)。

3:各类运算符的优先级如下:初等运算符>单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符>逗号运算符。



版权声明:本文为qq_28963293原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。