//4-7.c --- 字段宽度
#include <stdio.h>
#define PAGES 931
int main (void)
 
{
       printf ("*%d*\n",PAGES);
       printf ("*%2d*\n",PAGES);
       printf ("*%10d*\n",PAGES);
       printf ("*%-10d*\n",PAGES);
       return 0 ;
}
 
运行结果:
        *931*
*931*
*       931*
*931       *
Press any key to continue
/*第一个转换说明是不带任何修饰符的%d 它生成一个与要打印的整数宽度相同的字段.第二个说明符是%2d,它指示产生宽度为2的段
 但是由于这个整数的宽度就是3位数,所以字段自动扩展以适应数字的长度。下一个%10d转换说明书,它产生一个有10个空格的字段于是在931前有7个空格
 并且数字位于整个字段的右端。最后一个%-10d产生一个左对齐(左对齐是-u产生的)的10个字符的字段
*/
 
//4-8.c ------- 一些浮点数的组合
#include <stdio.h>
#define RENT 3852.99
int main (void)
 
{
       printf ("*%f*\n",RENT);
       printf ("*%e*\n",RENT);
       printf ("*%4.2f*\n",RENT);
    printf ("*%3.1f*\n",RENT);
       printf ("*%10.3f*\n",RENT);
       printf ("*%10.3e*\n",RENT);
       printf ("*%+4.2f*\n",RENT);
       printf ("*%010.2f*\n",RENT);
       return 0 ;
}
/* 本例默认格式%f开始。它有两个默认项目一个是字段宽度和小数点右边的数目。字段宽度值是6个数字,字段宽度就是存储数字的所用的空间
   接下来是%e默认格式,它在小数点的左则打印一个数字,在小数点的右则打印6个数字。最后+标志使得结果数字和代数符号一起打印
   0标志产生前导零以填充指定的字段宽度。注意%010.2f中第一个0是标志剩余的数字(10)才是字段宽度。
   */
/*运行结果:
       *3852.990000*
*3.852990e+003*
*3852.99*
*3853.0*
*  3852.990*
*3.853e+003*
*+3852.99*
*0003852.99*
Press any key to continue
 
*/
 
//4-9.c --- 一些格式标志的使用示例
#include <stdio.h>
int main (void)
 
{
       printf ("%x %X %#x\n",31,31,31);
       printf ("*%d*% d*%d*\n",42,42,-42);
       printf ("*%5d*%5.3d*%05d*%05.3d*\n",6,6,6,6);
       return 0 ;
}
/*第一和第二个比较简单不说了:看第三个如何在整数格式中使用精度说明符来产生关导零经填满要求的最小数字位数;
 而使用0标志将会用前导零填满整个字段宽度;最后如果0标志和精度说明符同时出现那么0标志位被忽略。
 运行结果:
          1f 1F 0x1f
          *42* 42*-42*
*/
 
//4-10.c --- 字符串格式化
#include <stdio.h>
#define BLURB "Authentic imitation!"
int main (void)
 
{
       printf ("/%2s/\n",BLURB);
       printf ("/%24s/\n",BLURB);
       printf ("/%24.5s/\n",BLURB);
       printf ("/%-24.5s/\n",BLURB);
       return 0 ;
}
/*格式说明符中的.5指示printf ()只打印5个字符。另外-修饰符使文本左对齐输出;+修饰符使文本左对齐输出
 运行结果:
 /Authentic imitation!/
 /    Authentic imitation!/
 /                   Authe/
 /Authe                   /
*/ 
 
 
转换说明符的意义:
      它把存储在计算机中的二进制格式的数值转换成一系列字符(一个字符串)以便显示。
      %d意为“把指定的值翻译成十进制文本表示,并打印出来”。