C语言教程_03:printf()与转义字符
关于printf()
在上一节中我们以一个程序为例展开我们C语言学习的第一步,这节我们将再次以它为例:
1 |
|
在上一节我们介绍C程序结构时,我们并没有探讨printf()后面跟的()以及其中的内容。以上述程序为例子:
1 | printf("Hello, World! \n"); |
括号所构成的一个整体可以看作printf()的一个宾语,相当于语言学中的动宾结构。
而括号内的内容我们可以看到是由一对引号包裹在内的,并且当我们实际运行该程序时,这个引号并没有显示出来,而引号内的其他内容(除了\n)都被原样打印了出来。
由此我们可以知道printf()在打印时,会原样地打印出括号内引号所包裹的大部分内容。
那么,为什么\n不会被打印呢?
转义字符
转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加”"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
关于ASCII码大家可以自行或点击此处了解更多。
关于\n
在介绍printf()时,我们曾疑惑于为何\n不会被打印出来,而在刚刚我们了解到了转义字符,明白了转义字符的意义,同时也知道了转义字符不会被显示出来的机制。
那么\n所代表的是什么意思呢?
如果你尝试过在我们演示的代码里加入多行printf()而不加\n,你会发现这些内容前后连接到了一起;而如果你加入了\n,你会发现它们一行一行分布。
由此我们很容易才想到\n所起到的是换行的作用。
那么除了\n,还有哪些转义字符呢?
转义字符表
转义字符 | 意义 | 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 |
结语
转义字符是C语言中为数不多需要记忆的东西,但我们并不倡导死记硬背,你应当去尝试上述每一个转义字符,在实践中感受它们的作用。
评论
评论插件加载失败
正在加载评论插件