什么是转义字符,很多初学C语言的同学可能不太理解,大体可能只知道是反斜杠打头的两个字符,比如\n、\t这些
我们也都能理解是换行、制表符的意思,那么大家想想,这两个字符如果要用printf怎么打印呢? 首先它们不像字符A~Z或者数字0~9或者是$、#这些符号,是看得见的,因此很容易用printf双引号打印出来,一个回车换行、一个缩进这些都是看不到的符号,因此打印他们就要约定一个特殊的符号,这个符号打头的都作为转义字符处理,那么这个反斜杠\就是转义字符里统一的前缀了,这样就好理解了,比如\t表示制表符,\n表示换行,等等。
那么问题来了,要打印一个\符号怎么办?答案是两个反斜杠,即\\
如下表,是所有的转义字符,大家对照即可理解
转义字符 | 意义 | ASC码(十进制) |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符''\' | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\'' | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程