一.基本数据类型
整数类型分为有符号(Signed)和无符号(Unsigned)。
| 类型关键字 | 说明 | 空间大小 | 值域范围 | 存储方式 |
|---|---|---|---|---|
| short | 短整型(有符号) | 2字节 | -32768-32767 | 补码 |
| unsigned short | 无符号短整型 | 2字节 | 0-65535 | 二进制形式 |
| int | 整型(有符号) | 4字节 | -21亿-21亿 | 补码 |
| unsigned int | 无符号整型 | 4字节 | 0-42亿 | 二进制形式 |
| long | 长整型(有符号) | 8字节 | -922亿亿-+922亿亿 | 补码 |
| unsigned long | 无符号整形 | 8字节 | 0-1844亿亿 | 二进制形式 |
2. 浮点类型 (Floating Point)
浮点数均为有符号类型,遵循IEEE754标准存储(符号位+指数位+尾数位)。
| 类型关键字 | 说明 | 空间大小 | 有效数字 | 值域范围 |
| float | 单精度浮点型 | 4字节 | 6-8位 | |
| double | 双精度浮点型 | 8字节 | 12-16位 |
3. 字符与布尔类型 (Char & Bool)
3.1字符:本质是整数,存储字符对应的ASCII码。
3.2布尔:需引入头文件 <stdbool.h>,非0为真,0为假 。
| 类型关键字 | 说明 | 空间大小 | 值域范围 | 备注 |
| char | 字符型 | 1字节 | -128 ~ 127 | 存储ASCII码 |
| unsigned char | 无符号字符型 | 1字节 | 0 ~ 255 |
常用于处理二进制数据 |
| bool | 布尔类型 | 1字节 | true (1) / false (0) | 逻辑判断专用 |
二、 常量与转义字符 (Constants)
1. 转义字符速查表
在字符常量中,反斜杠 "\" 用于表示控制符或特殊符号。
| 转义字符 | 含义 | 解释 |
| \n | 换行 |
光标移至下一行开头 |
| \t | 横向制表符 |
类似Tab键,用于对齐 |
| \r | 回车 |
光标移至本行开头 |
| \b | 退格 | 向左删除一格 |
| \0 | 空字符 |
字符串结束标志 (ASCII值为0) |
| \\ | 反斜杠 | 输出字符 \ |
| \' | 单引号 | 输出字符 ' |
| \" | 双引号 | 输出字符 " |
2. 字符串常量
2.1定义:用双引号括起来的字符序列,如 "hello"。
2.2特征:字符串末尾自动隐含一个 \0 字符作为结尾。
2.3大小:"a" 占2个字节(字符 'a' + 结束符 '\0')。
三、 运算符与类型转换 (Operators & Conversion)
1. 隐式类型转换规则
在混合运算中,编译器自动将低精度类型转换为高精度类型 。
| 转换方向 | 规则说明 | 示例 |
| 低 -> 高 | char/short → int → long → float → double |
int + double → double |
| 有符号 -> 无符号 | 同样长度下,有符号数转换为无符号数 |
int + unsigned int → unsigned int |
| 截断与扩展 | 大数据赋给小变量会截断;小数据赋给大变量会扩展 |
float 赋给 int 会去掉小数部分 |
2. 常见运算符及其特性
| 运算符类别 | 符号 | 特性与注意点 | |
| 算术运算符 | / |
两个整数相除,结果为整数(舍弃小数) | |
| % |
取余运算符仅能用于整数,不能用于浮点数 | ||
| ++ / -- |
i++: 先使用后自增; ++i: 先自增后使用 | ||
| 赋值运算符 | = |
优先级较低,将右侧表达式的值赋给左侧 | |
| 逗号运算符 | , |
从左至右执行,表达式的值为最后一项的值 | |
| 空间运算符 | sizeof |
计算变量/类型占用的字节大小 |

824

被折叠的 条评论
为什么被折叠?



