printf()输出格式大全(附 - 示例代码)

文章目录

  • 一、printf格式控制的完整形式:
    •  1、“[ ]”
    •  2、“[标志]”
    •  3、“[输出最小宽度]”
    •  4、“[.精度]”
    •  5、“[.数据长度]”
  • 二、小结


一、printf格式控制的完整形式:

%[标志] [输出最小宽度] [.精度] [数据长度] 数据类型字符
.

 1、“[ ]”

  表示该项为可选项,即不选也可。
.

 2、“[标志]”

  标志字符有 -、+、#、空格、0 五种

标志 说明
- 左对齐,默认为右对齐(输出实际长度<输出最小宽度,右边补空格)
+ 右对齐,正数输出(+),负数输出(-)(输出实际长度<输出最小宽度,左边补空格)
# 输出十六进制时,前面会加前缀(0x)
空格 正数输出空格,负数输出(-)
0 当实际位数少于最小宽度时在前面补 0

  示例

标志 示例 输出结果
- ("%-6d\n", 100) 100◡◡◡
+ ("%+6d\n", 100) ◡◡+100
+ ("%+6d\n", -100) ◡◡-100
# ("%#x\n",0x12) 0x12
空格 ("% d\n", 100) ◡100
空格 ("% d\n", -100) -100
0 ("%06d\n", 123) 000123

.

 3、“[输出最小宽度]”

  用十进制整数表示输出的最少位数,若实际位数多于定义的宽度,则按实际位数输出,实际位数少于定义的宽度则补以空格或 0。

.

 4、“[.精度]”

  用“小数点”加“十进制正整数”表示。

数据类型 十进制整数 说明
整型(d,i,o,u,x,X) 表示输出的最小的数字个数,不足则前面补零,超过则原长度输出
浮点型(a, A, e, E, f ) 表示小数点后至多输出的数字个数,不足则后面补数字0,多则做四舍五入处理
字符串(s) 表示最多输出的字符个数,不足则后面补空格,多则截断

  示例

数据类型(举例) 示例 输出结果
整型(d) ("%.6d\n", 123) 000123
整型(d) ("%.3d\n", 1234) 1234
浮点型(f) ("%5.3f\n", 1.12567) 1.126
浮点型(f) ("%5.3f\n", 1.12) 1.120
字符串(s) ("%.5s\n","123") 123◡◡
字符串(s) ("%.5s\n","12345678") 12345
.

 5、“[.数据长度]”

  可选的输出长度修饰符。

数据长度类型 说明
h 表示以短整型输出整数或以单精度输出浮点数
l 表示以长整型输出整数或以双精度输出浮点数
ll 表示以64位长整型输出整数

附1

举例 说明
%d = %ld 用来输出十进制整数,32位系统中占4个字节(32位)
(输出范围: -2147483647 ~ 2147483647 即 ( -0 x 7FFF FFFF ) ~ ( 0 x 7FFF FFFF ) )
%hd 短整型,32位系统中占2个字节(16位)
(输出范围: -32768 ~ 32767 即 ( -0 x 7FFF ) ~ ( 0 x 7FFF ) )
%lld 长整型,32位系统中占8个字节(64位)
(输出范围: -9223372036854775808 ~ 9223372036854775807 即 ( -0 x 7FFF FFFF FFFF FFFF ) ~ ( 0 x 7FFF FFFF FFFF FFFF ) )
%x = %lx 以无符号十六进制形式输出整数,32位系统中占4个字节(32位)
(输出范围: 0 ~ ( 0 x FFFF FFFF ) )
%llx 以无符号十六进制形式输出整数,32位系统中占8个字节(64位)
(输出范围: 0 ~ ( 0 x FFFF FFFF FFFF FFFF ) )
%f 用来输出实数(包括单、双精度),以小数形式输出,不指定宽度,整数部分全部输出并输出6位小数,小数位不够6位则在后面补0
.

二、小结

  • 欢迎纠正
  • ☆⌒(*^-゜)v THX!!
  • 码字不易,记得点小心心 ( •̀ ω •́ )✧

你可能感兴趣的:(#,printf(),stm32,单片机,printf)