本章补充内容见14 格式化输入输出补充
1、printf函数
1.1、格式:
printf ( 格式串,表达式1 , 表达式2 ) ;
格式串 = 转换说明 + 普通字符
转换说明的数量与输出项的数量需相等且一 一对应,包括变量类型的对应printf("%d %d", a,b); //正确 printf("%d %d", a); //错误! printf("%d", a,b); //错误!
1.2、转换说明(含格式化信息)
格式:
% m.p X
例如:%3d
、`%3.4f
m —— 最小栏宽。指明要显示的最少字符数。数据实际位数大于m,则完整显示;小于则右对齐,左侧空格补齐。m为负则左对齐。对浮点型,m也包含小数位和小数点位。
- 举例:
原数据为1234,%3d输出为1234,%5d输出为·1234
(右对齐,左侧用空格补全)
p —— 精度。 依赖于转换类型X
- X是d(十进制整型)。p规定最小个数,不足则数字左侧补零。无p,则默认为1。
- X是e (指数,科学计数法)。p表示小数点后应该出现的数字个数,小数不足则后面补0,默认6位。p=0,则不显示小数点。
- X是f(定点十进制)p表示小数点位数。
- X是g(指数形式+定点十进制的浮点数)p表示指数的有效数字(不是小数点后的数字)的最大数量。不显示尾随的0,若无小数,则不显示小数点。
总结:m规定最小栏宽,p对浮点型规定最大小数位,对整型规定最小位数(与m略有不同)。
举例:
int i;
float x;
i = 40; x = 839.21f;
p