C语言的语法基础
2.2.2非格式化输入、输出函数
标准格式化输入、输出函数可以指定输入、输出的格式,使用起来方便、如意,但函数编译后程序代码较大。某些程序,不要求指定输入、输出格式,这时用非格式化输入、输出函数也非常方便,并且函数编译后程序代码较小,效率高。非格式化输入、输出函数主要用于字符和字符串的输入和输出,调用时要在程序中使用文件包含#inclulde "stdio.h" 。本节介绍单个字符的非格式化输入、输出函数,关于字符串的非格式化输入、输出函数我们将在第六章介绍。
1。putchar函数
putchar函数把一个字符输出到标准输出设备(通常指定为显示器)上。其调用格式为:
putchar(ch);
其中ch为一个字符变量或一个字符常量(包括转义字符常量), putchar(ch)函数与printf("%c", ch)函数的作用等同。例如以下程序段每条语句均向屏幕输出字符“A”。
putchar('A'); putchar('\101'); putchar('\x41');
putchar(65); putchar(0101); putchar(0x41);
2。getchar函数
getchar函数的作用是从标准输入设备(通常指键盘)上读入一个字符。其调用形式为:
getchar();
它接收标准输入缓冲区中的一个字符,对空白字符也一并接收,并带回显(显示键盘所按的字符)。执行到getchar函数时,等待输入字符,直到按回车才结束,回车前的所有输入字符都将逐个显示在屏幕上。但只有第一个字符被getchar函数接收。
[例2.3]
#include "stdio.h"
main()
{
char ch;
ch=getchar(); /*从键盘读入字符直到回车结束, 把第一个字符赋值给ch*/
putchar(ch); /*显示输入的第一个字符*/
putchar('\n'); /*回车换行*/
getch(); /*等待按任一健程序结束*/
}
3。getch和getche函数
getch和getche函数的作用都是从标准输入设备(通常指键盘)上读入一个字符。其调用形式分别为:
getch();
getche();
getch函数读入的字符不会回显在屏幕上,而getche函数将读入的字符回显到屏幕上。它们与getchar函数不同之处在于,getch和getche函数不必输入回车才结束,只要输入一个字符,该字符立即被接收,程序继续执行下一条语句。利用这一特点,这两个函数经常用于交互输入的过程中完成暂停功能。
[例2.4] 输入一位学生三门课学习成绩,求出该学生三门课平均成绩,按Esc退出。
#include "stdio.h"
const char ESC=27;
main()
{ float f1, f2, f3, aver;
do /* do/while 循环语句条件成立时,反复执行{...}中的语句 */
{
printf("请输入学生的三门课学习成绩:");
scanf("%f%f%f", &f1, &f2, &f3);
aver = (f1+f2+f3)/3.0;
printf("该学生的三门课平均成绩是:%6.2f\n", aver);
printf("按Esc退出,按其它键继续...\n");
} while( getch() != ESC ); /*等待,按Esc退出,按其它键继续计算*/
}
运行结果:
请输入学生的三门课学习成绩:67.5 78.5 89
该学生的三门课平均成绩是: 78.33
按Esc退出,按其它键继续...
按其它键继续计算,直到按下Esc键,程序结束。
发表评论