标识符-----为变量常量起名
标识符只能由 字母,数字,下划线 这3种字符组成,且 “第一个字符必须为字母或下划线”
常量
1.转义字符:一种特殊形式的字符常量,就是以字符 ' \ ' 开头的字符序列
意思是将 ' \ ' 后面字符转化成另外的意思
转义字符 | 字符值 | 输出结果 |
\o , \oo 或 \ooo 其中 o 代表一个八进制数字 | 与该八进制码对应的 ASCII 字符 | 与该八进制码对应的字符 |
\xh[h...] 其中 h 代表一个十六进制数字 | 与该十六进制码对应的 ASCII 字符 | 与该十六进制对应的字符 |
'\101' 代表八进制数 101 的 ASCII字符,即 'A'(相当于十进制的65)
'\x41' 代表十六进制数 41 的ASCII 字符,即'A'(相当于十进制的65)
2.符号常量:用 #define 指令,指定一个符号名称代表一个常量
在对程序进行编译前,预处理器先预编译,把所有 'PI' 置换为 3.1416 ,符号常量不占内存,在预编译后符号就不存在了
3.浮点型,整形常量
浮点型:C语言进行浮点运算时,将float型常量数据自动转化为double型。
可以在常量末尾加上专用字符,即强制转换常量的类型
float a=3.14159f ; 末尾加 “f”或“F”: 把3.14159按 "单精度float常量处理"
long double a=1.23l ;末尾加 “L”或“l”:把3.14158按 "long double常量处理"
整形:在整数末尾加大写字母 “L”或“l” ,表示长整型(long int)
long int a=123L
变量
1.变量的基础类型:
2.整形类型:
有符号数在内存中 第一位必须是 "符号位"
负数(补码)= abs(负数)的反码 + 1
abs(负数)= 负数的反码 + 1
类 型 | 字节数 | 取 值 范 围 |
short | 2 | ![]() ![]() |
int | 2 | ![]() ![]() |
4 | ![]() ![]() | |
long | 4 | ![]() ![]() |
long long | 8 | ![]() ![]() |
unsigned short | 2 | 0~(![]() |
unsigned int | 2 | 0~(![]() |
4 | 0~(![]() | |
unsigned long | 4 | 0~(![]() |
unsigned long long | 8 | 0~(![]() |
在打个比方:(2^15 - 1)
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
在打个比方:(- 2^15)由 abs(负数)= 负数的反码 + 1
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
大写字母 'A' 的 ASCII 代码是十进制数65
小写字母 'a' 的 ASCII代码是十进制数97
数字字母 '1' 的 ASCII代码是十进制数49
3.浮点型类型:
浮点型数据是用来表示具有小数点类型实数的, 通过小数点位置的浮动改变指数的值 使同一个数有不同的表现形式。
规范化指数形式: 小数点前的数为 0 ,小数点后第一位为不为 0 的数,如: 0.314159 e001 就是规范化指数形式
类 型 | 字节数 | 有效数字 | 数据范围(绝对值) |
float | 4 | 6 | 0以及 1.2![]() ![]() ![]() ![]() |
double | 8 | 15 | 0以及 2.3![]() ![]() ![]() ![]() |
long double | 8 | 15 | 0以及 2.3![]() ![]() ![]() ![]() |
16 | 19 | 0以及 3.4![]() ![]() ![]() ![]() |