今天完成了初级阶段的学习,其实以前在开发单片机的时候用过C语言,但是没有系统的学过,所以再次学习感觉能够查缺补漏。
C语言中的printf( )函数是一个很重要的函数。printf( )中的字符包含了三种:
(1)以%开头的格式控制字符
(2)以 \ 开头的转义字符
(3)普通字符
在printf函数中一旦出现格式控制字符%和转义字符 \ ,他们会立即寻找后面紧跟着的字符进行组合。这里我进行了简单总结:
#格式控制符#
%i---输出一个整型数;
%d---输出一个整型数;
%f---输出一个浮点数;
%e---输出一个浮点数,科学计数法;
%g---输出一个浮点数,当指数小于-4或者大于5,则运用科学计数法,否则正常显示浮点数; %c---输出一个字符; %o---输出一个八进制的整型数,前面不带0; %#o---输出一个八进制的整型数,前面带0; %x---输出一个十六进制的整型数,前面不带0x; %#x---输出一个十六进制的整型数,前面带0x, 如果x大写,则显示的时候也是大写。 %u---不带符号的十进制整数。 %%---输出一个%。#转义字符#
\n 回车换行
\t 横向跳格(相当于tab)
\v 竖向跳格(打印机专用)
\r 回车
\f 换页(打印机专用)
\b 退格(相当于backspace)
\\ 反斜杠字符\
\' 单引号 '
\" 双引号“
\ddd 以八进制形式代表的ASCII字符
\xhh 以十六进制形式代表的ASCII字符
\0 空值
下面是本次感悟的重点:\n 和 \r 这两个转义字符的具体含义:
(1)二者都有“回车”的意思,那么“回车”是什么意思呢?如果能搞清楚回车的含义,就可以很清楚知道这两个转义字符的区别了。
回车这个词,其实是来源于针式打字机(一些谍战片能看到,例如《北平无战事》第44集)如下图:
最后一张图中那个装铸造字体的机构就叫字车,因为它还要左右移动,象固定在轨道上的车一样,故称为字车。
◆打字的时候,字车由左向右移动,打完一行,要将字车回到最左边,这个过程可以理解为“回车”,所以回车的意思就是将字车回到首列。而如果要继续打字,就要将字车移到下一行,继续从左到右,一个一个打字。
现代计算机语言中延续了“回车”的概念,而以前打字机的字车的概念等同于现在的屏幕上光标,所以科学家在设计C语言时,采用了“回车”的这种概念:
‘\r’就是将光标移到本行的首列。
回车换行的‘\n’就是将光标移到本行首列以后换行(移到下一行)。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx