资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
高级语言程序设计概述一台计算机由硬件系统和软件系统两大部分组成,硬件是物质基础,而软件是计算机的灵魂。没有软件,计算机是一台“裸机”,有了软件,才能成为一台真正的“电脑”。而所有的软件,都是用计算机程序设计语言编写的。程序是指计算机可以直接或间接执行的指令的集合。计算机系统是通过运行程序来实现各种不同的应用。程序设计语言(programming language)是一组用来定义计算机程序的语法规则。一种计算机语言能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。本章学习重点 了解程序设计语言的发展; 了解常用程序设计语言; 熟悉高级语言编程的基本步骤; 了解面向对象程序设计语言的特点; 掌握C语言程序的结构; 了解算法的概念。1.1 程序设计语言的发展程序设计语言按照语言级别可以分为低级语言和高级语言。低级语言有机器语言和汇编语言。低级语言与特定的机器有关,其功效高,但使用复杂、繁琐、费时、易出差错。机器语言是表示成数码形式的机器基本指令集。汇编语言是机器语言中部分符号化的结果。高级语言的表示方法要比低级语言更接近于待解问题的表示方法,其特点是在一定程度上与具体机器无关,易学、易用、易维护。1.1.1 程序设计语言的简介计算机做的每一次动作、每一个步骤都是按照已经编好的程序来执行的,而程序需要用人们能掌握的语言来编写,于是出现了程序设计语言。计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。1机器语言电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能用计算机的语言去命令计算机工作,也就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言就是机器语言。这时编写程序是一件十分繁琐的工作,特别是在程序有错需要修改时,更加困难,而且编出的程序不便于记忆、阅读和书写,还容易出错。由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,可移植性较差,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言是第一代计算机语言。2汇编语言为了克服机器语言难读、难编、难记和易出错的缺点,人们用与代码指令实际含义相近的英文缩写词、字母和数字等符号取代指令代码,例如,用ADD代表加法,用MOV代表数据传递等,这样,人们能较容易读懂并理解程序,使得纠错及维护变得方便了,这种程序设计语言称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序负责将这些符号翻译成二进制数的机器语言,这种翻译程序称为汇编程序。汇编语言仍然是面向机器的语言,使用起来还是比较繁琐,通用性也差。汇编语言是低级语言。但是,用汇编语言编写的程序,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。3高级语言不论是机器语言还是汇编语言都是面向硬件具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用不利。计算机事业的发展促使人们寻求一些与人类自然语言相接近且能为计算机所接受的通用易学的计算机语言。这种与自然语言相近并被计算机接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以运行。1954年,第一个完全脱离机器硬件的高级语言FORTRAN问世了,四十多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、Pascal、C、PROLOG、Ada、C+、VC、VB、Delphi、Java等。高级语言的出现使得计算机程序设计语言不再过度地依赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是指在源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.obj)才能执行。解释方式是应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。高级语言的发展经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。20世纪60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是各自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,历史上称为“软件危机”。人们认识到:大型程序的编制不同于编写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言Pascal语言出现,标志着结构化程序设计时期的开始。4面向对象语言20世纪80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,不能干别的事,也无法动态地改变程序的执行方向。这和人们日常处理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应是面向具体的应用功能,也就是对象(object)。面向对象程序设计(object oriented programming)语言与以往各种编程语言的根本区别是程序设计思维方法不同,面向对象程序设计可以更直接地描述客观世界存在的事物(即对象)及事物之间的相互关系。面向对象技术强调的基本原则是直接面对客观事物本身进行抽象并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。1.1.2 常用的程序设计语言 目前有各种高级程序设计语言,其中以下几种应用非常广泛。 FORTRAN全称为Formula Translator,意即公式翻译。它是一种适用于科学计算的高级程序设计语言。 COBOL全称为Common Business Oriented Language,意即通用商业语言。它是适用于数据处理的高级程序设计语言。 BASIC 全称为Beginners All-Purpose Symbolic Instruction Code,意即初学者通用符号指令代码。这是一种简单易学,具有会话功能的,适用于科学计算、数据处理和实时处理的程序设计语言。1964年由美国达尔摩斯学院的基米尼和科茨完成设计并提出了BASIC语言的第一个版本,经过不断丰富和发展,从基本的BASIC发展到GWBASIC、Quick BASIC、True BASIC、Turbo BASIC、Visual Basic等。Visual Basic是一个基于Windows操作系统的面向对象的可视化集成开发环境和程序设计语言,它既有传统BASIC易学、易懂、易记、易用的特点,又有面向对象、可视化设计、事件驱动、动态数据交换等特点。Pascal是一种结构程序设计语言,由瑞士苏黎世联邦工业大学的沃斯教授研制,于1971年正式发表。它是以 ALGOL语言为基础,按照结构程序设计原则设计出来的,它的优点是小巧,简洁,结构清晰,表达能力强,实现效能高。Pascal既重视数据结构,又很重视程序的结构,具有大量的控制结构,充分反映了结构化程序设计的思想和要求,直观易懂,使用灵活,既可用于科学计算,又能用来编写系统软件。它适用于科学计算、数据处理和描述系统软件。C语言是由美国贝尔实验室提出的。1973年首先用于编写UNIX操作系统。C语言易读,程序效率很高,适于描述操作系统、编译程序和各种软件工具,已得到广泛的应用。C语言的主要特色是兼顾了高级语言和汇编语言的特点,简洁、丰富、可移植。C语言提供了结构式编程所需要的各种现代化的控制结构。C语言是一种通用编程语言,使用语言编写程序,既感觉到使用高级语言的自然,也体会到利用计算机硬件指令的直接。LISP是一种表处理语言,是20世纪50年代末、60年代初为解决人工智能问题而发展起来的一种高级程序设计语言。LISP的理论基础是数理逻辑,它很简单又有很强的表达能力。Java是Sun公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和C+类似。同时,Java也是一种跨平台的程序设计语言。Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。Java有许多优点:简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。1.1.3 发展趋势程序设计语言是软件的重要方面。它的发展趋势是可视化、智能化和构件化。1可视化程序设计技术随着Windows操作系统的广泛推广与应用,它的可视化图形界面与所见即所得的视觉效果越来越成为编程语言效仿的典范。典型的可视化程序设计语言集成环境有Microsoft公司提供的Visual Studio系列等。Windows系统本身就提供了相应的接口功能与系统调用供程序开发者使用,所以可视化程序设计技术成为程序设计语言发展的一个趋势。2智能化程序设计技术程序设计技术的智能化主要体现在第4代程序设计语言中,改变了传统的完全手工的编程工作方式,而将编程变成了提问式与填空式的工作方式。在系统给出部分甚至大部分代码以后,由程序员填入适当的其他内容而完成整个编程工作,这样的工作方式不仅提高了编程工作效率,而且避免了很多在传统手工方式中存在或容易出现的错误。3构件化程序设计技术以面向对象程序设计为基础,在可视化程序设计语言集成环境的支持下,还出现了构件化程序设计的趋势。程序设计过程中以标准的构件为基本单位来构造一个完整的程序,这种工作类似于房屋建筑过程中以砖和瓦为基本单位,只需将它们放置到合适的位置并固定就可以了。而构件就相当于程序设计过程中的砖和瓦,完成对构件属性的定义和操作的说明就完成了所有编程工作。1.2 高级语言编程基本步骤由高级语言编写的程序称为源程序。CPU只能直接理解机器语言,不能直接理解源程序,高级语言编写的源程序必须经编译或解释加工以后才能被计算机理解。把源程序“翻译”为机器语言的过程称为“编译(compile)”,使用称为“编译程序(compiler)”的程序完成编译任务。编译程序把程序员编写的类自然语言的源程序文件翻译为机器指令,并以目标文件(*.obj)的形式存放在磁盘上。目标文件不能装入内存运行,还必须使用“连接程序(如Link.exe)”连接为可执行程序文件(*.exe)后才能被执行。高级语言编程步骤如图1-1所示。图1-1 编写高级语言程序的步骤1.3 C语言概述1.3.1 C语言的发展C语言是国际上广泛流行的计算机高级语言,它既可以编写应用软件,也可以编写系统软件。C语言的原型ALGOL 60语言(也称为A语言)。1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。1967年,剑桥大
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号