#C语言学习感悟# printf( )函数中的回车‘\r’与回车换行'\n'之我见。

今天完成了初级阶段的学习,其实以前在开发单片机的时候用过C语言,但是没有系统的学过,所以再次学习感觉能够查缺补漏。

C语言中的printf( )函数是一个很重要的函数。printf( )中的字符包含了三种:

(1)以%开头的格式控制字符

(2)以 \ 开头的转义字符

(3)普通字符

在printf函数中一旦出现格式控制字符%和转义字符 \  ,他们会立即寻找后面紧跟着的字符进行组合。这里我进行了简单总结:

#格式控制符#

%i---输出一个整型数;

%d---输出一个整型数;

%f---输出一个浮点数;

%e---输出一个浮点数,科学计数法;

扫描二维码关注公众号,回复: 1441478 查看本文章
%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’就是将光标移到本行首列以后换行(移到下一行)。

猜你喜欢

转载自blog.csdn.net/ylm1521/article/details/80557866