转义字符
转义字符的初衷是用于ASCII编码,所以它的取值范围有限:
- 八进制形式的转义字符最多后跟三个数字,也即\ddd,最大取值是\177;
- 十六进制形式的转义字符最多后跟两个数字,也即\xdd,最大取值是\7f。
超出范围的转义字符的行为是未定义的,有的编译器会将编码值直接输出,有的编译器会报错。
对于ASCII编码,0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显示器上显示,甚至无法从键盘输入,只能用转义字符的形式来表示。不过,直接使用ASCII 码记忆不方便,也不容易理解,所以,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下:
转义字符 | 意义 | ASCII码值(十进制) |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) | 009 |
\v | 垂直制表(VT) | 011 |
\' | 单引号 | 039 |
\" | 双引号 | 034 |
\\ | 反斜杠 | 092 |
\n和\t是最常用的两个转义字符:
- \n用来换行,让文本从下一行的开头输出,前面的章节中已经多次使用;
- \t用来占位,一般相当于四个空格,或者 tab 键的功能。
单引号、双引号、反斜杠是特殊的字符,不能直接表示:
- 单引号是字符类型的开头和结尾,要使用\'表示,也即'\'';
- 双引号是字符串的开头和结尾,要使用\"表示,也即"abc\"123";
- 反斜杠是转义字符的开头,要使用\\表示,也即'\\',或者"abc\\123"。