一、数据类型
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个字节
名称 | 占存储空间 | 范围 |
---|---|---|
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 |
'\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 | || | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | = += -= *= /= %=>>= <<= &= ^= |= | 从右到左 |
逗号 | , | 从左到右 |