1.数据类型:
1.基本数据类型
整数类型
浮点数类型
字符型
缺省类型
逻辑类型
2.构造数据类型
结构体
共用体
枚举类型
2.基本数据类型:
C语言在不同的平台上运行结果是不一样的
Ubuntu 64位操作系统
sizeof 关键字
1.整数类型: 在内存空间所占字节数 存储方式 值域范围
unsigned short 无符号短整型 2个字节 16位均表示数据位 0 - 65535
short 短整型 2个字节 1位符号位+15位数据位 -32768 - 32767
unsigned int 无符号整形 4个字节 32位均表示数据位 0 - 2^32 -1
int 整形 4个字节 1位符号位+31位数据位 -2^31 - 2^31 -1
unsigned long 无符号长整型 8个字节 64位均表示数据位 0 - 2^64 -1
long 长整型 8个字节 1位符号位+63位数据位 -2^63 - 2^63 -1
整数类型默认为有符号类型
2.字符类型:
unsigned char 无符号字符型 1个字节 字符 -> ASCII码表 -> 二进制数据 -> 存放内存 0 - 255
char 有符号字符型 1个字节 -128 - 127
ASCII码表:
字符和二进制数据间的转换关系
3.浮点数类型:
float 单精度浮点数类型 4个字节 1位符号位 + 8位指数位 + 23位尾位
double 双精度浮点数类型 8个字节 1位符号位 + 11位指数位 + 52位尾数位
1.浮点数类型均为有符号
2.float 6-8位有效数字、double 12-14位有效数字
3.常量和变量:
1.常量
在程序运行过程中值不会发生改变的量
1.整形常量(默认为int类型)
100
200
123
123l 长整型
123ul 无符号长整型
123u 无符号整形
123L
123U
123UL
0100 八进制常量
0x1f 十六进制常量
2.浮点型常量(默认为double类型)
3.14
3.14f
3.14F
3.14e3
3.14e-3
3.字符常量
'!'
'\''
'\\'
'\n' 换行符
'\r' 回车符
'\t' 横向制表符
'\b' 退格符
'\v' 纵向制表符
'a'
'A'
'0' 字符0
0 零
'\0' 反斜杠零
'0' 字符零
'\0' -> 0 '\0' 与 0 等价
'0' -> 48 '0' 与 48 等价
'\141' 八进制141对应的字符
'\x32' 十六进制32对应的字符
4.字符串常量
"hello world"
"a" == 'a' + '\0'
'a' == 'a'
字符串末尾有一个用来标识结尾的\0字符
5.标识常量
#define 宏名 值
#define PI 3.1415
注意:
1.标识常量宏名一般都是大写,与变量名区分
2.宏只是实现代码替换,中间不进行任何数据计算的操作(宏定义,能加括号就加括号)
3.使用宏能够提高代码的可读性
2.变量
在程序运行过程中值可以发生改变的量