注:整理自高教版《全国计算机等级考试二级教程——C语言程序设计》和人邮版《全国计算机等级考试教程 二级C语言程序设计》
程序和程序设计
C程序
人们把可以连续执行的一条条指令的集合称为“程序”。
可以说,程序就是人与机器“对话”的语言,也就是我们常说的“程序设计语言”。
目前,使用比较广泛的语言,如Visual Basic,Java,C++,C语言等,它们都被称为计算机的“高级语言”。
但是对于计算机本身来说,它并不能直接识别由高级语言编写的程序,它只能接受和处理由0和1的代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也被称为“机器语言”。
汇编语言是介于机器语言和高级语言之间的一种语言。
我们把由高级语言编写的程序称为“源程序”,把由二进制代码标识的程序称为“目标程序”。为了把源程序转换成机器能接受的目标程序,软件工作者编制了一系列软件,通过这些软件可以把用户按规定写出的语句一一翻译成二进制的机器指令。这种具有翻译功能的软件称为“编译程序”,每种高级语言都有与它对应的编译程序。
C源程序经过编译程序编译之后生成一个后缀为.obj的二进制文件(目标文件),然后由称为“连接程序”的软件,把.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件。
程序设计
程序设计,就是用程序设计语言编写程序的过程。
简单的程序设计一般包含以下几个部分:
- 确定数据结构。根据任务书提出的要求、指定的输入数据和输出结果,确定存放数据的数据结构。
- 确定算法。针对存放数据的数据结构来确定解决问题、完成问题的步骤。
- 编码。根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存在磁盘上,简称编程。
- 在计算机上调试程序。消除由于疏忽而引起的语法错误或逻辑错误;用各种可能的输入数据对程序进行测试,使之对各种合理的数据都能得到正确的结果,对不合理的数据也能进行适当的处理。
- 整理并写出文档资料。
算法
计算机科学中的算法是指为解决某个特定问题而采取的确定且有限的步骤,它是为了解决“做什么”和“怎么做”的问题。
算法是指为解决某个特定问题而采取的确定且有限的步骤。一个算法应当具有以下五个特性:
- 有穷性。一个算法包含的操作步骤应该是有限的。也就是说,在执行若干个步骤后,算法将结束,而且每一步都在合理的时间内完成。
- 确定性。算法中的每一条指令必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。
- 可行性。算法中指定的操作,都可以通过已经验证过可以实现的基本运算执行有限次后实现。
- 有零个或多个输入。在计算机上实现的算法是用来处理数据对象的,在大多数情况下这些数据需要通过输入来得到。
- 有一个或多个输出。算法的目的是为了求“解”,这些“解”只有通过输出才能得到。
算法的描述方法:
- 伪代码
- 流程图
- N-S结构图
结构化程序设计和模块化结构
结构化程序
结构化程序由三种基本结构组成:
- 顺序结构
- 选择结构
- 循环结构
已经证明,由三种基本结构组成的算法可以解决任何复杂问题。
由三种基本结构所构成的算法称为结构化算法;由三种基本结构所构成的程序称为结构化程序。
模块化结构
在程序设计时,用一个个小模块来实现一项简单的功能,每个程序设计人员分别完成一个或多个小模块。我们称这样的程序设计方法为“模块化”的方法,有一个个功能模块构成的程序结构称为模块化结构。