基本数据类型、运算符与表达式

发布于:2023-01-09 ⋅ 阅读:(401) ⋅ 点赞:(0)

一、数据类型

1>基本数据类型

1.存储单位

:一个'1'或‘0‘,最小的存储单位。  bit  b

字节:由8位二进制构成。byte B

进制

1B=8bit

1KB=1024B

1MB=1024KB=2^10KB=2^20B

1GB=1024MB

2.基本类型 

整型 int   32位 4个字节

整型 int
名称 占存储空间 范围
short 2字节 -2^15~(2^15)-1
int 4字节 -2^31~(2^31)-1
long 4字节 -2^31~(2^31)-1
longlong 8字节 -2^63~(2^63)-1

字符型 char 8位

字符型 char
名称
字符型 char

转义字符
'\n' 换行(LF) '\0' 空字符(NUL)
'\t' 横向跳格(HT) '\ddd' 1~3位 八进制
'\r' 回车(CR) '\xhh' 2位 十六进制
'\\' 反斜杠 \ '\v' 垂直制表(VT)
'\'' 单引号 ‘ '\f' 换页(FF)
'\''' 双引号 '' '\b'

退格(BS)

'\?' 问好 ? '\a' 响铃(BEL)

实型 

实型
名称 占储存空间
单精度实型 4个字节 float
双精度实型 8个字节 double
长双精度实型 16个字节 long double

2>构造类型 

1.数组类型

2.结构体类型 struct

3.共用体类型 union

4.枚举类型 enum

3>指针类型

4>空类型 void

二、运算符

1>算术运算符 

运算符 描述
+ 两个操作数相加
- 第一个操作数中减去第二个操作数
* 两个操作数相乘
/ 分子除以分母
% 取模运算符,整除后的余数
++ 自增运算符,整数值增加 1
-- 自减运算符,整数值减少 1

 注意:自增和自减运算符在操作数前和后时不同

在操作数前时 表达式的值为预算的值 操作数的值为运算后的值

操作数在后时 表达式的值为运算的值 操作数的值也为运算后的值

2>关系运算符

运算符 描述
== 检查两个操作数的值是否相等,如果相等则条件为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。

3>逻辑运算符

运算符 描述
&& 如果两个操作数都非零,则条件为真。
|| 如果两个操作数中有任意一个非零,则条件为真。
! 用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。

4>位运算符

运算符 描述
& 两个位都为1时,结果才为1
| 两个位都为0时,结果才为0
^ 两个位相同为0,相异为1
~ 0变1,1变0
>> 各二进位全部左移若干位,高位丢弃,低位补0
<< 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

5>赋值运算符

运算符 描述
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数
<<= 左移且赋值运算符
>>= 右移且赋值运算符
&= 按位与且赋值运算符
|= 按位或且赋值运算符
^= 按位异或且赋值运算符
= 简单的赋值运算符,把右边操作数的值赋给左边操作数

6>杂项运算符

运算符 描述
sizeof() 返回变量的大小。
& 返回变量的地址。
* 指向一个变量。
? : 条件表达式

7>优先级

由高到低

类别 运算符  结合性
后缀  () [] -> . ++ - -   从左到右
一元 + - ! ~ ++ - - (type)* & sizeof  从左到右 
乘除 * / %  从左到右 
加减 + -  从左到右 
移位 << >> 从左到右 
关系  < <= > >=  从左到右 
相等 == !=  从左到右 
位与 AND & 从左到右 
位异或 XOR  ^ 从左到右 
位或 OR 从左到右 
逻辑与 AND &&  从左到右 
逻辑或 OR ||  从左到右 
条件  ?:  从右到左 
赋值 = += -= *= /= %=>>= <<= &= ^= |=  从右到左 
逗号  从左到右