C++语言程序设计

C++使用操纵符（在<iomanip.h>和<iostream.h>中定义），而C提供了一系列的说明符，参见表2-10。这些说明符用于输出，也可用于输入。

| 表2-10：

说明符 | 类型
%wd | int 或char
| w = 宽度
%w.df | double w = 总的宽度（包括小数点） d = 小数位数
%wc | char 或int w = 宽度
%ws | char * (字符串) 格式 w = 宽度
%wu | unsigned int w = 宽度
%wo | 八进制
%wx | 十六进制
%m.dddddde±xx %m.ddddddE±xx %m.ddddddg±xx %m.ddddddG±xx | 指数记数法

下面，我们给出一些格式实例，假定有下面的变量说明：

| 表2-11：

变量说明
int x = 98; float y = 1.34567889; char letter = 'A'; char word[] = "Hello";

下表给出了输出这些变量的缺省的格式：

| 表2-12：

语句 | printf("Default formats: %d %f %c %s\n", x,y,letter,word);
结果 | Default formats: 98 1.345679 A Hello

我们也可以改变缺省的格式。需要注意的是：输出结果是右对齐的，也就是说，当输出结果的宽度小于指定的宽度时，空格填充到左边：

| 表2-13：

格式说明
语句 | printf("Width specified: %5d %10.4f %5c %10s\n", x,y,letter,word);
结果 | Width specified: 98 1.3457 A Hello

我们也可以打印变量的内存地址信息，但要使用unsigned格式说明符：

| 表2-14：

打印内存地址
语句 | printf("Address of x: %u Address of y: %u\n", &x, &y);
结果 | Address of x: 4026528400 Address of y: 4026528396