文章目录
printf函数是一种简单又基础的函数,可以说在刚开始学习编程时便认识它了,但它也有着一些很有趣的用法不知道大家是否知道。除了指定输出类型,它也可以限定最小宽度和小数位数、打印部分字符串。
1.用占位符指定输出类型
(1)printf()指定类型的方法
在printf
函数中用占位符指定输出类型应该是最常用的功能之一了。
在指定类型时占位符通常以 %
开头,后面加上字符来指定要输出的类型。占位符整体用双引号括起,比如printf("%d", 打印的内容)
,输出的便是十进制整数。
(2)占位符列举
以下是几个常见的占位符及其对应的数据类型:
%d:十进制整数
%f:浮点数
%c:字符
%s:字符串
其余还有:(按字母排序)
%a: 十六进制浮点数,字母输出为小写
%A: 十六进制浮点数,字母输出为大写
%e: 使用科学计数法的浮点数,指数的e为小写
%E: 使用科学计数法的浮点数,指数的E为大写
%i: 输出整数,基本等同于%d
%g: 6个有效数字的浮点数,整数部分一旦超过6位数,自动转换为科学计数法,指数的e为小写
%G: 与%g相似,但指数的E为大写
%hd:十进制 short int 类型
%ho:八进制 short int 类型
%hx:十六进制 short int 类型
%hu:unsigned short int 类型
%ld:十进制 long int 类型
%lo:八进制 long int 类型
%lx:十六进制 long int 类型
%lu:unsigned long int 类型
%p:打印十六进制的地址
2.可限定占位符的最小宽度
想限定输出数据的最小宽度,只要在占位符前添加想要的最小宽度就行了。
(方式一)空在前面
直接在%
后添加正整数
比如printf("%5d", 123)
,意思便是限定最小宽度为5位数,如果整数位数不足五位数,在最高位前面添加空格补全五位数。输出结果:_ _ 123(这里用下划线表示空格)
(方式二)空在后面
在%
后添加负整数
比如printf("%-5d", 123)
,同样是限定最小宽度为5位数,但在整数位数不足五位数时是从最低位开始添加空格补全五位数。输出结果:123 _ _
3.输出字符串常量
在 printf 函数中,我们可以直接打印出想要的字符串常量,打印时字符串常量需要用双引号括起。比如printf("hello word")
4.总显示正负号
这是printf()
的一个特点,它可以打印出具有正负号的数字,打印时默认为整数,正号省略不写。(即使加上正号也不会打印出来)
6.可限定小数位数
【1】限定小数位数
打印浮点数时可以限定浮点数的小数位数,小数位数多则四舍五入舍去,少则补零。
具体写法为在%
加.
加想要的小数位数。比如printf("%.3fn", 3.1415926)
,就是小数位后取三位小数。
(1)舍去示例:
(2)补零示例:
【2】关于"."的符号的讲解
如果我们想既限定最小宽度,又想限定小数位数那该怎么办呢?如果同样是在%
后添加数字无疑就很容易弄混淆。这是.
的作用就显得至关重要了。
限定小数位数时.
的作用便是将限定最小宽度和小数位数的数字隔离开。在.
前写最小宽度,在后面写小数位数。
比如printf("%5.2fd", 3.1415)
的输出结果便是:_ 3.14 (小数点也占一个宽度)
其实可以认为最小宽度默认为零,只是不显示。所以在之嫌定小数位数时也依旧需要写.
7.只打印部分字符串
如果一个字符串很长,你只需要其中一部分,printf() 也可以只打印出其中一部分。
比如在字符串“abcdef”中我只需要“abc”,那我就可以写printf("%.3s", "abcdef")
。写法与限定小数位数的写法相似,只是将输出类型从整形变成了字符串。
输出结果是:
结语
以上便是本文的全部内容,如有错误或改进之处也欢迎留言给作者,感谢观看。