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

C程序设计(第3版)谭的浩强著--清华大学出版社.ppt

C程序设计(第3版)谭的浩强著--清华大学出版社.ppt

  1. 1、本文档共514页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计(第3版)谭的浩强著--清华大学出版社

C程序设计;目 录;教材、参考书与课时安排;学习要求及成绩构成;第1章 C语言概述;1.1 程序设计语言的发展及其特点;52;C语言发展史;C语言发展史;C语言版本;C语言的特点;C语言的应用;1.3 C语言程序的基本结构 ;1.3 C语言程序的基本结构 ;1.3 C语言程序的基本结构 ;1.3 C语言程序的基本结构 ;1.3 C语言程序的基本结构 ;1.3 C语言程序的基本结构 ;1.4 编制C语言程序的基本步骤 ;第2章 程序的灵魂—算法; 程序 = 数据结构 + 算法。 算法:简而言之,就是解决问题的方法与步骤。算法是程序设计的灵魂,是问题求解过程中的精确描述,一个算法由有限条可以完全机械地执行的、有确定结果的指令组成。 程序设计语言:是程序开发工具,即是将算法转化为程序的开发工具。 程序:算法的具体实现。 ;算法应具有下面五个特性: 1)有穷性:算法中的每个步骤由计算机执行的次数及时间是有限的。 2)确定性:算法中的每个步骤含义明确,无二义性。 3)可行性:算法中描述的操作都可通过有限次的基本运算来实现。 4)输入:一个算法应具有零个或多个输入。 5)输出:一个算法应具有一个或多个输出。 ;2.3 算法举例 ; 【例2】猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? 总体思路: 假设第一天开始时有a1只桃子,第二天有a2只,……,第9天有a9只,第10天是a10只,在a1,a2,……,a10中,只有a10 = 1是知道的,现要求a1,而我们可以看出,a1,a2,……,a10之间存在一个简单的关系: a9 = 2 * ( a10 + 1 ) a8 = 2 * ( a9 + 1 ) ┇ a1 = 2 * ( a2 + 1 ) 也就是:ai = 2 * ( ai+1 + 1) i = 9,8,7,6,…,1 这就是此题的数学模型。 再考察上面从a9,a8直至a1的计算过程,这其实是一个递推过程,这种递推的方法在计算机解题中经常用到。另一方面,这九步运算从形式上完全一样,不同的只是ai的下标而已。由此,我们引入循环的处理方法,并统一用a0表示前一天的桃子??,a1表示后一天的桃子数。 ; 算法的描述方法常用的有自然语言、流程图、N-S图、伪代码等。 1)自然语言 例: 编程求1+2+3+┄+100。 算法为: S1:设置一个累和变量sum和一个计数变量n; 并设它们的初值都为0; S2:判断n=100,若成立转S3,否则转S5; S3:sum+n==sum,n+1==n; S4:转S2; S5:输出sum.。 ;起止框;3)N-S图 1973年,美国学者I.Nassi 和 B.Shneiderman提出了一种新的流程图形,并以他们的名字命名为N-S结构化流程图。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他从属于它的框,利用N-S图表示算法就像堆积木一样,它十分适合结构化程序设计,因而很受欢迎。N-S图相比流程图方法来说主要特点是去掉了流程线,从而避免了设计出无规则任意转向的算法,更容易让学习的人养成利用结构化方法构造算法的习惯。 ;4)伪代码 用传统的流程图和N-S图表示算法,直观易懂,但画起来比较费事。由于在设计一个算法时,不可能一挥而就,常常需要反复修改,且修改流程图又比较麻烦。因此,为了表示算法的简便,常常采用伪代码。伪代码是用介于自然语言和计算机语言之间的文字(可以是中文)和符号来描述算法。 ;2.5 流程图与算法的结构化描述 ;2.4 流程图与算法的结构化描述 ;结构化程序设计方法是学习程序设计必须掌握的基础。 1)结构程序设计是避免用goto语句的一种程序设计; 2)结构程序设计是自顶向下的程序设计; 3)结构程序设计是一种组织和编制程序的方法,利用它编制的程序是容易理解和容易修改的; 4)程序结构化的一个主要功能是使得正确性的证明容易实现; 5)结构程序设计允许在设计过程中的每一步验证其正确性,即自动导致自我说明与自我捍卫的程序风格; 6)结构程序设计讨论了如何将任何大规模的和复杂的流程图转换成一种标准的形式,使得它们能够用几种标准的控制结构(通常是顺序、分支和循环)通过重复和嵌套来表示。 ;一般来说,只要在程序中能正确的使用“三种基本结构(顺序、分支和循环)”表示解题步骤(算法);使用“模块”来封

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档