程序员之程序设计知识点九

发布时间:2019-02-04 18:29:38

(4) l指明输出项的类型。

长度修饰符l用于格式符d、i、o、u、x,表示对应的输出项是长整型或无符号长整型。

以下是格式输出的一些例子。例如,

int i=1234; long j=1234567l;

printf(”%d,%+6d,%06d,%-6d, %5ld”,i,i,i,i,j)

将输出:

1234, 1234,00l234,1234,1234567

注意:对于long型数据输出,必须在格式符之前有长度修饰符l,表明输出long型数据。

若 int k=045;long p=-1l;printf(”%#o,%4o,%6lo”,k,k,p)

将输出:

045, 45, 37777777777

而printf("%#x,%4x,%6lx”,k,k,p)将输出:

0x25, 25, ffffffff

若 unsigned int u= 65535u;prinif(”%d,%4u,%ln’,u,u,p)

将输出:

-l, 65535, 4294967295

若 char ch1= 045, ch2=’a’;printf(”%c,%-3c,%2c”,ch1,ch2,ch2)

将输出:

%,a, a

若 char s[]==”abcdef’;printf(”%3s,%4.2s,%-7.4s,%.5s”,s,s,s,s)

将输出:

abcdef, ab, abcd, abcde

若 float f=123.4567f; double d=123.456789;

printf(”%.4f,%8.3f,%-7.2f,%.7f",f,f,f,d)

将输出:

123.4567, 123.457, 123.46, 123.4567890

而 printf(”%.6e,%10.2e,%-10.2e,%.2e,%.9e”,f,f, f,f,d)

将输出:

1.23457e+02, 1.2e+02,1.2e+02,l.2e+02, 1.23456789e+02

注意:实型数据的有效位数,不要以为凡是打印(显示)的数字都是准确的。一般地,float型只有7位有效数字,double型有15位有效数字。实际上,因计算过程中的误差积累,通常不能达到所说的有效位数。

另外,要注意%g格式的特殊性,当它选择“整数部分.小数部分”形式时,因格式修饰说明.p在e格式中的意义是指明精度,所以p的值是整数部分位数与小数部分位数之和(不是f

格式中的小数位数)。如有

float g1=12.34f,g2=0.0f;

double d=123.456789, g=123456.789;

printf("%g,%g",g1,g2);

printf("%f,%g,%g,%g,%.8g"’,g1,g1,d,g,g)

将输出:

12.34,0

12.340000,12.34,123.457,123457,123456.79

阅读更多其他试题,请访问生活日记网 用日志记录点滴生活!考试试题频道。
喜欢考试试题,那就经常来哦

该内容由生活日记网提供.