数据类型
整型
整型常量
整型常量有三种进制:
进制 | 特征 | 举例 |
---|---|---|
十进制 | 平常用的那种 | 1、2、3 |
八进制 | 以0开头,包含0~7 | 061、061、-026 |
十六进制 | 以0加x开头,10~15写为A~F或a~f | 0x12、-0xff |
转换方式
进制 | 方法 |
---|---|
十→八 | 十进制数除以8,取余数,余数再除以8,直至余数不可再除,将每一步所得商(以及最后不可除的余数)按倒序排列得结果(结果前加0) |
八→十 | 从最后位开始向前,每一位依次乘80、81…结果为每项之和 |
十→十六 | 十进制数除以16,取余数,余数再除以16,直至余数不可再除,将每一步所得商(以及最后不可除的余数)按倒序排列得结果(结果前加0x) |
十六→八 | 从最后位开始向前,每一位依次乘160、161…结果为每项之和 |
整型变量
类型 | 说明符 | 内存占位 | 数值范围 |
---|---|---|---|
基本整形 | int | 16/32 | -32768~32767/-2147483648~2147483647 |
短整型 | short int | 16 | -32768~32767 |
长整型 | long int | 32 | -2147483648~2147483647 |
无符号基本整形 | unsigned int | 16/32 | 0~65535/0~4294967295 |
无符号短整型 | unsigned short | 16 | 0~65535 |
无符号长整形 | unsigned long | 32 | 0~4294967295 |
字符型
字符常量
用单引号括起来的可视字符或转义字符,占1字符储存空间(以ASCII码形式)
**特殊字符常量:**即控制字符常量,常用控制字符常量:
控制字符 | 含义 |
---|---|
\n | 换行 |
\v | 垂直制表 |
\r | 回车 |
\’ | 单引号 |
\ddd | 3位八进制数代表的字符 |
\t | 水平制表 |
\b | 退格 |
\f | 换页 |
\\ | 反斜杠 |
\" | 双引号 |
\a | 响铃 |
\xhh | 2位十六进制数代表的字符 |
字符串常量
用双引号括起来的一串字符序列,长度为字符个数(包括空格)
注意:转义字符算作一个字符
储存时会在结尾自动加”\0”,所以内存中字符串长度比实际长度多1
字符变量
说明符:char
运算:即ASCII码值运算
字符串变量
[doge]
实型
实型常量
即实数(浮点数)
表达形式 | 格式 | 举例 |
---|---|---|
十进制形式 | 数+小数点(必须有) | 1.2、123. |
指数形式 | 尾数+e+指数 | 2.0e5=2.0*105、123e3=123*103 |
实型变量
类型 | 说明符 | 有效数字 |
---|---|---|
单精度 | float | 7位 |
双精度 | double | 16位 |
数据类型转换
自动转换
算术运算
表达式中运算对象数据类型不同时,系统自动转换
double>(float、long)>unsigned>int>(char、short)
赋值运算
以赋值运算符左侧为准
强制转换
- (类型)+表达式
- 类型+(表达式)
注意:类型转换不遵循四舍五入,且运算对象值不变