- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE4
8.1.1程序设计的基本知识
1.程序、程序设计、程序设计语言的定义
(1)程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。
(2)程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。
(3)程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有的因素,即语法、语义和语用。
2.程序设计语言的发展
程序设计语言的发展经过了机器语言、汇编语言、高级语言三个阶段,每一个阶段都使程序设计的效率大大提高。我们常常把机器语言称为第一代程序设计语言,把汇编语言称为第二代程序设计语言,把高级语言称为第三代程序设计语言。
(1)机器语言
机器语言是计算机能直接识别和执行的一组机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。一条机器指令就是机器语言的一个语句,它是一组有意义的二进制代码。每条机器指令一般由操作码和地址码两部分构成,其中操作码说明指令的含义,地址码说明操作数的地址。机器语言程序能够在对应型号的计算机上直接运行。
用机器语言进行程序设计比较烦琐。首先,程序员要熟记所用计算机的全部指令集及每条指令的含义;其次,在程序编写过程中,程序员要自己处理每条指令和每一数据的存储分配和输入/输出,还要记住每步中所使用的工作单元处于何种状态。由于程序员既要驾驭程序全局又要深入每个局部细节,因此程序的开发周期长、可靠性差。
机器语言编写出的程序都是由0和1构成的符号串,可读性差,还容易出错,不易交流和维护。
机器语言编程的思维及表达方式与程序员日常的思维和表达方式差距较大,程序员需要经过长期的训练才能胜任。
机器语言程序设计严重依赖于具体计算机的指令集,编写出的程序可移植性差、重用性差。
(2)汇编语言
鉴于机器语言编程的烦琐,为减小程序员在编程中的劳动强度,20世纪50年代中期,人们开始用一些“助记符号”来代替0、1码编程,即用助记符代替机器指令中的操作码,用地址符号或标号代替机器指令中的地址码,将机器语言变成了汇编语言。汇编语言也称符号语言,即符号化的机器语言,提高了程序的可读性和程序开发效率。
汇编语言用助记符而不是0和1序列来表示指令,程序的生产效率和质量都有所提高。但是使用汇编语言编写的程序,计算机不能直接识别,必须有一种程序将汇编语言翻译成机器语言,起这种翻译作用的程序称为汇编程序(Assembler),汇编程序把汇编语言翻译成机器语言的过程称为汇编(Assembling)。
汇编语言程序经汇编得到的目标程序占用内存空间少、运行速度快,有着高级语言不可替代的作用,因此汇编语言常用来编写系统软件和过程控制软件。
汇编语言和机器语言都与具体的机器有关,它们都称为面向机器的语言,也称为低级语言。程序员用它们编程时,不仅要考虑解题思路,还要熟悉机器的内部构造,并且要“手工”地进行存储器分配,编程的劳动强度仍然很大,这些仍然阻碍着计算机的普及和推广。
(3)高级语言
无论是机器语言还是汇编语言,它们都是面向硬件具体操作的,语言对机器的过分依赖要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用也是不利的。计算机的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称为高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备相应的高级语言的翻译程序,用该高级语言编写的程序就可以在该机器上运行。
高级语言可读性好、机器独立性强,具有程序库,可以在运行时进行一致性检查,从而检测程序中的错误,这使得高级语言几乎在所有的编程领域取代了机器语言和汇编语言。高级语言也随着计算机技术的发展而不断发展,目前有许多种用于不同目的的高级程序设计语言,广泛使用的有C、C++、Java、C#、F#、JavaScript、JSP等。
3.程序设计语言的发展趋势
程序设计语言已经逐步发展至第四代语言(Fourth-GenerationLanguage,以下简称为4GL),它的出现是由于商业需要。4GL一词最早出现在20世纪80年代初期软件厂商的广告和产品介绍中。由于4GL具有面向问题、非过程化程度高等特点,可以呈数量级地提高软件生产率,缩短软件开发周
文档评论(0)