网站大量收购独家精品文档,联系QQ:2885784924

第一章C语言程序基础.pptVIP

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章C语言程序基础

第1章 程序设计基础 ;本章学习目标 ;1.1 程序设计语言 ;1.1.1 机器语言 ;1.1.2 汇编语言;1.1.3 高级语言 ;1.2 程序设计 ;1.2.1 算法;一、算法及其特性 1、算法 所谓算法,就是解决某类问题的办法。确切地说,就是对某一类特定的问题,给出解决该问题的一系列(有穷的)操作,而每一操作都有其确定的意义,并在有限时间内可以计算出结果。 计算机算法可分为两大类:数值算法和非数值算法。;2、算法的特性 (1)确定性 算法中每一个操作步骤都有确切的含义 (2)有穷性 算法的步骤不能是无限的。 (3)可执行性 算法中每个步骤对计算机来说都是可以有效执行的,并得到确定的结果。 (4)输入 一个算法有零个或多个输入。 (5)输出 一个算法必须有一个或多个输出;3、算法的评价 如何评价一个算法呢?对算法的要求有:必须是正确的,必须能高效率执行,即占用内存空间少,所需运行时间短。于是,对算法的评价可以从两个方面进行: (1)执行算法所需的时间长短; (2)执行算法所需的计算机内容容量大小。 ;二、算法的描述 常用的描述算法的方法有:自然语言、伪代码、流程图。 1、自然语言 自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言描述算法具有通俗易懂的优点,但缺点也比较多: (1)比较繁琐。 (2)容易出现“歧义性”。 (3)用自然语言容易描述顺序执行的步骤。;例1.1 将两个变量x和y的值互换 用自然语言描述如下: 步骤1 将x值存入中间变量z中:x→z 步骤2 将y值存入变量x中:y→x 步骤3 将中间变量z的值存入y中:z→y ;2、伪代码 伪代码(pseudo code)一般介于自然语言与程序设计语言之间,它具有自然语言灵活的特点,同时又接近于程序设计语言的描述。 伪代码与程序设计语言最大的区别就在于,伪代码描述比较自由,不像程序设计语言那样受语法的约束,只要描述得人们能理解就行,而不必考虑计算机处理时所要遵循的规定或其他一些细节。 ;例如,在例1.1中,将两个变量x和y的值互换,可以用伪代码描述如下: BEGIN x→z y→x z→y END ;3、流程图 流程图是用一些图框、流程线以及文字说明来表示算法。用图来表示算法,直观、形象、容易理解。 (1)传统流程图 美国国家标准化协会ANSI规定了一些常用的流程图符号,各种流程图符号表示如下: ;起止框 :;例1.2 判断一个数是否是素数的算法用流程图表示如图1.2所示。 ; i?;(2)结构化流程图 ①顺序结构 ②选择结构 ;③循环结构 ;以上三种基本结构有以下共同的特点: 只有一个入口。 ???? 只有一个出口 ?? 每一个基本结构中的每一部分都有机会被执行到。 结构内不存在“死循环”(即无终止的循环)。 ;(3)N-S流程图 ①顺序结构: ②选择结构: ; ③循环结构: ;例1.2 将求最大公约数的算法用N-S流程图描述如图1.7所示。 ; 1.2.2 结构化程序设计 ;一、自顶向下、逐步细化的设计过程 自顶向下、逐步细化的设计过程,包括以下两个方面: (1)将一个复杂问题的解法分解和细化成由若干模块组成的层次结构; (2)将一个模块的功能逐步分解细化为一系列的处理步骤,直到某种程序设计语言的语句或某种机器指令。 自顶向下、逐步细化的设计过程具有以下两个优点: (1)自顶向下、逐步细化的方法符合人们解决复杂问题的普遍规律,可以显著提高程序设计的效率; (2)用先全局后局部、先整体后细节、先抽象后具体的逐步细化过程设计出的程序具有清晰的层次结构,容易阅读和理解。 ;二、模块化设计 模块化设计是指把一个大程序按人们能理解的大小规模进行分解。由于经过分解后的各模块比较小,因此容易实现,也容易调试。 在进行模块化程序设计时,应重点考虑以下两个问题: (1)按什么原则划分模块? (2)如何组织好各模块之间的联系? ;1、按功能划分模块 在按功能划分模块时,要求各模块的功能尽量单一,各模块之间的联系尽量少。满足这些要求的模块有以下几个优点: (1)模块间的接口关系比较简单,并且每个模块都是人的智力所能及的。因此,这种程序的可读性和可理解性都比较好。 (2)各模块的功能比较单一,当需要修改某一功能时,一般只涉及到一个模块,不会影响到其他模块。因此,这种程序的可修改性和可维护性比较好。 (3)人们可以脱离程序的上、下文也能单独验证一个模块的正确性,便于对程序进行模块化测试。因此,这种程序的可验证

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档