数据的输出通常是以显示器为处理对象的,程序向显示器输出数据。
2.4.1 字符输出函数 putchar( )
1、函数 putchar( )的常用格式
格式:putchar( c );
其中,参数c可以是字符常量、变量或字符表达式。
2、函数 putchar( )的功能
函数 putchar( )的功能是把一个字符输出到显示器上,把参数c的值作为ASC码值,把该ASCⅡ码值所对应的字符(按ascii码找到相应的字形码)输出到显示器上。
例2-7 采用 putchar函数实现如下功能:
在输出窗口中输出如下图所示结果。

程序分析:输出三个字符,“A”、"\n"、“#”,相当于你在word中输入这三个字符,就可以实现上述目标。
源程序如下:
#include <stdio.h>
main( )
{ char c='A';
putchar(c); //输出字符A
putchar('\n'); //对字符进行换行
putchar('#'); //输出字符“#”
putchar('\n');
}
该程序运行时,首先在屏幕上显示字母A,换行后,再显示字符“#”,如图2-4所示。

图2-4 例2-7运行结果
2.4.2 格式化输出函数 printf( )
1、函数 printf 的常用格式
格式:printf("输出格式串", 表达式表);
"输出格式串"包含格式符或非格式符。"格式符"是以"%"开头且后面跟一个字母,如表2-4所示。
表2-4输出格式符
| 格式符 | 功能说明 |
| %c | 按字符形式输出 |
| %d | 按十进制整数形式输出 |
| %o | 按八进制整数形式输出 |
%x | 按十六进制整数形式输出 |
| %f(%e) | 按浮点形式输出,默认为6位小数(科学记数法) |
| %m.nf | 按浮点形式输出,显示宽度不小于m,n位小数 |
表达式表:是由多个表达式组成,中间用逗号分隔开。
2、函数 printf 的功能
函数 printf 的功能:是按指定的格式向显示器输出信息,只要遇到格式符,就将对应的表达式的值按指定格式输出到显示器上;只要遇到非格式符,就原样输出。
一般来说,输出格式串中的格式符的个数不多于表达式的个数,它们按各自的先后顺序一 一 对应,如图2-5所示。如果格式符的个数少于表达式的个数,将只输出排在前面的相应个数的表达式的值。如果格式符的个数太多,而没有对应的表达式,将输出无效的值。

3、printf 函数常用示例1
int a=100;
int b=200;
printf("%d + %d = %d \n", a, b, a+b);
输出结果为:
100+200=300(换行)
格式符串中的3个格式符“%d”依次对应于3个表达式a、b和“a+b”,输出时用对应表达式的值替代,非格式符“+”“=”原样输出,换行符“\n”对字符进行换行。
例2-8 整数输出。
#include <stdio.h>
main( )
{ int a=1234, b=01234, c=0x1234;
printf("a=%d, b=0%o, c=0x%x\n", a, b, c);
printf("a=0%o, b=%d, c=%d\n", a, b, c);
}
该程序的运行结果如图2-6所示。

图2-6 例2-8运行结果
第一行a、b、c的值分别以十进制、八进制和十六进制形式输出,其中前缀0或0x不输出;37 第二行a以八进制形式输出,格式符“%o”前增加的0是为了突出输出的是八进制数,b和c 均分别以十进制形式输出。
例2-9 浮点数输出。
#include <stdio.h>
main( )
{ float x;
double y;
x=1.23456789;
y=1234.56E7;
printf("%f, %.1f, %e\n", x, x, x );
printf("%10.0f, %20e, %20.3e\n", y, y, y );
}
该程序的运行结果如图2-7所示

图2-7 例2-9运行结果
其中,格式符“%f”默认输出的小数位数是6,超过6位按四舍五入输出;格式符“%e”以科学记数法形式输出浮点型数据;“%10.0f”表示输出宽度不小于10,小数位数为0。