我的C语言.5
2022/1/24 23:09:17
本文主要是介绍我的C语言.5,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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.单目操作符
! * (类型) | 逻辑反操作 间接访问操作符(解引用操作符) 强制类型转换 |
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.逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
这篇关于我的C语言.5的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-25Elevate Your Lead Generation Game with Maps Scraper AI
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能