这部分内容展示了C语言的精髓:简洁、精炼。本节包含了四个超级经典的程序:文件复制,字符计数,行计数,单词计数。
接下来我们看一组与字符型数据处理有关的程序。读者将会发现,许多程序只不过是这里所讨论的程序原型的扩充版本而已。
标准库提供的输入/输出模型非常简单。无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。文本流是由多行字符构成的字符序列,而每行字符则由 0个或多个字符组成,行末是一个换行符。标准库负责使每个输入/输出流都能够遵守这一模型。使用标准库的 C 语言程序员不必关心在程序之外这些行是如何表示的。
标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数。每次调用时,getchar 函数从文本流中读入下一个输入字符,并将其作为结果值返回。也就是说,在执行语句
c = getchar()
之后,变量 c 中将包含输入流中的下一个字符。这种字符通常是通过键盘输入的。关于从文件输入字符的方法,我们将在第 7 章中讨论。
每次调用 putchar 函数时将打印一个字符。例如,语句
putchar()
将把整型变量 c 的内容以字符的形式打印出来,通常是显示在屏幕上。putchar 与 printf这两个函数可以交替调用,输出的次序与调用的次序一致。