【C语言】 字符输入输出函数getchar()和 putchar()的用法

文章目录

C语言中的字符输入输出函数:getchar与putchar

在C语言中,我们经常需要从用户那里读取输入,或向用户显示输出。对于字符级别的输入和输出,C语言提供了两个简单而强大的函数:getcharputchar

getchar函数

getchar函数是C语言中的一个标准库函数,用于从标准输入(通常是键盘)读取一个字符,并将其作为整数返回。这个函数在stdio.h头文件中定义。

c 复制代码
int getchar(void);

getchar函数不需要任何参数,它返回读取的字符。如果读取失败或到达文件末尾(EOF),则返回EOF。在大多数环境中,EOF的值为-1。

以下是一个简单的示例,演示了如何使用getchar函数:

c 复制代码
#include <stdio.h>

int main() {
    int c;
    printf("Please enter a character: ");
    c = getchar();
    printf("You entered: %c\n", c);
    printf("You entered: %d\n", c);
    return 0;
}

需要注意的是,getchar函数只会读取一个字符,然后返回。如果用户输入了多个字符(例如,输入了一个单词或一句话),则getchar只会返回第一个字符,剩下的字符将留在输入缓冲区中,等待下一次的读取。

接下来,让我们来举一个输入的例子。假设我们要输入字符A,则在程序运行时,你可以这样输入:

c 复制代码
A

在这个例子中,用户输入了字符A,程序会读取这个字符并输出"Your entered: A"和"Your entered: 65",分别代表输入的字符和对应的ASCII码值。

如果我们想读取多个字符,可以使用一个循环。在这个示例中,程序会一直读取字符,直到遇到换行符(即用户按下Enter键)或到达EOF为止。每读取一个字符,程序就会立即打印出来。

c 复制代码
#include <stdio.h>

int main() {
    int c;
    printf("Please enter some text: \n");
    while ((c = getchar()) != '\n' && c != EOF) {
        putchar(c);
    }
    return 0;
}

接下来,让我们来举一个输入的例子。假设我们要输入文本Hello, World!,则在程序运行时,你可以这样输入:

c 复制代码
Hello, World!

在这个例子中,用户输入了文本Hello, World!,程序会逐字符读取并输出这段文本,直到遇到换行符为止。

putchar函数

putchar函数是C语言中的一个标准库函数,用于向标准输出(通常是屏幕)写入一个字符。这个函数在stdio.h头文件中定义。

c 复制代码
int putchar(int c);

putchar函数接收一个整数参数,这个整数通常是一个字符的ASCII值,然后将其作为字符输出。如果写入成功,函数返回写入的字符。如果写入失败,返回EOF。

以下是一个简单的示例,演示了如何使用putchar函数:

c 复制代码
#include <stdio.h>

int main() {
    int c = 'A';
    putchar(c);
    return 0;
}

putchar函数通常与getchar函数配合使用,用于从用户那里读取字符,然后再输出这些字符,如下面的示例:

c 复制代码
#include <stdio.h>

int main() {
    int c;
    printf("Please enter a character: ");
    c = getchar();
    printf("You entered: ");
    putchar(c);
    printf("\n");
    return 0;
}

当你输入字符 'A' 时,getchar() 函数会读取这个字符并返回其ASCII码值,ASCII码值会被存储在一个 int 类型的变量中。接着,putchar() 函数会将这个ASCII码值转换为对应的字符并输出到控制台上。因为字符 'A' 在ASCII码中对应的整数值就是 65,所以 putchar(65) 会输出字符 'A'。

C语言中的字符输入输出函数知识点总结

在C语言中,getcharputchar是用于字符级别输入输出的两个重要函数。以下是关于这两个函数的知识点总结,帮助你更好地理解和记忆它们的使用方法:

  1. getchar函数

    • getchar函数用于从标准输入读取一个字符,并返回其ASCII码值。
    • 函数原型:int getchar(void);
    • 如果读取成功,返回字符的ASCII码值;如果到达文件末尾(EOF)或读取失败,返回EOF(通常为-1)。
    • 示例:int c = getchar();
  2. putchar函数

    • putchar函数用于向标准输出写入一个字符。
    • 函数原型:int putchar(int c);
    • 函数接收一个整数参数,通常是字符的ASCII码值,将其作为字符输出。
    • 如果写入成功,返回写入的字符;如果写入失败,返回EOF。
    • 示例:putchar('A');
  3. 示例用法

    • 使用getchar读取字符并输出:int c = getchar(); putchar(c);
    • 使用getchar循环读取字符直到换行或EOF:while ((c = getchar()) != '\n' && c != EOF) { putchar(c); }
  4. 注意事项

    • getcharputchar通常配合使用,用于字符级别的输入和输出。
    • 需要注意处理EOF情况,以避免无限循环或其他问题。

结语

在C语言中,getcharputchar函数为我们提供了一个简单而强大的工具,使我们能够以字符为单位进行输入和输出。尽管在某些情况下,我们可能需要处理EOF,但在大多数情况下,我们只需要处理用户输入的字符和程序的输出。因此,不必过于深究EOF,只需专注于getcharputchar函数的基本使用即可。

以上就是关于C语言中字符输入输出函数getcharputchar的介绍,希望能对你有所帮助。

相关推荐
为什么这亚子30 分钟前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
40 分钟前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
~yY…s<#>1 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
幸运超级加倍~2 小时前
软件设计师-上午题-16 算法(4-5分)
笔记·算法
yannan201903132 小时前
【算法】(Python)动态规划
python·算法·动态规划
埃菲尔铁塔_CV算法2 小时前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR2 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
linsa_pursuer2 小时前
快乐数算法
算法·leetcode·职场和发展
小芒果_012 小时前
P11229 [CSP-J 2024] 小木棍
c++·算法·信息学奥赛
qq_434085902 小时前
Day 52 || 739. 每日温度 、 496.下一个更大元素 I 、503.下一个更大元素II
算法