printf()函数的转换说明修饰符和标记

Posted xiangzhong-com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了printf()函数的转换说明修饰符和标记相关的知识,希望对你有一定的参考价值。

printf()函数的转换说明、修饰符和标记:

表一 转化说明及其打印的输出结果

转换说明    

输出

%f 

浮点数的十进制计数法

%e或%E   

浮点数的e计数法

%a或%A   

浮点数的p计数法

%c 

单个字符

%d或%i   

有符号十进制整数

%u           

无符号的十进制整数

%o 

无符号的八进制整数

%x或%X

无符号十六进制整数

%%    

打印百分号

 

表二 printf()的修饰符

修饰符

含义

标记

详见表三

数字

例如:                   输出结果:

int a = 100;                   100

printf("%10d\\n", a);    100

printf("%2d", a);

解释:如果输出数字的宽度小于限定的宽度,则左边补空格;如果大于限定的宽度,则系统会自动用更宽的字段,即左边只输出该数字。

.数字

精度                    输出结果:

例如:                  3.14

float PI = 3.14159;     3.141590

int a = 10;

printf("%.2f\\n%.6f\\n",PI, PI);

解释:.后面的数字代表该数字小数点后面的位数,若限定的位数大于该数的小数点位数,则添0来达到限定的位数

j

如果要定义比unsigned long还要大的数,用intmax_tuintmax_t类型的数(记得添加头文件stdint.h

示例:%jd

l

和整型转换说明一起使用,表示long intunsignedlong int类型的值

示例:%ld %lu

ll

和整型转换说明一起使用,表示long long intunsigned long long int类型的值

示例:%lld %llu

L

和浮点转换说明一起使用,表示long double类型的值

示例:%Lf

z

和整型转换说明一起使用,表示size_t类型的值,size_tsizeof返回的类型

示例:%zd

 

表三 printf()中的标记

标记

含义

-

输出的结果左对齐

+

输出的数字若为正,则添+,否者添-

空格

示例:                     输出结果:

int a = 12;                12

int b = -12;              -12

printf("% d\\n% d", a, b);

输出的数字若为正,则保留空格,否则将负号代替空格

#

将结果转化为另外一种格式,比如打印八进制或十六进制为其添加各自的前缀,如八进制的前缀是0,十六进制的前缀是0x或0X;

0

对于数值格式,用前导0代替空格填充字段宽度。若是整数格式,出现了-格式或指定精度,则忽略该标记

 

请读者将每个转换说明、修饰符和标记相互结合打印数字或字符来加深对其理解,并灵活使用

下面是我给出的几个示例:

技术分享图片

 

 

 

技术分享图片

 

技术分享图片

 

技术分享图片

 

 

 

以上是关于printf()函数的转换说明修饰符和标记的主要内容,如果未能解决你的问题,请参考以下文章

Java基础知识回顾之二 ----- 修饰符和String

Java基础知识回顾之二 ----- 修饰符和String

访问修饰符和构造函数

printf的h和hh修饰符的用途是什么?

C连载18-转换说明,转换说明修饰符sizeof返回类型可移植

v-model的修饰符和使用