学到此处,发现很多与java的共同之处,之后会精简笔记内容,更多记录不同之处。
常用转义字符:
\n 换行
\r 回车
\t 制表符
下面进行一个小小的测试:
运算符可以分成很多种类:
算术运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
杂项运算符
首先学习基本算术运算符,与Java类似可以忽略。
+ \ - \ * \ / (加、减、乘、除)
% 取余
++/-- 自增/自建
关系运算符同上不做过多的解释
== | != 相等和不相等
> | < | >= | <= 大小等于
逻辑运算符
&& 且
|| 或
! 非
位运算符 ==> 使用场景可能有些少,首先位运算符都是将数字转为二进制进行操作
& 且 同真为真,非同为假/有0为0 无0为1
| 或 有真为真,无真为假/有1为1 无1为0
^ 异或 有真为真,全真为假/有0为1 无0为0
~ 取反 01互换为反码,反码+1 为补码。符号位取反时变,取补时不变
<< 将操作数向左移动指定位数。 结果相当乘以2的n次方
>> 将操作数向右移动指定位数。 结果相当除以2的n次方
我们首先对或且非取反进行实践。或且异或比较好理解,取反经过一部分学习后有部分理解。
主要记录取反的逻辑。
实验对象是 整数类型数据 c:8 和 d:13
首先转为二进制,方法为短除法。
8:0000 1000
13:0000 1101
上面展示的是个人理解的二进制表示方法,非标准展示,此部分内容不太清楚。二进制还包含一位符号位,1为正,0为负。可以浅显的理解为 【 8: 1 0000 1000 】
再了解一下反码和补码的概念。可以浅显的理解将01互换后为反码(此时互换包含符号位),将反码+1为补码。而取反的操作就是获得的补码。代码中注释也记录了该过程。
下面进行移位运算,结果比较好理解,过程不必纠结。代码中显而易见。
赋值运算符比较好理解,主要记录一下有哪些赋值运算符
= 赋值运算符
+= 加且赋值运算符
-= 减且赋值运算符
*= 乘且赋值运算符
/= 除且赋值运算符
%= 求模且赋值运算符
<<= 左移且赋值运算符
>>= 右移且赋值运算符
&= 按位与且赋值运算符
^= 按位异或且赋值运算符
|= 按位或且赋值运算符
最后杂项运算符
sizeof() 返回变量的大小
& 返回变量的地址
* 指向一个变量
?: 条件表达式,真为x,假为y
简单测试一下杂项的使用.
至此,运算符的了解基本完成,下面进行判断循环等学习。