类型 处理

23 篇文章 0 订阅
类型 打印



unsigned  无符号类型

%u打印变量,绝对不会出现负数

八进制和十六进制总是作为无符号类型处理

l <L> 修饰符只对用于整数的格式码有意义


size_t 

为了系统之间的移植而定义

32位系统上, 定义为 unsigned int
64位系统上,定义为  unsigned long
更确切的说
32位系统上是32位无符号整型
64位系统上是64位无符号整型





char类型

char类型存储字母和标点符号之类的字符
char类型实际存储和操作的是整数而不是字符
“  %c”,打印出字符类型
%d”,打印出整数类型

unsigned char ( 0--255)
signed char ( -128-- 127)

显示原则:数据转换成补码,取低八位,十进制显示

65表示大写字母A

97表示小写字母a


浮点类型

float(单精度)类型表示6位有效数字.4个字节32位存储一个浮点数

8位用于表示指数及其符号,24位用于表示非指数的部分及其符号

double(双精度)类型表示10位有效数字.8个字节64位存储一个浮点数

通过f或F后缀使编译器把浮点常量当作float类型. 2.3f 

%g    打印double和float类型,去掉数字尾缀的0,保留6位有效数字

%%   用于打印一个%符号





位、字节和字

最小存储单位称为位(bit).可以容纳两个值(0或1)

字节是常用的计算机存储单位.一个字节均为8位

字是自然的存储单位


类型 格式

宽度修饰符

宽度修饰符对任何格式码都有效,甚至%%也不例外

若待打印的数值不能填满位置,它的左侧就会被补上空格字符

%md     指定以宽度m输出数据

%0md   以宽度m输出数据,不足m,左补0

%m.nf   以宽度m输出实型小数,小数点后位数为n位






精度修饰符

作用是控制一个数值的表示中将要出现的数字位数,或者用于限制将要打印的字符串中应该出现的字符数

%.md %.mo  %m.x  %.mu    指定了打印数字的最少位数

若待打印的数值并不需要这么多位数的数字表示,前面补上0

%.me  %.mE  %.mf  指定了小数点后应该出现的数字位数

%.mg  %.mG   指定了打印数值中的有效数字位数

%.ms  指定了将要从相应的字符串中打印的字符数 

%c和%%,精度修饰符将被忽略





标志

微调格式项的效果

显示宽度大于被显示位数时,数据尾部以显示区的右端对齐,左端则被填充空白字符

-   要求显示方式改为左端对齐,在右端填充空白字符

+  规定每个待打印的数值在输出时都应该以它的符号(正号或负号)作为第一个字符

空白字符作为标志字符,含义是:若某数是一个非负数,就在它的前面插入一个空白字符

 #   %#x与%#X要求打印的十六进制数值前面分别加上0x或0X
     
       %#o 要求打印的八进制数值前面加上0

#对浮点数格式的影响

一:要求小数点必须被打印出来,即使小数点后没有数字也是如此

二:若用于%g或%G格式项,打印出的数值尾缀的0将不会被去掉





可变域宽与精度

printf函数可以间接的指定域宽和精度,用 * 替换域宽修饰符或精度修饰符 






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值