C程序设计语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3.1 输入、输出基本概念

利用计算机解决问题的一般步骤为:先分析问题,再编写程序,最后运行和调试程序直至得到正确的结果。注意,用户要想看到结果,必须将结果显示在屏幕上,或者用打印机打印出来。这是因为,结果是用变量或数组等来存放的,而变量和数组中的内容都保存在内存单元中,而内存单元中的内容,用户却是无法看到的。因此,在计算机中引入了“输出”的概念,其功能就是将保存在内存单元中的变量或数组中的值显示在屏幕上或者用打印机打印出来。

同时,程序在执行时,有可能需要用户提供计算所需的数据,这就引入了另一个概念“输入”,其功能是利用键盘等输入设备为变量或数组等提供数据,并保存到内存单元中,供程序计算时使用。

总之,借助于输入和输出,用户就可以与内存单元进行交互了。输入可以把信息从外设传送到内存,输出则把信息从内存传送到外设。这样,信息从输入设备流向内存,经处理后又从内存流向输出设备。

在计算机系统中,键盘和显示器是最常见的输入设备和输出设备,常称为标准输入/输出(Standard Input/Output)设备。在程序设计中,进行数据的输入、输出操作时,如果不具体指明所使用的外部设备,就隐含地表示使用的标准输入/输出设备。也就是说,如果不特别说明,程序的输入设备是键盘,输出设备则是显示器(屏幕)。

C语言本身没有提供输入语句和输出语句,输入和输出的功能是靠输入和输出函数实现的。在标准C语言函数库中事先存放了一大批标准输入/输出函数,用于在标准输入/输出设备上进行数据的输入/输出。其中,最常用也是最主要的是printf函数和scanf函数。事实上,由于C语言的函数库是可选的,所以编程时也可以不用系统提供的库函数,而是自己编写输入和输出函数,在程序中通过函数调用自己编写的输入和输出函数同样可以实现数据的输入和输出。C语言的这一特点,为开发系统程序提供了便利。

在使用C语言库函数时,要用到预编译命令“#include”,其功能是将有关的头文件包含到源文件中。在使用标准输入、输出库函数时要用到“stdio.h”(stdio是Standard Input &Output的缩写)文件,因此,在源文件开头应有预编译命令“#include <stdio.h>”或“#include"stdio.h"”。printf函数和scanf函数是两个标准输入/输出函数,前者称为格式输出函数,后者称为格式输入函数,它们最后的字母f是“格式(format)”的意思。printf函数的功能是按指定的格式,把指定的数据输出(显示)到显示器的屏幕上。scanf函数的功能则是将用户按指定格式输入到键盘缓冲区中的数据,存放到用户指定的内存单元中。使用printf函数和scanf函数可以分别实现整型、实型、字符型、字符串等各种类型数据的输出和输入。C语言中,考虑到printf函数和scanf函数的使用比较频繁,允许在仅使用这两个函数时程序中不加“#include <stdio.h>”或“#include "stdio.h"”。

实际上,C语言中,可实现数据的输入、输出的库函数还有很多。例如,仅在stdio.h中就有专门用来输入、输出字符数据的getchar函数和putchar函数,用来输入、输出字符串数据的gets函数和puts函数,等等。

本章先介绍getchar、putchar、scanf、printf等函数的语法规则和使用方法。