C语言数据输入详解:getchar与scanf函数

需积分: 50 2 下载量 182 浏览量 更新于2024-07-14 收藏 2.75MB PPT 举报
"C语言程序设计相关的教学课件,涵盖了从C语言的基础到高级主题,包括数据类型、运算符、表达式、语句控制、数组、函数、指针、结构体、共用体、文件以及编译预处理等内容。" 在C语言中,数据输入主要通过函数来实现,有两种常见的函数:`getchar()` 和 `scanf()`。 1. **getchar() 函数**: - `getchar()` 用于从标准输入设备(通常是键盘)读取一个字符。它的功能非常简单,即接收用户输入的一个字符,并将其存储在指定的变量中。例如,在提供的代码示例中,`c=getchar();` 会读取用户输入的一个字符并赋值给变量 `c`,然后 `putchar(c);` 将这个字符输出回屏幕。 2. **scanf() 函数**: - `scanf()` 是一个更为通用的输入函数,可以读取多种类型的数据。它的格式控制字符串可以包含各种格式说明符,如 `%d`(整数)、`%f`(浮点数)、`%c`(字符)等,以及普通字符。例如,`scanf("%d %f", &a, &b);` 可以从输入中读取一个整数和一个浮点数,分别存储在变量 `a` 和 `b` 的地址处。`scanf()` 允许用户根据需要灵活地读取不同类型的输入。 C语言的特点包括: - **简洁、紧凑**:C语言的语法简洁,代码量小,易于理解和编写。 - **编程自由度大**:没有过多的编程限制,程序员可以有很高的设计自由度。 - **直接访问硬件**:C语言允许直接操作内存地址,进行位操作,适合底层编程。 - **数据类型丰富**:包括整型、实型、字符型、数组、指针、结构体和共用体等多种数据类型。 - **结构化控制语句**:如if-else、for、while等,支持结构化编程。 - **运算符丰富**:C语言的运算符涵盖广泛,支持各种算术、比较和逻辑操作。 - **生成高质量目标代码**:编译后的程序运行效率高。 - **良好的可移植性**:C语言编写的程序可以在不同的平台上相对容易地移植。 C语言的程序通常以 `main()` 函数作为起点,如示例中的 `main()` 包含了一个简单的输出语句。`printf()` 函数用于输出格式化的字符串,例子中`printf("This is a C program.\n");` 会打印出指定的字符串,`\n` 是转义字符,表示换行。 了解这些基础知识后,学习者可以进一步探索C语言的数组、函数、指针等高级特性,以及如何利用它们实现更复杂的程序逻辑和数据管理。在后续章节中,还将涉及结构体与共用体,这使得可以自定义数据类型,以及文件操作,这对于数据持久化和跨程序通信至关重要。最后,编译预处理部分会介绍如何使用宏定义和其他预处理器指令来扩展和定制代码。