- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 C语言程序设计的概念 1.1 程序与程序设计语言 1.1.1 计算机与程序 应用较早并一直流传至今的计算机工具是算盘。现代电子计算机与算盘的最大区别在哪里呢?关键在于现代计算机可以自动完成计算过程,而算盘进行的计算过程是在人的拨动下才能进行。 程序:按照一定的顺序安排的工作步骤。一种工具能够自动工作,一是要有记忆功能,能够记住程序;二是具有按照程序控制相关部件操作的能力。 这样的机制并没有在算盘中实现。但是,却有另外一种机器却在这方面向前推进了一步。这就是明朝末年宋应星在其《天工开物》中记载的中国古代提花机。提花机大约出现于西汉末年(公元前)。它采用用丝线结成的“花本”(花版)控制经线起落,以织成要求的图样。这是最早的程序控制思想。 1805年法国人Joseph Jacquard制造成功用穿孔卡片(见图1.3)控制连杆(横针),用有孔和无孔进一步控制经线起落的提花机。 穿孔卡片把程序控制技术向前推进了一步。这一技术被一位英国数学家Charles Babbage(见图1.4)引入到了计算机中机,用有孔和无孔的组合来表示数据和程序。 1812年Babbage开始计算机的研制工作,他要把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算,快速编制不同函数的数学用表,并将这种机器称为“差分机”。于1822年完成了第一台差分机,可以处理3个不同的5位数,计算精度达到6位小数。1833年他又开始投身于一种“会分析的机器”—分析机的研制中。他把机器设计成三个部分,一是用来储存数据信息的“仓库”,二是进行数据运算处理的“工场 ”,三是使用穿孔卡片来输入程序并用穿孔卡片输出数据。 这台机器虽然没有制造成功,但它的工作原理——程序存储控制为今天的计算机奠定了基础: (1)任何工具的工作,都是由程序控制的; (2)只有工具具有了记忆程序的功能,并具有了按照程序进行自我控制的功能,该工具才能自动工作。 1.1.2 计算机程序设计语言 程序要需要用某种形式(语言)来描述。例如,用算盘进行计算,程序是用口诀描述的,珠算的语言是口诀。现代计算机的程序则是用计算机程序设计语言来描述的。 1. 机器语言 一种CPU的指令系统,也称该CPU的机器语言,它是该CPU可以识别的一组由0和1序列构成的指令码。如: 1 0 0 0 0 0 0 0 (进行一次加法运算) 1 0 0 1 0 0 0 0 (进行一次减法运算) 这种程序虽然可以被机器直接理解和执行,却由于它们不直观,难记、难认、难理解、不易查错,只能被少数专业人员掌握,同时编写程序的效率很低,质量难以保证。这种方式仅使用于计算机出现的初期。 2. 汇编语言 20世纪50年代中期人们开始用一些“助记符号”来代替0,1码编程。如前面的两条机器指令可以写为: A+B =>A 或 ADD A,B A-B =>A 或 A或SUB A,B 这种用助记符号描述的指令系统,称为符号语言或汇编语言。汇编语言指令是机器不能直接识别、理解和执行的。用它编写的程序经检查无误后,要先翻译成机器语言程序才能被机器理解、执行。这个翻译转换过程称为“代真”。代真后得到的机器语言程序称为目标程序(object program),代真以前的程序,称为源程序(source program)。 汇编语言与机器语言,都依CPU的不同而异,统称为面向机器的语言(低级语言)。优点:可以编出效率极高的程序。缺点:程序员要熟悉机器的内部结构,劳动强度很大,给计算机的普及推广造成很大的障碍。 2. 高级语言 汇编语言和机器语言是面向机器的,不同类型的计算机所用的汇编语言和机器语言是不同的。1954年出现的FORTRAN语言,开始使用接近人类自然语言的、但又消除了自然语言中的二义性的语言来描述程序。这些高级语言使人们开始摆脱进行程序设计必须先熟悉机器的桎梏,把精力集中于解题思路和方法上。 据统计,全世界已有2500种以上的计算机语言,其中使用较多的有近百种。图1.5为几种广泛流行的高级语言的发展变迁情况。 1.1.3 高级语言程序的开发过程 一般来说,程序开发的一般过程有如图1.6所示几个步骤。 1. 分析 一个具体的问题要涉及许许多多的方面(问题的复杂性)。为了便于求解,往往要忽略一些次要方面,找出解题规律,就称为建立模型。 2. 建立模型,表现模型 表现模型就是用一种符号—语言系统来描述模型。模型的表现会随着对问题抽象程度的加深和细化,不断由领域特色向计算机可解释、执行靠近,中间也可能采用一些其他的符号系统,如流程图等,直到最后用一种计算机程序设计语言描述出来。 3. 源程序的编辑 源程序的编辑
文档评论(0)