第一章 程序设计基本概念 1.1 程序和程序设计 1.1.1 C 程序 当今,计算机已广泛应用于社会生活的各个领域,成为大众化的现代工具。但是,不熟悉计算机的人仍然把它想象得十分神秘。其实,计算机不过是一种具有内部存储能力、由程序自动控制的电子设备。人们将需要计算机做的工作写成一定形式的指令,并把它们存储在计算机的内部存储器中,当人们给出命令之后,它就按指令操作顺序就自动进行。人们把这种可以连续执行的一条条指令的集合称为“程序”。可以说,程序就是人与机器进行“对话”的语言,也就是我们常说的“程序设计语言”。 目前,在社会上使用的程序设计语言有上百种,它们都被称为计算机的“高级语言”,如 BASIC、PASCAL 以及本书将介绍的C 语言等。这些语言都是用接近人们习惯的自然语言和数学语言做为语言的表达形式,人们学习和操作起来感到十分方便。 但是,对于计算机本身来说,它并不能直接识别由高级语言编写的程序,它只能接受和处理由0 和1 的代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也称为“机器语言”。 我们把由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。如何把源程序转换成机器能够接受的目标程序,软件工作者编制了一系列软件,通过这些软件可以把用户按规定语法写出的语句一一翻译成二进制的机器指令。这种具有翻译功能的软件称为“编译程序”。每一种高级语言都有与它对应的编译程序。例如,C 语言编译程序就是这样的一种软件,C 语言编译程序的功能如图 1.1 所示。 图 1.1 我们所写的每条C 语句,经过编译(Compile)最终都将转换成二进制的机器指令。由C 语言构成的指令序列称C 源程序,按C 语言的语法编写C 程序的过程,称C 语言的代码编写。 C 语言源程序经过C 语言编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文件夹)。最后还要由称为“连接程序”(Link)的软件,把此.OBJ 文件与 C 语言提供的各种库函数连接起来生成一个后缀为.EXE 的可执行文件。在DOS 状态下,只须打入此文件的名字(而不必打入后缀.EXE),该执行文件就可运行。 1.1.2 程序设计 简单的程序设计一般包括以下几个部分。 1. 确定数据结构。根据任务书提出要求、指定的输入数据和输出的结果,确定存放数据的数据结构。 2. 确定算法。针对存放数据的数据结构来确定解决问题、完成任务的一步一步的步骤。有...