输出那点儿事
printf函数是一个标准库函数,能够以精确的格式输出程序运算的结果
printf函数的调用格式:printf("格式控制字符串",输出项列表);
格式控制字符串
是由格式字符(包括:转换说明符、标志、域宽、精度)和普通字符组成,转换说明符和%一起使用,用来说明输出数据的数据类型、标志、长度和精度
格式控制的完整格式:“% - 0 m.n l或h 格式字符”
%:表示格式说明的起始符号,不可缺少
-:有-表示左对齐输出(右侧补空位),如省略表示右对齐输出(左侧补空位)
0:有0表示指定空位填0,如省略表示指定空位不填
m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数,未指定n时,隐含的精度为n = 6位
l或h:l对整型指long型,对实型指double型,h对整型指short型
格式字符用以指定输出项的数据类型和输出格式
d格式:用来输出十进制整数,例如:%d %hd %ld
o格式:以无符号八进制形式输出整数
x格式:以无符号十六进制形式输出整数
u格式:以无符号十进制形式输出整数
c格式:输出一个字符
s格式:用来输出一个串
输出项列表
可以是常量、变量和表达式,也可以没有输出项,这些输出项必须与格式控制字符串在类型和数量上完全对应,否则结果将不可预测。当有多个输出项时,各个输出项之间用逗号分隔
域宽问题
%d:按整型数据的实际长度输出,若想输出指定宽度可以指定域宽
%md:m域宽,打印出来以后,在控制台上,显示m位
如果我们要打印的数的位数如果超过我们设定 m 则原样输出
如果我们要打印的数的位数如果小于我们设定的位数,则补空白
如果m为正数,则左对齐(左侧补空白)
如果m为负数,则右对齐(右侧补空白)
%0md:位数不足部分补0
转义字符问题
如果想输出字符%,则应该在格式控字符串中用连续两个%表示