C语言程序设计教程第1章.ppt

上传人:wuy****n92 文档编号:70104061 上传时间:2023-01-16 格式:PPT 页数:26 大小:788.50KB
返回 下载 相关 举报
C语言程序设计教程第1章.ppt_第1页
第1页 / 共26页
C语言程序设计教程第1章.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《C语言程序设计教程第1章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程第1章.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1章 绪 论1.1 程序设计语言的发展程序设计语言的发展1.2 程序设计的基本过程程序设计的基本过程1.3 程序设计的基本方法程序设计的基本方法 程程序序设设计计语语言言一一般般分分为为机机器器语语言言、汇汇编编语语言言和和高高级级语言三大类。语言三大类。1机器语言机器语言 对对于于计计算算机机来来说说,一一组组机机器器指指令令就就是是程程序序,称称为为机机器语言程序。器语言程序。2汇编语言汇编语言 为了便于理解与记忆,人们采用能帮助记忆的英文为了便于理解与记忆,人们采用能帮助记忆的英文缩写符号(称为指令助记符)来代替机器语言指令代码缩写符号(称为指令助记符)来代替机器语言指令代码中的操作码

2、,用地址符号来代替地址码。中的操作码,用地址符号来代替地址码。3高级语言高级语言 机器语言和汇编语言都是面向机器的语言,一般称机器语言和汇编语言都是面向机器的语言,一般称为低级语言。为低级语言。1.1 1.1 程序设计语言的发展程序设计语言的发展表1.1语 言 名 称适 用 范 围Basic教学和小型应用程序的开发Fortran科学及工程计算程序的开发Pascal专业教学和应用程序的开发C中、小型系统程序的开发COBOL商业与管理应用程序的开发dBASE数据库管理程序的开发FoxBASE数据库管理程序的开发C+面向对象程序的开发LISP人工智能程序的开发PROLOG人工智能程序的开发Java面

3、向对象程序的开发1.2 1.2 程序设计的基本过程程序设计的基本过程程序设计算法数据结构方法工具程序设计算法数据结构方法工具1问题分析问题分析(1)问题的性质)问题的性质(2)输入)输入/输出数据输出数据 数据处理是计算机应用中最广泛的一个领域。在用计算数据处理是计算机应用中最广泛的一个领域。在用计算机解决问题时,一般总要有一些输入数据,计算的结果也要机解决问题时,一般总要有一些输入数据,计算的结果也要以某种方式进行输出。以某种方式进行输出。(3)数学模型或常用的方法)数学模型或常用的方法 对于数值型问题,一般要考虑数学模型的设计,或者要对于数值型问题,一般要考虑数学模型的设计,或者要对常用的

4、一些方法进行分析与比较,从而根据问题的性质选对常用的一些方法进行分析与比较,从而根据问题的性质选择一种合理的解决方案。择一种合理的解决方案。2结构特性的设计结构特性的设计(1)控制结构)控制结构 1966年,年,Bohm和和Jacopini证明了任何复杂的程序都证明了任何复杂的程序都可以用顺序、选择和循环可以用顺序、选择和循环3种基本结构组合而成。种基本结构组合而成。这几种基本控制结构的传统流程图如图这几种基本控制结构的传统流程图如图1.1所示。所示。图1.1 基本控制结构的传统流程图(2)数据结构)数据结构 在计算机的各种应用中,数据处理所占的比在计算机的各种应用中,数据处理所占的比重将越来

5、越大。在实际应用中,需要处理的数重将越来越大。在实际应用中,需要处理的数据元素一般有很多,而且,各数据元素之间不据元素一般有很多,而且,各数据元素之间不仅具有逻辑上的关系,还具有在计算机中实际仅具有逻辑上的关系,还具有在计算机中实际存储位置上的关系。存储位置上的关系。3 3算法的设计算法的设计 所谓算法,是指解题方案的准确而完整的描述。所谓算法,是指解题方案的准确而完整的描述。选择算法主要应考虑以下两个基本原则:选择算法主要应考虑以下两个基本原则:实现算法所花费的代价要尽量的小,即计算工作量实现算法所花费的代价要尽量的小,即计算工作量要小;要小;根据算法所得到的计算结果应可靠。根据算法所得到的

6、计算结果应可靠。例例1.1 某某计计算算工工具具具具有有4位位有有效效数数字字(如如4位位数数学学用用表表),现现要要计算当计算当x1000时的下列函数值:时的下列函数值:解:直接将解:直接将x1000代入函数表达式,其计算结果如下:代入函数表达式,其计算结果如下:将该函数表达式作如下恒等变换:将该函数表达式作如下恒等变换:然后将然后将x1000代入,其计算结果如下:代入,其计算结果如下:4流程的描述流程的描述(1)自然语言)自然语言 自自然然语语言言是是人人们们在在日日常常生生活活、工工作作、学学习习中中通通用用的的语语言言,一一般般不不需需专专门门的的学学习习和和训训练练就就能能理理解解用

7、用这这种种语语言言所所表表达的意思。达的意思。(2)算法描述语言)算法描述语言 为了说明程序的流程,还可以用专门规定的某种语言为了说明程序的流程,还可以用专门规定的某种语言来描述,这种语言通常称为算法描述语言。来描述,这种语言通常称为算法描述语言。(3)流程图)流程图 人们在程序设计的实践过程中,总结出了一套用图人们在程序设计的实践过程中,总结出了一套用图形来描述问题的处理过程,使流程更直观,易被一般人形来描述问题的处理过程,使流程更直观,易被一般人所接受。所接受。图1.2 结构化流程图例(4)编程)编程 用某种程序设计语言编写的程序,本质上也是问题用某种程序设计语言编写的程序,本质上也是问题

8、处理方案的描述,并且是最终的描述。处理方案的描述,并且是最终的描述。5调试与运行调试与运行 最最后后编编写写出出的的程程序序还还需需要要进进行行测测试试和和调调试试。只只有有经经过调试后的程序才能正式运行。过调试后的程序才能正式运行。1 1.3 .3 程序设计的基本方法程序设计的基本方法1.3.1 结构化程序设计结构化程序设计 结结构构化化程程序序设设计计要要求求把把程程序序的的结结构构限限制制为为顺顺序序、选选择择和和循循环环3种种基基本本结结构构,以以便便提提高高程程序序的的可可读读性性。这这种种结结构构化化程程序序具有以下两个特点:具有以下两个特点:(1)以以控控制制结结构构为为单单位位

9、,只只有有一一个个入入口口和和一一个个出出口口,使使各各单单位之间的接口比较简单,每个单位也容易被人们所理解;位之间的接口比较简单,每个单位也容易被人们所理解;(2)缩缩小小了了程程序序的的静静态态结结构构与与动动态态执执行行之之间间的的差差异异,使使人人们们能方便、正确地理解程序的功能。能方便、正确地理解程序的功能。NS图是一种不允许破坏结构化原则的图形算法图是一种不允许破坏结构化原则的图形算法描述工具,又称盒图。描述工具,又称盒图。NS图有以下几个基本特点:图有以下几个基本特点:(1)功功能能域域比比较较明明确确,可可以以从从框框图图中中直直接接反反映映出来;出来;(2)不可能任意转移控制

10、,符合结构化原则;)不可能任意转移控制,符合结构化原则;(3)很容易确定局部和全程数据的作用域;)很容易确定局部和全程数据的作用域;(4)很很容容易易表表示示嵌嵌套套关关系系,也也可可以以表表示示模模块块的的层次结构。层次结构。1顺序结构顺序结构顺序结构的结构化流程图如图顺序结构的结构化流程图如图1.3所示。所示。图1.3 顺序结构的结构化流程图2选择结构选择结构(1)两路分支结构)两路分支结构两路分支选择结构的结构化流程图如图两路分支选择结构的结构化流程图如图1.4所示。所示。图1.4 两路分支选择结构的结构化流程图(2)多路分支结构)多路分支结构图1.5 多路分支选择结构的结构化流程图3循

11、环结构循环结构循环结构分为当型循环结构和直到型循环结构。循环结构分为当型循环结构和直到型循环结构。(1)当型循环结构)当型循环结构当型循环结构的结构化流程图如图当型循环结构的结构化流程图如图1.6所示。所示。图1.6 当型循环结构的结构化流程图(2)直到型循环结构)直到型循环结构直到型循环结构的结构化流程图如图直到型循环结构的结构化流程图如图1.7所示。所示。图1.7 直到型循环结构的结构化流程图 图图1.8是是顺顺序序输输出出3到到100之之间间所所有有素素数数的的结结构构化化流流程程图图,在这个流程图中,表示了在这个流程图中,表示了3种基本结构互相嵌套的情况。种基本结构互相嵌套的情况。图1

12、.8 3种基本结构互相嵌套的情况1.3.2 模块化程序设计模块化程序设计 模块化设计是指把一个大程序按人们能理解的大小规模进行模块化设计是指把一个大程序按人们能理解的大小规模进行分解。分解。1按功能划分模块按功能划分模块(1)模块间的接口关系比较简单,并且每个模块都是人的智力)模块间的接口关系比较简单,并且每个模块都是人的智力所能及的。所能及的。(2)各模块的功能比较单一,当需要修改某一功能时,一般只)各模块的功能比较单一,当需要修改某一功能时,一般只涉及到一个模块,不会影响到其他模块。涉及到一个模块,不会影响到其他模块。(3)人们可以脱离程序的上、下文也能单独地验证一个模块的)人们可以脱离程

13、序的上、下文也能单独地验证一个模块的正确性。正确性。(4)在扩充系统或建立新系统时,可以充分利用已有的一些模)在扩充系统或建立新系统时,可以充分利用已有的一些模块,用积木式的方法进行开发。块,用积木式的方法进行开发。2按层次组织模块按层次组织模块图1.9 按层次组织模块1.3.3 自顶向下、逐步细化的设计过程自顶向下、逐步细化的设计过程 自顶向下、逐步细化的设计过程,包括以下两个方面:自顶向下、逐步细化的设计过程,包括以下两个方面:(1)将将一一个个复复杂杂问问题题的的解解法法分分解解和和细细化化成成由由若若干干模模块块组组成的层次结构;成的层次结构;(2)将将一一个个模模块块的的功功能能逐逐

14、步步分分解解细细化化为为一一系系列列的的处处理理步步骤,直到某种程序设计语言的语句或某种机器指令。骤,直到某种程序设计语言的语句或某种机器指令。自顶向下、逐步细化的设计过程具有以下两个优点:自顶向下、逐步细化的设计过程具有以下两个优点:(1)自顶向下、逐步细化的方法符合人们解决复杂问题)自顶向下、逐步细化的方法符合人们解决复杂问题的普遍规律,可以显著提高程序设计的效率;的普遍规律,可以显著提高程序设计的效率;(2)用先全局后局部、先整体后细节、先抽象后具体的)用先全局后局部、先整体后细节、先抽象后具体的逐步细化过程设计出的程序具有清晰的层次结构,容易阅逐步细化过程设计出的程序具有清晰的层次结构,容易阅读和理解。读和理解。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁