多图详解操作符

目录

1.算术操作符

1)取商操作符:/

2)取模操作符:%

2.移位操作符

1)右移操作符 >>

2)左移操作符 <<

3.位操作符

1)按位与 :&

 2)按位或 :|

 3)按位异或:^

4.赋值操作符

5.单目操作符

1)非:!

 2)解引用操作符:* 取地址操作符:& 

3)sizeof 

4)按(二进制)位取反: ~

5)前置、后置++ -- 

6.关系操作符

7.逻辑操作符

1)逻辑与: &&

2)逻辑或: ||

 8.条件操作符

 9.逗号表达式

10.下标引用操作符: [ ]

11.函数操作符: ( )


多图详解操作符_第1张图片

1.算术操作符

这里只介绍 / 和 %这两个操作符

1)取商操作符:/

除法运算符是取的是商的值,什么意思呢? 打个比方,5 / 2 商2 余 1,所以输出的结果是2,我们看代码运行结果。

多图详解操作符_第2张图片

这里注意若想得到 浮点数多图详解操作符_第3张图片


2)取模操作符:%

这个操作符是取的除法的余数, 打个比方就是 5 % 2 是商 2 余 1, 即输出结果是 1 我们来看代码运行结果 这里注意取模两边的数必须都为整数,不是浮点数。

多图详解操作符_第4张图片


2.移位操作符

多图详解操作符_第5张图片

无论是左移还是右移都是移动的是二进制位

补充小知识:补码 = 反码 + 1 

1)右移操作符 >>

右移操作符又分两种,我们来举个例子,将一个整型的 16 进行向右移位,得出的两种情况。我们知道 int 类型的空间大小是32个比特位,16用二进制表示如下图

多图详解操作符_第6张图片

①算术右移:右边丢弃,左边补符号位。上图将右边丢弃一个0,由于是正数所以补0(负数补1)

②逻辑右移:右边丢弃,左边补0。上图将右边丢弃一个0,左边还是补0。如果原来的是-16的话进行逻辑右移得出的结果就是 8

2)左移操作符 <<

左移:左边丢弃,右边补0


3.位操作符

多图详解操作符_第7张图片

注意:位操作符的操作数是能是整数

1)按位与 :&

按二进制位进行操作什么意思呢,二进制位置对应的地方都为1,才会被改为1,若有一个1和0或者都是0,都将被改成0,如下图红色部分。

多图详解操作符_第8张图片

 代码输出结果

多图详解操作符_第9张图片

 2)按位或 :|

二进制位置对应的地方都为0,将会改位0。若有一个1,即被改为1。如下图所示

多图详解操作符_第10张图片

 代码输出结果:

多图详解操作符_第11张图片

 3)按位异或:^

特点:不需要中间变量,就可得到两个数中的任意一个。(如5 和 3的异或结果是6,我们可以通过6 去分别与5和3异或得到 3和5)

对应的二进制位  相同为0,相异为1,如下图所示

多图详解操作符_第12张图片

 代码输出结果:

多图详解操作符_第13张图片


4.赋值操作符

多图详解操作符_第14张图片


5.单目操作符

多图详解操作符_第15张图片

只有一个操作数,通常 a+b +两边有两个操作数,单目就只有一个 例如,a++,!a,等等。

1)非:!

把假的变成真的,真的变成假的,例如 a = 10; !a == 0。如下图

多图详解操作符_第16张图片

 2)解引用操作符:* 取地址操作符:& 

通常这两个是一起用的取地址就是取变量的地址,而解引用是将地址上存的拿来用

例如:

多图详解操作符_第17张图片

3)sizeof 

sizeof 计算变量(数组也算变量)所占内存空间的大小(以字节为单位),例如:

多图详解操作符_第18张图片

 补充:指针大小,是根据电脑是64还是32决定的,64计算的结果是8,32计算的结果是4。传数组名时候传的是首元素地址,相当于是一个指针接收

4)按(二进制)位取反: ~

将补码中的0改为1,1改为0。例如:

多图详解操作符_第19张图片

多图详解操作符_第20张图片

5)前置、后置++ -- 

多图详解操作符_第21张图片


6.关系操作符

多图详解操作符_第22张图片


7.逻辑操作符

1)逻辑与: &&

两边同时为真结果才是真,否则为假

补充:左边如果为假,右边都不会再算了 

2)逻辑或: ||

两边同时为假结果才为假,否则为真

补充:左边如果为真,右边不会算

多图详解操作符_第23张图片


 8.条件操作符

exp1 ? exp2 : exp3

表达式1的结果为真,整个表达式的结果为表达式2的结果,表达式1为假,整个表达式的结果为表达式3的结果,如下图

多图详解操作符_第24张图片


 9.逗号表达式

从左向右依此执行,最后整个表达式的结果是最后一个表达式的结果。如下图

多图详解操作符_第25张图片

 10.下标引用操作符: [ ]

操作数:一个数组名 + 一个索引值; 如 : arr  [  10  ] 访问的是arr下标为10的元素

11.函数操作符: ( )

接受一个或者多个操作数,第一个操作数是函数名,剩余的是传参的操作数。

你可能感兴趣的:(c语言)