C语言------- 操作符详解汇总

一.算数操作符

+   -   *   /   %

①.除了%操作符之外,其它的几个操作符可以作用于整数和浮点数

②.对于 / 操作符如果两个操作数为整数,则执行整数规则,而只要有浮点数,则执行浮点数除法

二.移位操作符

<<   左移操作符        >>     右移操作符

左移操作符 移位规则: 左边丢弃,右边补零

右移操作符 移位规则: 首先右移运算分两种:

                                                                1.逻辑移位:右边丢弃,左边补零

                                                                2.算术移位:右边丢弃,左边用原值的符号位填充

三.位操作符

①.按位与运算符(&)
参加运算的两个数,按二进制位进行“与”运算。

运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)

即 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。

例:3 &5  即 00000011 & 00000101 = 00000001 ,所以 3 & 5的值为1。

②.按位或运算符(|)
参加运算的两个数,按二进制位进行“或”运算。

运算规则:参加运算的两个数只要两个数中的一个为1,结果就为1。

即  0 | 0= 0 ,  1 | 0= 1  , 0 | 1= 1  ,  1 | 1= 1 。

例:2 | 4 即 00000010 | 00000100 = 00000110 ,所以2 | 4的值为 6 。

③.异或运算符(^)
参加运算的两个数,按二进制位进行“异或”运算。

运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

即 0 ^ 0=0  , 0 ^ 1= 1  , 1 ^ 0= 1  , 1 ^ 1= 0 。

例: 2 ^ 4 即 00000010 ^ 00000100 =00000110 ,所以 2 ^ 4 的值为6 。

四.单目操作符

!              逻辑反操作

-             负值

+            正值

&             取地址

sizeof      操作数的类型长度(以字节为单位)

~              对一个数的二进制按位取反

--              前置、后置

++            前置、后置++

*                 间接访问操作符(解引用操作符)

五.逻辑操作符

&&     逻辑与

||         逻辑或

六.条件操作符

exp1 ? exp2 : exp3

条件exp1为真,执行exp2,否则执行exp3

七.寻常算数转换

 long double

 double

 float

 unsigned long int

 long int

 unsigned int

 int
如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。

(由下及上进行强制类型转换)
八.操作符的属性

复杂表达式的求值有三个影响的因素。
1. 操作符的优先级

2. 操作符的结合性

3. 是否控制求值顺序。
两个相邻的操作符的执行取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。
 


 

发布了42 篇原创文章 · 获赞 0 · 访问量 1442

猜你喜欢

转载自blog.csdn.net/HUAERBUSHI521/article/details/105296660