发布日期:2015-12-30 09:10 来源: 标签: 编程语言 C教程 C语言getchar() C语言putchar()
本章我们主要学习getchar()与putchar()在C语言中的使用(以下输入输出库函数的操作主要在标准输入输出设备(键盘和屏幕)与数据缓冲区之间进行),下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
getchar()与putchar()
getchar(): 将用户输入的字符输出到标准输出设备(屏幕)。按【Enter】键后,getchar()函数才会读入第一个字符,并返回该字符常量。
注:由于缓冲区的读取特性,当用户由键盘键入字符时,计算机并不会马上处理,而会暂存到系统的缓冲区(Buffter)内。到按【Enter】键后,getchar()函数才会读入缓冲区的第一个字符。而其它字符继续保留在缓冲区,等待下一个读取字符/字符串的函数来读入。
putchar(): 用来输出指定的单一字符。
例1. 运行以下程序,输入:Hello!<回车>
#include <stdio.h>
int main()
{
    char c, s[20];
    printf("Enter a string: ");
    c = getchar();
    printf("Read the remaining from the buffer\n");
    scanf("%s", s);


    putchar(c);
    putchar('\n');
    printf("%s \n", s);
}
例2. 输入一个汉字,并将它显示在屏幕上。
先输入:B超<回车>,观察输出。再运行程序,输入:超<回车>,比较输出结果:
#include <stdio.h>
int main()
{
    char c1, c2;
    printf("Enter an Chinese character: ");
    c1 = getchar();
    c2 = getchar();
    printf("The Chinese character entered is: ");
    putchar(c1);
    putchar(c2);
    putchar('\n');
}
注:由对比可知,当输入第一个数据时,只输出了字母“B”,汉字“超”没有输出。原因是一个汉字需要两个字节(字符)才能表示,所以对于第一个输入而言,所输入的字符“超”的第二个字节内容仍然保留在缓冲区。第二次运行,只输入“超”字时,通过两个getchar()函数将缓冲区中的“超”字全部读出,并用两次putchar()显示了一个完整的汉字。

相关评论

专题信息
    C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。