1、getchar()
函数原型:int getchar(void)
当程序调用getchar()时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar()才开始从stdio流中每次读入一个字符.getchar()函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1。
注:ASCII码与常用字符对照表请参考书本第364页。
例如 :字符 ‘a’ 对应 ASCII 码为 97
int iData = getchar(); /*iData 为对应输入字符a的ASCII值97*/
char cData = getchar(); /*cData 为对应的输入字符a*/
2、putchar函数
函数原型:void putchar(c)
(1)当c为一个被单引号(英文状态下)引起来的字符时,输出该字符(注:该字符也可为转义字符);
(2)当c为一个介于0~127(包括0及127)之间的十进制整型数时,它会被视为对应字符的ASCII代码,输出该 ASCII代码对应的字符;
(3)当c为一个事先用char定义好的字符型变量时,输出该变量所指向的字符。
3、fflush(stdin)
功能:清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin);)。
注意:此函数仅适用于部分编译器(如VC6),但是并非所有编译器都要支持这个功能(如gcc3.2)。这是一个对C标准的扩充。
实验二例题:从键盘输入两个整数,求出两个数的数和,差,积和商并输出到屏幕。(通过getchar()和putchar()函数实现)。
#include <stdio.h>
void
main()
{
int
iNum1,iNum2;
iNum1 =
getchar
() -
'0'
;
fflush
(stdin);
/*清除缓存*/
iNum2 =
getchar
() -
'0'
;
putchar
((iNum1 + iNum2) +
'0'
);
putchar
(
'\n'
);
putchar
((iNum1 - iNum2) +
'0'
);
putchar
(
'\n'
);
putchar
((iNum1 * iNum2) +
'0'
);
putchar
(
'\n'
);
putchar
((iNum1 / iNum2) +
'0'
);
}