C语言程序设计(C语言之父着).pdf
第1章 基 本 概 念
C
本章首先对C语言做简要介绍。目的是通过实际的程序向读者介绍C语言的本质要素,
而不是一下子就陷入到具体细节、规则及例外情况中去。因此,在这里我们并不想完整
地或很精确地对C语言进行介绍(但所举例子都是正确的)。我们想尽可能快地让读者学
会编写有用的程序,因此,重点介绍其基本概念:变量与常量、算术运算、控制流、函
数、基本输入输出。本章并不讨论那些编写较大的程序所需要的重要特性,包括指针、
结构、大多数运算符、部分控制流语句以及标准库。
这样做也有缺陷,其中最大的不足之处是在这里找不到对任何特定语言特性的完整
描述,并且,由于太简略,也可能会使读者产生误解。而且,由于所举的例子没有用到
C语言的所有特性,故这些例子可能并未达到简明优美的程度。我们已尽力缩小这种差
异。另一个不足之处是,本章所讲过的某些内容在后续有关章节还必须重复介绍。我们
希望这种重复带给读者的帮助会胜过烦恼。
无论如何,经验丰富的程序员应能从本章所介绍的有关材料中推断他们在程序设
计中需要的东西。初学者则应编写类似的小程序来充实它。这两种人都可以把本章当
作了解后续各章的详细内容的框架。
1.1 入门
学习新的程序设计语言的最佳途径是编写程序。对于所有语言,编写的第一个程序
都是相同的:
打印如下单词:
hello, world
在初学语言时这是一个很大的障碍,要越过这个障碍,首先必须建立程序文本,然后
成功地对它进行编译,并装入、运行,最后再看看所产生的输出。只要把这些操作细
节掌握了,其他内容就比较容易了。
在C语言中,用如下程序打印“hello, world ”:
#include
main()
{
printf("hello, world\n");
}
2计计C 程序设计语言
下载
至于如何运行这个程序取决于使用的系统。作为一个特殊的例子,在U N I X操作系统中,必须
首先在某个以“. c”作为扩展名的文件中建立起这个程序,如h e l l o . c ,然后再用如下命令编译它:
cc hello.c
如果在输入上述程序时没有出现错误(例如没有漏掉字符或错拼字符),那么编译程序将往
下执行并产生一个可执行文件 a . o u t 。如果输入命令
a. out
运行a . o u t程序,则系统将打印
hello, world
在其他操作系统上操作步骤会有所不同,读者可向身边的专家请教。
#include 包含有关标准库的信息
main() 定义名为main的函数,它不接收变元值
{ main的语句括在花括号中
printf("hello, world\n"); main函数调用库函数printf可打印字符序列,\n代表换行符
}
下面对这个程序本身做一些解释说明。每一个 C程序,不论大小如何,都由函数和变量组成。
函数中包含若干用于指定所要做的计算操作的语句,而变量则用于在计算过程中存储有关值。 C
中的函数类似于F O RT R A N语言中的子程序与函数或 P a s c a l语言中的过程与函数。在本例中,函
数的名字为m a i n 。一般而言,可以给函数任意命名,但 m a i n 是一个特殊的函数名,每一个程序
都从名为m a i n 的函数的起点开始执行。这意味着每一个程序都必须包含一个 m a i n 函数。
m a i n 函数通常要调用其他函数来协助其完成某些工作,调用的函数有些是程序人员自己编
写的,有些则由系统函数库提供。上述程序的第一行
#include
用于告诉编译程序在本