0
点赞
收藏
分享

微信扫一扫

C语言操作符讲解

我们从小开始学习数学,在数学中常常用用到公式,由已知数得出一个未知数。而在C语言中我们借助操作符完成数据的运算操作。接下来,我将给大家介绍一下在C语言中的操作符。

1.算术操作符

操作符

名称

作用

举例

结果

+

加法运算

int a = 1+2;

a = 3;

-

减法运算

int a = 3-1;

a = 2;

*

乘法运算

int a = 2*2;

a = 4;

/

除法运算

int a = 6/2;

a = 3;

%

取余

求余数

int a = 5%2;

a = 1;

2.位移操作符

操作符

名称

举例

结果

<<

左位移

1<<1

1<<2

2

4

>>

右位移


4>>1

8>>1

2

4

首先我们应明确,位移移的是二进制位。求解的步骤为,应先将概述转换为二进制的数,再将得到的二进制数整体左移或右移指定位数,超出范围的数字略去,不足的位数用0补充,得到一个新的二进制数,最后将二进制数转换为十进制数即可。

以int类型数据举例:int类型数据为4字节,也就是共有32位二进制位。整型数字1,对应的二进制数为00000000000000000000000000000001。1<<1,即数字1左移1位,得到的新的二进制数为00000000000000000000000000000010,转换位十进制数为2。1<<2,即数字1左移2位,得到的新的二进制数为00000000000000000000000000000100,转换为十进制数为4。右移类似。

C语言操作符讲解_操作符

3.位操作符

操作符

名称

举例

结果

&

且位操作符

6&5

4

|

或位操作符

6|5

7

^

异或位操作符

6^5

3

位操作符中的位指的也是二进制位。故求解时,我们也应首先将操作符两侧的数字转换位二进制数。根据具体的操作符运算,得出一个新的二进制数。再将该二进制数转换为十进制即可。

&举例:6&5。(省略掉前面的一堆0,只保留后面的部分)转换为2进制数为    110&101.&要求两数对应的位数都为1即为1,其它情形都为0。故新的二进制数为100,转换为十进制数为4。

| 举例:6|5。(省略掉前面的一堆0,只保留后面的部分)转换为2进制数为       110|101. |要求两数对应的位数有一个为1就为1,其它情形都为0。故新的二进制数为111,转换为十进制数为7。

^举例:6^5。(省略掉前面的一堆0,只保留后面的部分)转换为2进制数为     110^101.^要求两数对应的位数有不同就为1,相同就为0。故新的二进制数为011,转换为十进制数为3。

C语言操作符讲解_C语言_02

4.赋值操作符

操作符

举例 --- (int a = 1;)

结果

=

a = 1

a=1

+=

a += 1; ---> a=a+1;

a=2

-=

a -= 1; ---> a=a-1;

a=0

*=

a *= 2; ---> a=a*2;

a=2

/=

a /=2; ---> a=a/2;

a=0

&=

a &=2; --->a=a&2;

a=0

|=

a |=2; ---> a=a|2;

a=3

^=

a ^=2; ---> a=a^2;

a=3

<<=

a << 1; ---> a=a<<1;

a=2

>>=

a >> 1; ---> a=a>>1;

a=0

5.单目操作符

操作符

作用

举例

结果

逻辑反操作



-

负值



+

正值



&

取地址



sizeof

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



~

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



--

前置、后置--



++

前置、后置++



*

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



(类型)

强制类型转换



6.关系操作符

操作符

作用

>

用于测试“大于”

>=

用于测试“大于等于”

<

用于测试“小于”

<=

用于测试“小于等于”

!=

用于测试“不相等”

==

用于测试“相等”

7.逻辑操作符

操作符

作用

&&

逻辑与

||


逻辑或

8.条件操作符

操作符

举例

结果

exp1 ? exp2 : exp3



有关运算符的基本内容已写完,具体介绍内容还待补充....若文章内容有错误,欢引指出,谢谢~~

举报

相关推荐

0 条评论