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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值