-
1 文字讲解
-
2 视频讲解
数据的输出通常是以显示器为处理对象的,程序向显示器输出数据。
2.4.1 字符输出函数 putchar( )
函数 putchar( )的功能是把一个字符输出到显示器上,它的常用格式如下:
putchar( c );
其中,参数c可以是字符常量、变量或字符表达式,它的功能是把参数c的值作为ASC码值,把该ASCⅡ码值所对应的字符输出到显示器上。
例2-7 字符输出函数 putchar( )的功能。
#include <stdio. h>
main()
{ char='A';
putchar(c); //输出字符A
putchar(n); //对字符进行换行
putchar(); //输出字符“#”
putchar('\n');
}
该程序运行时,首先在屏幕上显示字母A,换行后,再显示字符“#”,如图2-4所示。
2.4.2 格式化输出函数 printf( )
格式化输出函数是按指定的格式完成输出过程,printf( )的功能是向显示器输出信息。
格式化输出函数 printf( )的一般使用形式如下:
printf("输出格式串", 表达式表);
其中,"输出格式串"包含格式符或非格式符。"格式符"是以"%"开头且后面跟一个字母,如表2-4所示。
表2-4输出格式符
| 格式符 | 功能说明 |
| %c | 按字符形式输出 |
| %d | 按十进制整数形式输出 |
| %o | 按八进制整数形式输出 |
%x | 按十六进制整数形式输出 |
| %f(%e) | 按浮点形式输出,默认为6位小数(科学记数法) |
| %m.nf | 按浮点形式输出,显示宽度不小于m,n位小数 |
printf( )的功能是只要遇到格式符,就将对应的表达式的值按指定格式输出到显示器上;只要遇到非格式符,就原样输出。
一般来说,输出格式串中的格式符的个数不多于表达式的个数,它们按各自的先后顺序一 一 对应,如图2-5所示。如果格式符的个数少于表达式的个数,将只输出排在前面的相应个数的表达式的值。如果格式符的个数太多,而没有对应的表达式,将输出无效的值。
printf("………%d………%x………%f…", a, b, c);
图2-5输出格式串中的对应关系
例如:
a=100;
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=%o, c=%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。

