- 1、本文档共218页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c学习推荐教程
第1章 绪 论1.1 计算机语言发展概述 1.1.1 计算机程序设计语言的发展计算机之所以能自动进行计算,是因为采用了程序存储的原理,计算机的工作体现为执行程序。程序是控制计算机完成特定功能的一组有序指令的集合,编写程序所使用的语言称为程序设计语言,它是人与计算机之间进行信息交流的工具。从1946年世界上诞生第一台计算机起,在短短的50余年间,计算机技术迅速发展,程序设计语言的发展从低级到高级,经历了机器语言、汇编语言、高级语言到面向对象语言的多个阶段,具体过程如下:⑴ 机器语言计算机能够直接识别和执行的二进制指令(也称机器指令)的集合称为该种计算机的机器语言。早期的计算机程序都是直接使用机器语言编写的,这种语言使用0、1代码,因此编写出的程序难以理解和记忆,目前已不被人们使用。⑵ 汇编语言通过助记符代替0、1机器指令以利于理解和记忆,由此形成了汇编语言。汇编语言实际上是与机器语言相对应的语言,只是在表示方法上采用了便于记忆的助记符号来代替机器语言相对应的二进制指令代码,因此也称为符号语言。计算机不能直接识别汇编语言,需要编译后才能识别。这种语言的执行效率较高,但由于难以记忆,因此使用较少。⑶ 高级语言机器语言和汇编语言是面向机器的语言,高级语言采用更接近自然语言的命令或语句,使用高级语言编程,一般不必了解计算机的指令系统和硬件结构,只需掌握解题方法和高级语言的语法规则,就可以编写程序。高级语言在设计程序时着眼于问题域中的过程,因此它是一种面向过程的语言,对于高级语言,人们更容易理解和记忆,这也给编程带来很大方便,但它与自然语言还是有较大差别。⑷ 面向对象语言面向对象语言是比面向过程语言更高级的一种高级语言。面向对象语言的出现改变了编程者的思维方式,使设计程序的出发点由着眼于问题域中的过程转向着眼于问题域中的对象及其相互关系,这种转变更加符合人们对客观事物的认识。因此,面向对象语言更接近于自然语言,面向对象语言是人们对于客观事物更高层次的抽象。目前世界上已经设计和实现的计算机语言有上千种之多,但实际被人们广泛使用的计算机语言不过数十种。 1.1.2 程序设计的发展历程回顾程序设计发展的历史,大体上可以划分为如下几个不同的时期。50年代的程序都是用指令代码或汇编语言来编写的,这种程序的设计相当麻烦,编制和调试一个稍许大一点的程序常常要花费很长的时间,培养一个熟练的程序员更需经过长期的训练和实习,这种局面严重影响了计算机的普及应用。60年代高级语言的出现大大简化了程序设计,缩短了解题周期,因此显示出强大的生命力。此后,编制程序已不再是软件专业人员才能做的事了,一般工程技术人员花上较短的时间学习,也可以使用计算机解题。这个时期,随着计算机的应用日益广泛地渗透到各学科和技术领域,也发展了一系列不同风格的、为不同对象服务的程序设计语言。其中较为著名的有FORTRAN、COBOL、ALGOL、LISP、PL/1、PASCAL等十几种语言。高级语言的蓬勃兴起,使得编译和形式语言理论相应日趋完善,这是该时期的主要特征。但就整个程序设计方法而言,并无实质性的改进。自60年代末到70年代初,出现了大型软件系统,如操作系统、数据库,这给程序设计带来了新的问题。大型系统的研制需要花费大量的资金和人力,可是研制出来的产品却是可靠性差,错误多,且不易维护和修改。一个大型操作系统有时需要几千人/年的工作量,而所获得的系统又常常会隐藏着几百甚至几千个错误。当时,人们称这种现象为“软件危机”。“软件危机”震动了软件界,程序设计的传统习惯和工作方式导致了不清晰的程序结构,使得程序的可靠性难以保障;另一方面,程序设计工具的严重缺乏也使得大型系统的开发陷入困境。此时人们开始重新审视程序设计中的一些最基本的问题。例如,程序的基本组成部分是什么?应该用什么样的方法来设计程序?如何保证程序设计正确?程序设计的主要方法和技术应如何规范等等。1969年,E.W.Dijkstra首先提出了结构化程序设计的概念,他强调了从程序结构和风格上来研究程序设计。经过几年的探索和实践,结构化程序设计的应用确实取得了成效,用结构化程序设计的方法编写出来的程序不仅结构良好,易写易读,而且易于证明其正确性。到20世纪70年代末结构化设计方法得到了很大的发展,Niklans Wirth又提出了“算法+数据结构 = 程序设计”的程序设计方法,他将软件划分成若干个可单独命名和编址的部分,它们被称为模块,模块化使软件能够有效地被管理和维护,能够有效的分解和处理复杂问题。在80年代,模块化程序设计方法普遍被人们接受。虽然几十年来结构化程序设计技术得到了广泛的使用,但有些问题仍未得到很好的解决。由于软件开发是对问题的求解过程,从认识论角度看,软件开发过程包括人们对要解决问题及相关事物的认识和基于认识所进行的
文档评论(0)