前言
刚开始学C语言时,在使用
printf
进行格式化输出时,感觉好乱好杂,记不住.
今天刷题,需要用格式化输出,然后又重新回顾了printf
格式化输出
现在看来,挺容易理解的.
printf格式化输出
基本的数据格式
下面说几种常用的格式,都是在C语言编程中常用的,多练就能熟练,楞背可能记得不牢固
格式控制符 | 意义 |
---|---|
%o | 以八进制整形 |
%d | 十进制整形 |
%x | 十六进制整形 |
%f | 输出浮点数,默认小数点后6位 |
%lf | 输出双精度实数(就是比float更精确),可以精确到小数点后16位,默认6位 |
%c | 输出单个字符 |
%s | 输出字符串 |
%% | 输出一个百分号% |
都是基于上面的基本数据类型进行修饰的
以%d
为例
格式修饰符 | 意义 |
---|---|
%smd | 域宽为m,大于m就正常输出,小于m则左边补s,凑够m位,s省略默认补空格 |
%.nf | 控制输出小数点后n位 |
案例分析
int a = 23;
printf("%d",a);正常输出23
printf("%5d",a)域宽为5,但是a长度只有2,所以默认左边补空格,凑够到5位
printf("%05d",a)输出域宽为5,但是a长度只有2,则默认左边补0,凑够到5位
float b = 2.3;默认会是小数点后6位
float在输出时会自动根据精度四舍五入
printf("%.2f",b精确到小数点后2位
printf("%10lf",b)域宽是10,就是整数部分加上小数部分再加上小数点一共10位,不够左边补空格
结果