在上一节我学完了数据的两种表现形式:常量(程序运行工程中不能改变的量)和变量。这节我继续学习常量,先做一个表总结常量的相关知识。
整型常量 | |
实型常量 | ①十进制小数形式 ②指数形式:e前要有数,e后要整数 |
字符常量 | 普通字符,由' ',字符常量只是一个字符,不包括' ',例如'a',a是字符常量。 常用ASCII对照:0→048,A→065,a→097 |
转义字符,以“\”开头的字符序列 易忘转义字符及其作用: \o,\oo,\ooo:其中o代表一个八进制数字 \xh[h...]其中h代表一个十六进制数字 | |
字符串常量 | 由" ",字符串常量不包含" "本身, 每个字符串以'\0'作为字符串结束符,C语言中因为没有字符串变量所以无法为其分配内存,但需要存储。 |
符号常量 | 不占内存 # define PI 3.14159 |
①初始字符串:字符串是一串字符,用双引号括起来的一串字符称为字符串字面值(string literal),简称字符串,\0是字符串的结束标志
int len=strlen("abc");
printf("%d\n",len);
此时输出结果为3,证明求长度时候,\0并不包含在其中。
如果是上面arr2的strlen的值,也会输出一个随机值,arr2编程{'a','b','c','\0'},输出strlen值为3,\0仍然不计入长度内。
②转义字符:
\t | 水平制表符 |
\v | 垂直制表符 |
\? | 旧版编译器是三字母词,??→ ] |
\a | 警告声音响起 |
\ooo | 八进制数 |
\xh[h...] | 十六进制数 |
\?:
int main()
{
printf("are??"); //三字母词: ??)→];vs2022不支持三字母词
return 0;
}
\ooo:
转义字符的长度:
③注释
注释是用来解释复杂代码的。
//→C++注释风格
/**/→C语言注释风格 ,有缺陷,不支持嵌套注释
④下表是数据类型汇总,*是C99增加的。
基本类型 | 整形类型 | 基本整形(int) 短整型(short int) 长整型(long int) *双长整型(long long int) 字符型(char) *布尔型(bool) |
浮点类型 | 单精度浮点型(float) 双精度浮点型(double) 复数浮点型(float_complex,double_complex,long long_complex) | |
枚举类型(enum) | ||
空类型(void) | ||
派生类型 | 指针类型(*) 数组类型([]) 结构体类型(struct) 共用体类型(union) 函数类型 |