就业数据资源平台
当前位置:首页 > MS Office应用
程序员之程序设计知识点九

(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

就业数据资源平台