常量
不会变化的数据
- 字符串常量— “ascii”
- 字符常量—‘a’
- 数值常量 10,3.14
- #define PI 3.14 //标识符常量
- const int a = 10; //const修饰,注意其占用内存,属于只读变量
变量
变量的三要素:类型名,变量名,变量值
类型名决定占用空间的大小
变量的定义:int a = 40;
变量的声明
- int a; //没有变量值的变量定义
- extern int a ; //添加关键字extern
notes:
变量定义会开辟内存空间,变量申明不会开辟内存空间。
当编译器编译时,在变量使用前,必须要看到变量定义。如果没有看到变量定义,编译器会自动找寻一个变量申明提升为定义。如果该变量前有extern 关键字,无法提升。
整型
sizeof 不是函数,不需要包含其他的头文件。返回值为size_t (unsigned int),其打印格式:%u。
- 一般整型
- int 大小为:4 Byte 打印格式: %d
- short大小为:2 Byte %hd
- long大小为:4 Byte %ld //linux:32位为4字节,64位为8字节
- long long大小为:8 Byte %lld
- 无符号整型
- unsigned int a = 0; 打印格式:%u
- unsigned long a = 0; %lu
- unsigned short a = 0; %hu
- 字符型
大小:1字节,注意有符号char最高位为符号位:-128~127。无符号char型:0 ~ 128
打印格式:%c
notes
1)1 bit位就是一个二进制位,一个字节 1B = 8 bit 位
2)char a=127+1 ; //实际上a=-128
3)unsigned char b=0xff+1; //实际上b=0
- 常考查ASCII对应
‘A’: 65
‘a’: 97
‘0’:48
‘\n’: 10
‘\0’: 0 - 字母大小写转换:
1)判断字母的范围
2)大写字母+32 = 小写字母 - 转移字符
‘\’ 将普通字符转为特殊意义的字符,也可以用于输出转义字符,例如 ‘\\n’ 输出为 ‘\n’
浮点型
也称为实型,通常表示小数,注意科学计数法E-9 (缺前不缺后)
float(单精度) | double(双精度) |
---|---|
4字节 | 8 字节 |
%f | %lf |
notes:
m.nf n表示保留n位小数,会出现不足补零和四舍五入的现象。m表示包括小数点一共有多少位,位数不够用空格补全。特殊地,"%08.2f"表示不够8位用0补全。
标识符
变量和常量的统称
命名规则:
- 通常常量使用大写,变量使用小写。大小写严格区分。
- 只能使用字母、数字和下划线,且不以数字开头。
- 不能使用关键字和系统函数命名。
进制转换
- 十六进制:以0x或0X开头,打印格式:%x 或用%#x显示前缀
- 八进制:以0开头,打印格式:%o 或用%#o显示前缀
码制
正数:原码=反码=补码
负数:
- 补码 = 反码+1
- 反码:原码保留最高位(符号位)不变,其他位取反
如今计算机的存储形式:补码的形式