printf的格式声明

本文详细介绍了printf的格式声明,包括标志(如-,+,0等)对齐和符号的影响,宽度和精度在控制输出格式时的作用,以及长度修饰符如h和l对数据类型的调整。同时提到了scanf中读取浮点数的注意事项,以及输出超大数据时的处理策略。
摘要由CSDN通过智能技术生成

1.printf的格式声明

%[标志][宽度][.精度][长度]类型

(1)标志

-:左对齐,printf输出数据默认为右对齐

+:当一个数为整数时,前面加上一个+符号,输出整数或小数的时候会显示正负号。

0:右对齐时,会用0 填充左边的空缺,默认的时候用空格填缺。

空格:输出正数的时候前面为空格,输出负数的时候前面带-符号。

#:%o和%x输出是加上八进制和十六进制的前缀。

注:printf默认输出右对齐,如果加上+,面对正数的时候会加上+,符号不受印象。

0只会在右对齐的时候起作用。

(2)用scanf读取浮点变量的时候,float使用%f,double使用%lf

printf输出浮点类型变量的时候float和double使用%f和%lf都可以

(3)宽度:用十进制数来表示输出数据的最小位数,若实际位数少于定义的宽度则补0或者空格。

注:使用的时候注意对齐方式。printf默认右对齐。

(4)精度:精度格式以字符“.”开头,后面跟上十进制整数,主要作用于浮点型数据,表示输出小数后面的尾数,如果作用于正数数据则按照一定的宽度输出数据,左侧空缺填充0。如果超出精度就会截取超出部分(四舍五入)

注:精度和宽度混用会如何??

对于整数类型混用精度和宽度,在右对齐的情况下,宽度情况下实际长度小于宽度则前面以空格填充;精度则是以0填充。

若果是左对齐的情况下,在宽度的情况下后面以空格填充,精度的情况下则还是以0填充

对于浮点数类型混用,则有些麻烦注意不要混用就好了

(5)长度:程度格式控制字符包括h和l两种,h表示按短数据类型输出。l表示按长数据类型输出。例如:%lf%hf

注:输出的数据极大超出范围的时候怎么解决?(Java中如何解决?记得处理再次做好标记防止忘记。)

对于更大的整数,c的基本数据类型就无能为力了,常用方法是利用数组进行范围扩大。如果只是输出可以用字符串(如果再有再补充)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值