c++printf控制位数_printf()函数的这个⽤法,我猜你⼀定不
知道
printf()这个函数,但凡学习编程的童鞋们,那应该是没有⼈不知道的,很多童鞋⼀看,就会想,不就是输出数据吗,这有什么可讲的?
但是!童鞋,请你童鞋,你真的了解printf()吗?你真的会⽤printf()吗?是的,会⽤,会输⼊⼀个单词,会输出⼀个数据,会输出⼀句话。但是!
输出⼏个数据,默认右对齐,左边⽤“*”符号填充,数据宽度为10,精度为6。
如果不会,请参看上个表情包,然后认真听讲,记笔记。
printf()函数为格式化输出函数,函数最后⼀个字符‘f’就表⽰“格式”(format)的意思,它的功能是按照⽤户指定的格式将数据输出到屏幕上。下⾯呢是printf()函数的调⽤形式。
printf("格式控制字符串", [输出列表]);
格式控制字符串⽤于指定输出格式,它由格式控制串和⾮格式控制字符串组成。格式控制字符串以符号%开头,后⾯跟有各种格式控制字符,指定输出数据的类型、形式、长度、精度等,格式控制字符串的具体形式看下⾯。
"%[标志][宽度][.精度][长度]类型"
标志、宽度、精度、长度等都是可选的,但“%类型”是必须要指定的,⽐如以%c格式输出⼀个字符,以%d输出⼀个整数。
说完格式,下⾯拆解细讲每⼀部分。
第1点类型
printf()函数可以输出任意类型的数据,如整型、字符型、浮点型数据等,它常⽤的输出类型格式控制字符如下表。
使⽤输出类型格式控制字符可以输出不同类型的数据,⽰例代码。
printf("%c", 'H'); //以%c格式输出字符'H'
printf("%s", "Hello, world!n");//以%s格式输出字符串"Hello, world!"
printf("%d", 100); //以%d格式输出整数100
printf()函数就会按照指定的类型输出后⾯的参数数据,每⼀个格式控制字符对应⼀个参数,如果要连续输出多个数据,就要相应的要使⽤多个控制字符。
printf("%d%d%dn", 1, 2, 3); //使⽤3个%d输出三个整数1、2、3
printf("%fn%cn", 2.1, 'a'); //使⽤%f与%c输出2.1与字符'a'
第1⾏输出三个连续整数,1、2、3这三个整数会⾃动与3个%d从前往后匹配。第2⾏代码也是如此,浮点数2.1会⾃动与%f匹配,字
符‘a’会⾃动与%c匹配。
第2点标志
printf()函数中的标志字符⽤于规范数据的输出格式,如左对齐、右对齐、空缺填补等,标志符有“-”、“
+”、“0”、空格、“#”五种。
printf怎么输出字符第3点宽度
⽤⼗进制整数来表⽰输出数据的最少位数,若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。以不同的宽度输出数据123,⽰例代码如下。
printf("%5dn", 123); //设置宽度为5
printf("%10dn", 123); //设置宽度为10
上述代码输出结果如下图。
printf()输出数据默认是右对齐,当数据实际位数少于设置的宽度时,左侧以空格填充。我们也可以结合标志位调整对齐⽅式或者以0填充左侧空缺。
printf("%dn", 123);
printf("%-5dn", 123); //添加“-”符号,左对齐输出
printf("%010dn", 123); //添加0,左边以0填充
上述代码的运⾏结果如下图。
添加“-”符号标志位输出数据,第⼆个123变成了左对齐,添加“0”标志位后,第三个123左侧空缺以0填充了。读者可尝试使⽤其他标志位输出数据查看输出格式的变化。
第4点精度
精度格式以字符“.”开头,后⾯跟⼗进制整数,精度主要作⽤于浮点型数据,表⽰输出⼩数点后⾯的位数。如果作⽤于整型数据,则表⽰按照⼀定宽度输出数据,左侧空缺填充0。在使⽤精度输出时,若实际位数⼤于所定义的精度数,则截去超出的部分。
精度的使⽤⽰例代码如下所⽰:
printf("%fn", 1.234567); //默认输出⼩数点后6位
printf("%.8fn", 1.234567); //输出⼩数点后8位,后⾯填充0
printf("%.3fn", 1.234567); //输出⼩数点后3位,截断超出的部分
printf("%.6dn", 123); //输出123的宽度为6,左侧填充0
上述代码的运⾏结果如下图。
第5点长度
长度格式控制字符包括h、l两种,h表⽰按短数据类型量输出;l表⽰按长数据类型输出。长度格式控制输出⽰例代码如下:
printf("%hdn", 123); //按短数据类型输出
printf("%lfn", 1.23); //按长数据类型输出
长度格式控制在printf()函数中不常使⽤,我们能够了解就可以了。
怎么样,这下还敢说你会⽤printf()函数吗?但凡我们越觉得简单的事物,越蕴含着万千道理,特别在学习编程时,万不可⼩看任何⼀个知识点。关于printf()函数呢,今天我们就讲到这⾥,如果想进⾏更深⼊的学习,请关注⿊马程序员参与更多互动。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论