从问题到程序:C/C++程序设计基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 程序和程序语言

程序(program)一词来自生活,通常指完成某些事务的一种既定方式和过程。从表述方面看,程序可以看作对一系列动作的执行过程的描述。日常生活中可以找到许多“程序”实例。例如,一个学生的日常行为可以描述为:起床→刷牙洗脸→吃早餐→上课→吃午餐→午休→上课→吃晚餐→晚自习→洗漱→上床睡觉。这是一个顺序式的“程序”,形式上就是一些基本步骤形成的序列。如果按顺序实施这些步骤,其整体效果就是完成了一天的事务。进一步说,这些基本步骤还可能细化。此外,操作也可能是在多种情况中的选择(如早餐选择哪种食品,是到教室晚自习还是到图书馆晚自习),或者在某个更大的上下文中的不断重复(从整个学期的角度来看,学生就是一天一天地重复做这些事)。这些情况的叠加可能形成很复杂的“程序”。

从上面现实生活的例子中,可以看到“程序”的一些直观特征。现实生活中有许多程序性的活动,当我们身处其中,参与有关活动时,需要按部就班、一步步地完成一系列动作。对这种工作(事务、活动)过程的细节动作描述就是“程序”。

在程序描述中,总存在着一批预先假定的“基本动作”(例如吃饭、上课,或者更细节一点的动作:走到食堂、选取菜品、吃饭、走到教室、打开书本、听课、做笔记),这些基本动作都是执行程序者能够理解和直接完成的。

此外,一个程序总有开始与结束。在执行程序的过程中,动作者(无论是不是人)需要按照程序的描述来执行一系列动作。在达到结束位置时,有关工作就完成了。

本书中将要深入讨论的计算机程序同样具有这些特征。