【C语言_printf()】教你如何使用printf(),格式化输出

printf()

函数概要:

printf 函数用于打印格式化字符串到标准输出流。

函数原型:

 #include 
 ...
int printf ( const char * format, ... );

参数解析:

1、format 参数

format 参数是一个格式化字符串,由格式化占位符和普通字符组成。

格式化占位符(以 % 开头)用于指明输出的参数值如何格式化。

格式化占位符的语法如下:

%[flags][width][.precision][length]specifier

每一个格式化占位符均以 % 开始,以转换字符结束。

specifier

转换字符,必选

)的内容及含义如下:

转换字符 参数类型;转换结果
c char;字符
d int;有符号十进制整数
i 同上
e double;以指数形式输出单、双精度浮点数(小写 e)
E 同上(大写 E)
f double;以小数形式输出单、双精度浮点数
g double;以 %f 或 %e 中较短的输出宽度输出单、双精度浮点数(指数显示小写 e)
G 同上(指数显示大写 E)
o unsigned int;无符号八进制(无前导 0)
s char *;字符串
u int;无符号十进制
x unsigned int;无符号十六进制(无前导 0x)
X 同上(无前导 0X)
p void *;指针值
n int *;存放已写字符的个数
% 不进行参数转换;% 自身

注:如果 % 后边的字符不是转换字符,则其行为没有定义。

格式化字符%

【C语言_printf()】教你如何使用printf(),格式化输出_第1张图片

不同数据类型中的使用

整数


%o八进制
%d十进制
%x十六进制
%10d右对齐,取10位,不够则补位
%-10d左对齐,取10位,不够则补位
%010d右对齐,取10位,不够则补0
%-010d左对齐,取10位,不够则补00不显示)
%+010d右对齐,显示正号,取10位,不够则补0
%-+010d左对齐,显示正号,取10位,不够则补00不显示)

重点:
%010d右对齐,取10位,不够则补0
%-010d左对齐,取10位,不够则补0(0不显示)
%+010d右对齐,显示正号,取10位,不够则补0
%-+010d左对齐,显示正号,取10位,不够则补0(0不显示)

【C语言_printf()】教你如何使用printf(),格式化输出_第2张图片
【C语言_printf()】教你如何使用printf(),格式化输出_第3张图片

字符串

%s直接输出字符串
%20s右对齐,取20位,不够则补位
%-20s左对齐,取20位,不够则补位
%.2s截取2位字符串
%20.2s20位占位符,截取2位字符串

浮点数

%f保留小数点后面六位有效数字
%.3f保留3位小数位
%e保留小数点后面六位有效数字,指数形式输出
%.3e保留3位小数位,使用科学计数法
%g在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
%.3g保留3位有效数字,使用小数或科学计数法

引用

  1. 默认的格式输出是左对齐的,如 %d

  2. %md 可以使不足m位的int型变量以m位进行右对齐输出,其中高位用空格补齐,如果变量本身超过m位则保持原样

  3. %0md 右对齐,和%md的唯一不同在于:当变量不足m位时,将在前面补足够数量的0而不是空格

  4. %-md 左对齐,低位用空格补齐

  5. %.mf 让浮点数保留m位小数输出

(ps: 在用scanf()函数对double 类型的变量进行输入时,要用%lf; 用printf() 函数对double
类型变量输出时,用%f 、%lf 均可)
原文链接

reference

参考python链接:

你可能感兴趣的:({05}C语言,c语言,开发语言,python,java)