《1程序设计基本概念.ppt》由会员分享,可在线阅读,更多相关《1程序设计基本概念.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1章章 程序设计基本概念本章要点本章要点:1.1 程序和程序设计1.2 算法1.3 结构化程序设计和模块化结构1.1.1 C程序程序是指人们存储在计算机内部存储器中,可以连续执行的一条条指令的集合。它是人与机器进行“对话”的语言,也就是我们常说的“程序设计语言”。C语言是一种“高级语言”,另外的BASIC、PASCAL等也属于高级语言。这些语言都是接近人们习惯的自然语言和数学语言作为语言的表达形式,人们学习和操作起来感到十分方便。但对于计算机本身来说,它并不能直接识别由高级语言编写的程序,它只能接受和处理由0和1的代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也称为“机器
2、语言”。我们把由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,而“编译程序”是指可以把源程序转换成目标程序的软件,即可以把用户按规定语法写出的语句逐一翻译成二进制的机器指令。每一种高级语言都有它对应的编译程序。每条C语句经过编译(Compile)最终都将转换成二进制的机器指令。由C语言构成的指令序列称C源程序,按C语言的语法编写C程序的过程,称为C语言的代码编写。C语言源程序经过编译后生成一个后缀为.OBJ的二进制文件(称为目标文件),最后还要由“连接程序”(Link)将此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。在DOS状态下
3、,只须打入此文件的名字(不必打入后缀.EXE)就可以运行。重点提示:重点提示:高级语言编写的程序称为“源程序”,二进制代码表示的程序称为“目标程序”,而“编译程序”是指可以把源程序转换成目标程序的软件。每条C语句经过编译(Compile)最终都将转换成二进制的机器指令(.OBJ的文件)。最后由“连接程序”(Link)将此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。1.1.2 程序设计简单的程序设计一般包括:1根据要求确定存放数据的数据结构;2针对数据结构来确定完成任务的步骤,即确定算法;3根据1和2使用选定的计算机语言编写程序代码输入到计算机中,即编程;4调
4、试程序,消除语法或逻辑错误,用各种可能的输入数据对程序进行测试,对不合理的数据能进行适当的处理;5整理并写出文档资料。1.2 算法在编写程序时,除了选定合理的数据结构外,还需要十分关键的一步就是设计算法,有了一个好的算法,就可以用任一种计算机高级语言把算法转换为程序。算法是指为解决某个特定问题而采取的确定且有限的步骤。一个算法应具有以下五个特性:1有穷性。2确定性。3可行性。4有零个或多个输入。5有一个或多个输出。算法一般可以用以下三种方法来进行描述:1伪代码。它是一种近似高级语言但又不受语法约束的一种语言描述。2流程图。它也是描述算法的很好的工具。传统的流程图由图1.1中所示的几种基本框架组
5、成。图1.1 流程图基本框架由这些框和流程线组成的流程图来表示算法,形象直观,简单方便,但这种流程图对于流程图的走向没有任何限制,可以任意转向,在描述复杂算法时不易阅读。3N-S流程图。这种流程图完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。在下一节结合三种基本的结构化程序设计来介绍这种流程图的基本结构。一般我们最常用的描述方法是伪代码和流程图。重点提示:重点提示:算法的5个特性分别是:有穷性,确定性,可行性,有零个或多个输入以及有一个或多个输出。1.3 结构化程序设计和模块化结构1.3.1 结构化程序结构化程序由三种基本结构组成
6、:1顺序结构 顺序结构的程序在执行时按照先后顺序逐条进行,没有分支,没有转移。如后面章节中介绍的赋值语句、输入、输出语句等都可以构成顺序结构。顺序结构可用图1.2所示的流程图表示。图1.2 顺序结构流程图2选择结构选择结构的程序要根据不同的条件去执行不同分支中的语句。如后面章节中介绍的if语句,switch语句等可以构成选择结构。选择结构可用图1.3所示的流程图表示。图1.3 选择结构流程图3循环结构不同形式的循环结构要根据各自的条件,使同一组语句重复执行多次或一次也不执行。循环结构包括当型循环(如图1.4所示)和直到型循环(如图1.5所示)。当型循环的特点是:当指定的条件满足时,就执行循环体
7、,否则就不执行。直到型循环的特点是:执行循环体直到指定的条件满足,就不在执行循环。图1.4 当型循环图1.5 直到型循环重点提示重点提示:结构化程序由三种基本结构组成:顺序结构、选择结构和循环结构。1.3.2 模块化结构计算机在处理复杂任务时,常常需要把这个大任务分解为若干个子任务,每个子任务又分成很多个小子任务,每个小子任务只完成一项简单的功能。在程序设计时,用一个个小模块来实现这些功能。我们称这样的程序设计方法为“模块化”,由一个个功能模块构成的程序结构就称为模块化结构。模块化结构可以大大提高程序编制的效率。软件人员在进行程序设计时,首先应集中考虑主程序中的算法,写出主程序后再逐步完成子程序的调用。而对这些“子”程序也可以用调用主程序的方法逐步完成其下一层子程序的调用。这就是自顶向下、逐步细化、模块化的程序设计。C语言是一种结构化程序设计语言。它直接提供了三种基本结构的语句,提供了定义“函数”的功能,在C语言中没有子程序的概念,它提供的函数可以完成子程序的所有功能;C语言允许对函数单独进行编译,从而可以实现模块化。
限制150内