乌鲁木齐编程培训分析你可能不知道的printf用法
首先,printf的以下四种用法大家应该都很熟悉。
此外,各种转义字符如\n,\t,\r,\b不再解释,因此您可以自己查找表。
我们专注于以下功能:
1.多级转换功能。
除了上面截图所示,我们可以输出常规的字符、数字、字符串和小数,也可以输出我们想要的十进制对应的八进制和十六进制数字。如下图所示,输出99及其对应的八进制和十六进制数,便于输出的快速转换:
但是注意,程序中没有二进制!
2.控制输出为宽且左右对齐。
以%d为例。默认情况下,我们输出的所有数字实际上都被占用了,如下图所示:
当我们想要输出每个固定宽度的数字时,我们可以添加一个介于%和d之间的数字来表示位宽。例如,如果它占用10位,它将被写入%10d。效果如下:
看到了吗?如果你想让他们从左边开始,就把10换成-10。试试看:
此时,它仍然占据10个字节,虽然肉眼看不见!
3.十进制数字控制。
你在定义float和double类型的时候遇到过这样的情况吗?
浮点数只有两个有效的小数,而%f默认输出六位数,所以会有四个额外的零。我想做什么?答:控制小数位数。
如何控制?在%和f之间加上. 2,变成. 2f,效果如下:
如果预留5位,%.5f等等,可以和上面提到的控制位宽和对齐方向同时使用。让我们看看:
一共5位,向右对齐(这里抛出一个问题,如果这里的位宽比实际的4位少3位怎么办?请考虑一下自己的动手测试)
**近怎么样?你学会了吗?
4.*的用法。
*在printf中可以表示一个pan整数,可以表示任意整数。它可以出现在位宽的位置,也可以出现在小数位的位置。
但是在printf的双引号之外,必须有一个与*对应的值。
例如,我的位宽是不确定的,如果我想用整数a表示,我可以写成:
说输出浮点数a,占b宽度,你能理解吗?
同样,可以左对齐,也可以用*号表示小数位。注意*和数字的对应关系。如下所示:
5.返回值的作用和用法。
很多同学问我printf的返回值是什么意思。在此之前,我可以参考《几道C语言笔试题》一文中**题的讲解。
printf的返回值是一个整数类型,它是打印的字符数,而不是几个数字或字符。与位宽的概念一致,例如。
请注意,此处\ n转义字符也算作一个。
以上,当你亲自在电脑上测试时,很容易理解。
如果您有任何问题,请随时留言联系我们!
关于乌鲁木齐编程培训,咱们今天就先讲述到这里,如果你还有任何疑问,或对于乌鲁木齐计算机培训等还有想要了解的地方,可以电话咨询,当然也可以在线咨询我们的客服哦!
【如果您还没有关注“公司名称”手机网站】