ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

我的C语言.5

2022-01-24 22:32:46  阅读:159  来源: 互联网

标签:10 操作数 打印 补码 C语言 按位 操作符


1.逻辑操作符

逻辑与 &&

1.两边的操作数都是真结果才是真

2.两边的操作数有一个是假结果就是假

注:在C语言中0为假,非0为真。

真&&真->真

假&&假->假

真&&假->假

例:

逻辑否 ||

1.两边的操作数都是假结果才是假

2.两边的操作数有一个是真结果就是真

真||真->真

真||假->真

假||假->假

例:

2.算术操作符

加 +

减 -

乘 *

除 /

取余 %

在这些操作符中需要注意几点:
1.%两边的操作数都必须是整形,而+ - * /两边可以是整形和浮点型。

2.%取余的具体意思:返回的是整除之后的余数。例:18%2的结果是0,16%3的结果是1。

3.在+ - * /的运算过程中,想要结果为浮点型,两边的操作数至少有一个是浮点型。例:

3.关系操作符

>

<

>=

<=

!=

==

4.赋值操作符 

=     :

+=   :a+=1 -> a=a+1
-=    :b-=2 -> b=b-2
*=
/=
%=
>>=
<<=
&=
|=
^=

5.移位操作符

在学习位移操作符之前,我们要先了解一下原码,反码,补码。

1.整数的二进制有三种表示形式:原码,反码,补码。

2.正整数的原,反,补码相同。

3.在内存中计算机保存的是补码。

4.负整数的原,反,补码转换:

下面是-1的原,反,补码转换。

原码:10000000000000000000000000000001(最高位是符号位,1为负,0为正)

反码:111111111111111111111111111111111110(原码变反码:符号位不变其他位按位取反)

补码:111111111111111111111111111111111111(反码加1就变成补码)

左移操作符 <<

规则:左边抛弃、右边补0
例:

00000000000000000000000000000001

向左移一位 -> 

00000000000000000000000000000010

注:a向左移位只不过是形式上的移动,并没有改变a,如果要改变a或者保存a向左移位的结果可以写为:a=a<<1或b=a<<1。

右移操作符 >>

右移运算分两种:
1. 逻辑移位
左边用0填充,右边丢弃
2. 算术移位
左边用原该值的符号位填充,右边丢弃

6.位操作符

按位与 &

在按位与时,有0就变0,没有0就变1。

00000000000000000000000000001010(10)

00000000000000000000000000000010(2)

10与2进行按位与:00000000000000000000000000000010(2)

按位或 |

在按位或时,有1就变1,没有就变0。

00000000000000000000000000001010(10)

00000000000000000000000000000010(2)

10与2按位或:00000000000000000000000000001010(10)

按位异否 ^

进行按位异否时,相同变0,不相同变1。

00000000000000000000000000001010(10)

00000000000000000000000000000010(2)

10与2进行异否:00000000000000000000000000001000(8)

 注:位操作符两边只能是整数。

7.单目操作符

!
-
+
&
sizeof
~
--
++

*

(类型)

逻辑反操作
负值
正值
取地址
操作数的类型长度(以字节为单位)
对一个数的二进制按位取反
前置、后置--
前置、后置++

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

强制类型转换

1.sizeof( )中的表达式不参与计算,在编译的时候就变成数据类型了。

2.!就是将真变假,假变真。

3.前置++(--)先加减在使用,后值++(--)先使用在加减。

在上面的代码中a开始是3

第一个:a先使用赋值给b,a变成4,打印b就是打印3。

第二个,a是4先使用赋值给b,a之后变成3,打印b就是打印4。

第三个,a是3先加1变成4,然后赋值给b,打印b就是打印4。

第四个,a是4先减1变成3,将a的值赋值给b,打印b就是打印3。

8.条件操作符

e=a?b:c;

如果a为真,e=b;

如果a为假,e=c;

 9.逗号表达式

1.逗号表达式,就是用逗号隔开的多个表达式。
2.逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

 

标签:10,操作数,打印,补码,C语言,按位,操作符
来源: https://blog.csdn.net/m0_61433144/article/details/122673889

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有