getchar()与putchar()概念及相关用法

来源:互联网 发布:带着空间去民国淘宝 编辑:程序博客网 时间:2024/04/30 12:14

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');
         
}

0 0
原创粉丝点击