C 语言中的 printf() 格式输出
作为 C 语言中主力的标准输出函数, printf 为我们提供了丰富的格式选项。
1. 格式参数
首先列举一下 printf 全部的参数:
% [标志位] [显示占位宽度] [精度] [数字长度] 说明符
这里面用括号包裹的内容为可选参数,我们分项来介绍上面的各项参数,首先从最常用的说明符开始介绍:
说明符 | 参数含义 | 输出示例 |
---|---|---|
o | 无符号八进制数 | 410 |
x | 无符号十六进制数 | 7ff |
X | 无符号十六进制数(表示数字的字母部分大写) | 7FF |
d 或者 i | 有符号十进制整数 | -3245 |
u | 无符号十进制整数 | 3421 |
f 或者 F | 十进制浮点数 | 3.14 |
e | 科学计数法 表示指数的e小写 | 3.142333e+2 |
E | 科学计数法 表示指数的e小写 | 3.142333E+2 |
g | 在 %e 和 %f 格式中,自动选择最短的输出格式 | 3.14 |
G | 在 %E 和 %F 格式中,自动选择最短的输出格式 | 3.14 |
c | 字符 | h |
s | 字符串 | hello |
p | 指针地址 | 8ffff |
接下来是标志位的介绍。
标志位 | 参数含义 |
---|---|
- | 向左对齐,默认是向右对齐 |
+ | 强制显示正负号,在默认情况下对于只有负数的时候才显示负号 |
再下来介绍宽度参数:
宽度 | 参数含义 |
---|---|
(数字) | 显示的最小宽度。如果要显示的内容达不到最小宽度数值,那么用空格补齐。 |
然后介绍显示精度的参数。
精度 | 参数含义 |
---|---|
(数字) | 最小精度的数值 |
最后的数字的长度的问题比较复杂,所以通过对比表格展示了参数使用前后的区别。表格第一行表示不使用参数的情况下的显示。
数字长度 | d i | u o x X | f F e E g G | c | s |
---|---|---|---|---|---|
(none) | int | unsigned int | double | int | char* |
hh | signed char | unsigned char | |||
h | short int | unsigned short int | |||
l | long int | unsigned long int | wint_t | wchar_t* | |
ll | long long int | unsigned long long int | |||
j | intmax_t | uintmax_t | |||
z | size_t | size_t | |||
t | ptrdiff_t | ptrdiff_t |
2. 实例参考
下面我们来看下 printf() 函数的具体使用:
显示效果:
Characters: a
Decimals: -1977 +650000
Preceding with blanks: 1977
Preceding with zeros: 0000001977
Some different radices: 100 64 144 0x64 0144
floats: 3.14 +3e+00 3.141500E+00
A string
3. 小结
对于 printf 函数, C 语言中提供了非常多的显示格式的选项,以方便大家用来与用户进行交互使用。
这里里面的必选项是说明符,也就是说明你要是显示的数据的类型。而诸如标志位,显示占位符,显示数字的精度,数字的长度等参数都是可选参数,根据你要显示的需求和显示的屏幕的情况来自己选择。
还有一点请记住,在使用这个函数的时候,不要忘记引用这个函数所在的程序库,也就是 #include <stdio.h>
,要添加在程序的起始位置上。
本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。