printf()函数输出数据格式汇总

总结几个常用的printf输出数据格式:

1、整型:

%d,十进制整型;------->有符号的十进制整型

%ld,十进制长整型;

%3d,位数为3,不足在左边补空格;

%-3d,位数为3,不足在右边补空格;(-可以理解为非,默认是在左边加0和空格的,-表示不是在左边,那就是在右边了?)

%05d,位数为5,不足的在左边补0 //不可能在右边补0

%u,无符号十进制整型;

%lu,无符号十进制长整型;

%o,无符号八进制整型;//形如012

%lo,无符号八进制长整型;

%x,无符号十六进制整型;//形如0x12

%X,无符号十六进制整型大写;//形如0xAA

%04x,位数为4,不足的在左边补0-------------------->经常使用

%lx,无符号十六进制长整型;

此外,还有:

%llu 64位无符号

d,lx,ld,,lu,这几个都是输出32位的

hd,hx,hu,这几个都是输出16位数据的,

hhd,hhx,hhu,这几个都是输出8位的,

lld,ll,llu,llx,这几个都是输出64位的,

ps:在上述的整型显示中,对于十六进制数,并没有有符号输出形式,全是无符号,因为此时是以二进制数(对应十六进制数)形式展示的,不存在符号位。只有转换成对应的十进制数时,才有符号的概念。

以下为转载:c语言的输出默认的是左对齐还是右对齐_三余丨无梦生-CSDN博客_默认左对齐

左对齐还是右对齐是在有对齐的需要的时候才有意义的。由于你并没有指定每个int值输出的长度,因此int值有多长就会输出多长,此时没有讨论左对齐或者右对齐的意义。

你只有加上%10d的时候(10只是我举的例子),这时候限定了int值输出长度为10,而12345这个int值的长度为5,这时候就有左对齐还是右对齐的分别了。

#include <stdio.h>

void main(){

printf("%10d\n%10d\n%10d\n",12345,1234,123);

}

 如果你使用%-10d这时候就是:

2、实型:

%f   float

%lf  double实型;

m.n:m指域宽,即实型数所占的总的位数,包含小数点(并不是整数部分的位数!!)。n指精度,即实型数的小数位数。

未指定n时,隐含的精度为n=6位。即%f的话,输出的是6位小数。

%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。 
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。

m的存在,与整型变量的位数类似,主要是为了保持数据的整齐。

其实,我们有时候不写m,而只关心小数位数

    float fvalue = 342.588888;
    printf("%f\n",fvalue);
    printf("%.2f\n",fvalue);
    printf("%.0f\n",fvalue);//整数被四舍五入
    printf("%2.2f\n",fvalue);//总列数少于整数位数+保留的小数位数
    printf("%8.2f\n",fvalue);//总列数(包含小数点)大于整数位数+保留的小数位数,左边补空格
    printf("%08.2f\n",fvalue);//总列数(包含小数点)大于整数位数+保留的小数位数,左边补0

3、字符:

%c,字符

4、字符串

%s,字符串

%7s,字符串,不足7位的在左边补空格//形式跟int一样

%07s,字符串,不足7位的在左边补0//形式跟int一样

5、指针

%p,指针

printf输出格式可以根据格式控制字符串中的格式说明符进行指定。格式说明符由百分号(%)和其他字符组成。常见的格式说明符包括:%d(整数)、%f(浮点数)、%c(字符)、%s(字符串)等。\[1\]在格式说明符后面可以添加一些选项,如m.n(m表示域宽,n表示精度)来控制输出格式。例如,%2.2f表示输出一个浮点数,总列数少于整数位数+保留的小数位数,左边补空格。\[2\]另外,还可以使用一些修饰符,如-表示左对齐输出,0表示指定空位填0。\[1\]所以,printf输出格式可以根据具体的格式控制字符串来灵活指定。 #### 引用[.reference_title] - *1* *3* [printf()输出格式大全](https://blog.csdn.net/zwmwcj/article/details/48765627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [printf()函数输出数据格式汇总](https://blog.csdn.net/modi000/article/details/104670334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值