第1章 程序设计语言概论

上传人:汽*** 文档编号:489596005 上传时间:2023-12-26 格式:DOCX 页数:13 大小:73.22KB
返回 下载 相关 举报
第1章 程序设计语言概论_第1页
第1页 / 共13页
第1章 程序设计语言概论_第2页
第2页 / 共13页
第1章 程序设计语言概论_第3页
第3页 / 共13页
第1章 程序设计语言概论_第4页
第4页 / 共13页
第1章 程序设计语言概论_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《第1章 程序设计语言概论》由会员分享,可在线阅读,更多相关《第1章 程序设计语言概论(13页珍藏版)》请在金锄头文库上搜索。

1、第一章 程序设计语言概论1.1程序设计语言的历史在计算机科学与技术学科中,程序设计语言是每一位希望步入这信息科学最主要基础学 科光辉殿堂的学生所要首先遇到的课程之一。伴随着计算机的产生和发展,程序设计语言也 历经约半个世纪的沧桑岁月。自从 1957 年 FORTRAN 语言问世以来,人类已经创造了数以百 计的各种各样的程序设计语言,它们又被称为笼统的称为计算机语言或者高级语言。在这些 程序设计语言中,有些昙花一现,有些流传至今。女口: FORTRAN、COBOL、BASIC、PASCAL、C、 ADA、C+、JAVA、ML 等至今仍然被人们用于科学计算、商业服务、教学研究、网络应用等 各个领域

2、。了解什么是程序设计语言,了解程序设计语言的各个发展阶段以及这些阶段又有那些代 表性的程序设计语言,了解这些特定的程序设计语言的产生、发展历史和演变状况,这些对 于学习程序设计语言来讲是非常必要的。1.1.1 程序设计语言严格说来,计算机语言包】括机器语言、汇编语言和高级语言这三类语言。女口果不涉及汇 编语言,程序设计语言往往就是扌指咼级语言。从某种意义上将,计算机语言从机器语言发展 至“汇编语言,标志着人类与计算机首次有了基于符号的共同语言。即这种语言 (汇编语言) 是人类(借助助记符)和计算机(借助汇编程序)都能够理解的语言。它也是人类将符号引 入程序设计的开始。由于汇编语言与机器的指令系

3、统直接相关,不同指令系统的计算机有着 不同的汇编语言。因此,在汇编语言中数据类型和数据结构具有典型的面向机器的特点。女口: 用 DB、 DW、 DD 等分别定义字节、字和双字,用标号来定义符号地址。汇编语言缺乏类似数 学语言那样面向问题的数据类型,使得编程者要具备比较好的计算机硬件基础才能进行汇编 语言程序设计,这无疑限制了计算机的广泛使用和发展。高级语言从产生之日起,就将面向 问题的数据类型的概念引入程序设计,通过将数据分类成为字符型、整型、浮点型等不同的 类型,来刻画、描述不同类型数据。从某种意义上将从汇编语言到咼级语言的发展过程, 是人类在程序设计方面从面向机器的数据类型向面向问题的数据

4、类型、或从没有面向问题的 数据类型向有面向问题的数据类型的一次飞跃。而高级语言产生、发展、演变,各种各样高 级语言的兴起,实质上就是高级语言数据类型的不断完善、不断扩充、不断复杂多样,以及 对客观实体描述能力不断增强的一个过程。机器语言是机器指令的集合。而机器指令指计算机的CPU能够识别并处理的二进制代 码。由这些二讲制代码组成的二讲制代码串称为机器程序。以把立即数5传送到累加器的操 作为例:在以80X86为CPU的计算机中的二进制代码是:B80005。在以Z80为CPU的计算 机中的二进制代码是:3E05汇编语言是一种使用助记符的语言。助记符是一些缩写的英文单词,这些缩写的英文单 词都有特定

5、的操作含义。口: MOV或LD表示传送、ADD表示乘法运算等。因此,汇编语言是 种面向机器的计算机语言。用汇编语言编写的程序称为汇编语言程序或源程序。将汇编语 言程序翻译成机器语言程序(也称为目标程序)的程序称为汇编程序。仍以把立即数5传送 到累加器的操作为例:在以80X86为CPU的计算机中的汇编语言程序是:MOVAX, 5。而在 以 Z80 为 CPU 的计算机中的汇编语言程序是: LD A, 5。如果认为高级语言就是我们所要讨论的程序设计语言。那么,十么是程序设计语言?正 如将物体向不同平面投影可以得到不同的平面图形一样,不同的人从不同的角度对程序设计 语言有不同的理解。汁算机的使用者认

6、为程序设计语言是操纵计算机的工具:程序员则认为 它是程序员之间的相互通信和交流的方法:喜欢数学和算法的人则认为它是算法的符号表 示。按照Ravi Sethi的观点,一门通用的程序设计语言应该是能够为各种各样的用户都能 提供服务的语言。尽管对程序设计语言的理解和定义多种多样,但是按照一般比较流行的观 点,可以认为:程序设计语言是由一些符号所构成,这些符号被用于定义、组织、并完成各 种各样的计算任务。人类所使用的语言称为自然语言。它是以语音为物质外壳、以词汇为建筑材料、以语法 为结构规律而构成的体系。与此类似,程序设计语言是以具有特定语义的符号为基本构成单 位、以语法为程序构成规律、专门用于定义、

7、组织、并完成各种各样的计算任务而形成的体 系。什么是程序?什么是程序设计呢?程序是用程序设计语言表示的计算机解题算法或计 算机解题任务。程序设计是将解题任务转变成程序的过程。Nell Dale等人则指出:程序就 是要求计算机执行的指令序列。程序设计就是如何计划、安排计算机必须遵循的操作步骤顺 序的过程。在程序设计中,往往涉及到数据、变量、对象、值、数据类型等名词。这些名词是程序 设计的基础概念。数据 数据是客观事物的符号表示。在计算机学科中,数据是指所有能够输入到计算机内、 被计算机处理,以及计算机处理结果输出的那些符号的总称。在科学计算方面,数据往往指 的是整数和实数。在字处理程序、编译程序

8、和解释程序中,数据又往往是字符串。在多媒体 处理程序中,数据则往往是语音、图象的编码表示。变量 在微型计算机、小型计算机及以上的各类计算机中,内存是以字节为单位线性编址的。在访问内存单元的时候,要获得内存单元的地址,然后才能访问该地址内存单元的内容。在 程序设计语言中仿照了数学中的方法,引入了变量的概念。变量有名字和值。变量名是内存 单元地址的有名表示,或者说是内存单元地址的符号表示。也就是说,通过变量名可以访问 对应的内存单元。变量名所标识的内存单元中存放的内容则代表该变量的值。通过向变量赋 值,可以改变变量名所标识的内存单元中的内容。对象 广义上讲,对象是指一切可以被感知和触摸的客观实体。

9、按程序设计的观点,对象则 是变量概念的进一步推广和延伸。关于对象这个名词本章后面还将进行深入的解释。值 从硬件系统的观点看,值实际上指的是计算机内存中存储的内容。不同类型的值在内存 中占用的字节数是不同的。在字长为 16位的计算机中,一个字符型数据占 1个字节,一个 整型值的数据占2个字节,一个浮点型数据占4字节。在字长为32位的计算机中,一个字 符型数据仍占 1 个字节,一个浮点型数据也仍占4 字节,但一个整型值的数据占4 个字节。因此,在程序中必须通过说明变量或对象的类型,来决定其值占用的字节数。从程序设计的 角度看,值是变量或对象的内容,是表达式的运算结果。数据类型数据类型是程序设计语言

10、用来定义和描述其操作对象特性的一种方法。它由一个 值集和定义在该值集之上,用于创建、操纵该类型对象的操作集组成。数据类型的值集说明 该种类型的变量或对象的取值范围;数据类型的操作集则说明了对该种类型的变量或对象可 以施行那样一些操作和运算。同时,数据类型也为编译器在对程序进行编译时如何为各种类 型的变量或对象分配存储提供了依据,也为硬件系统如何使用这些变量或对象提供了操作方 法。1.1.2 如何学习和使用程序设计语言 作为初学者,如何学会、掌握一门乃至多门程序设计语言?如何用所学的程序设计语言 去解决实际工作中的应用问题呢?如果不考虑应用问题涉及的一些具体数据结构以及相应 算法,则主要涉及到三

11、个方面的学习和训练。首先,要学习并理解所学程序设计语言的语法 禾口 语义: 其次,要学习并熟 悉与该 程序设计语言对应的集成开发环境 (Integrated Development Environment 简称 IDE): 第三,要熟悉与该程序设计语言相关的库函数(如: C提供的各种各样的标准库函数)或类库(如:Microsoft Visual C+提供的类库MFC)。1. 理解程序设计语言的语法和语义理解程序设计语言的语法和语义是学习程序设计语言的的第一步。语法和语义原本都是 数理逻辑名词。语义指的是形式系统中的符号、公式、公理、定理等的解释和意义。语法指 的是对于形式系统的描述和研究中,对

12、涉及公式的形式结构和定理的形式证明。在程序设计语言中,语义指的是构成该语言的各种符号的含义。由于程序是由程序设计 语言的符号所组成,因此只有准确理解各种符号的语义,才有可能合适的使用各种符号来表 达自己的编程思想。另一方面,程序设计语言的语法规定了语言符号集中各种符号的接合方 式,规定了各种表达式、语句、过程、函数、乃至程序结构等的构造规则。因此,只有理解 和掌握程序设计语言的语法,才有可能正确的用各种符号去构造程序的各种成分,并进而构 成满足算法要求、能解决实际应用问题的程序。总之,程序不是符号的随意堆砌,而是各种 符号根据其语义按一定的语法规律的有机构成。所以,只有理解和掌握了程序设计语言

13、的语 法和语义,才有可能正确的进行程序设计,才有可能读懂别人编写的程序。正如不同的专业和不同的层次的学生,在学习数学分析中的极限内容的时候,对学习-5 语言的要求不同一样,在学习程序设计语言过程中,对程序设计语言的语法和语义的掌握程 度根据初学者的专业和学习目标,也有不同程度的要求。对于仅仅要求学会使用程序设计语 言的人而言,对语法和语义的掌握只要做到知其然,也就是能用即可。即做到能够正确的进 行程序设计,能够读懂程序即可。对那些不仅希望知其然,还希望知其所以然的读者,尤其 是对于计算机专业的学生而言,则不仅要会用,而且还要学会语言的形式化描述,学会分析 语法成分的合理性,类型的抽象性等等。因

14、为,对他们而言,不仅要学习和掌握程序设计语 言,而且要为有朝一日设计和创造新的程序设计语言奠定坚实的语言基础。2. 熟悉集成开发环境早期的编程者都是在行编辑程序(如:EDLIN)或者全屏幕编辑程序(如:WORDSTAR、 SEE 等)下编辑创建源程序,也称为源文件(如: .c 程序)。然后以命令行方式对源程序进 行编译,产生对应的目标程序(如: .obj 文件)。由于目标程序地址的浮动性,它还需要经 过链接程序 Link 进行链接,生成对应的可执行程序(如: .exe 文件)。最后将可执行程序 投入运行以得到运行结果。时至今日,几乎所有的程序设计语言都有自己的集成开发环境。集成开发环境将源程序

15、 的创建、编辑,以及其后的编译、链接,乃至程序的调试与跟踪全部都集成与一体。为编程 者提供了方便的程序开发环境。因此,编程者要能够进行程序的设计和开发,调试与跟踪, 就必须学会使用相应的集成开发环境。集成开发环境一般都是 GUI 界面,以菜单和图标的方式提供各种操作功能。如:在 VC 的集成开发环境下,有 File, Edit, Run 等菜单板,每个菜单板下又有不同的菜单项。如 File 下又有 New, Open, Save 等菜单项。编程者只有学会使用集成开发环境提供的这些功 能,才能进行程序的设计与开发。3. 熟悉库函数或类库对于多数程序设计语言,其编译系统(或者解释系统)一般都会提供

16、一些标准的库函数。 如输入/输出的标准函数、字符串处理的标准函数、数学计算的标准函数等。编程者只要知 道这些标准函数的功能、调用方式、返回何种结果,并且能够在自己的程序中调用这些标准 函数就行了。完全没有必要自己去编写这些函数。对于面向对象的程序设计语言,其编译系统一般都会提供一些标准的类库。在这些类库 中,封装了各种各样的数据成员和成员函数。编程者只要了解这些数据成员的含义,以及这些成员函数的功能,函数原型,就可以通过继承的方式使用这些现成的数据和函数。1.1.3 程序设计语言的发展过程总的来讲,程序设计语言的发展过程可以划分为三个阶段。即:从 1951 年到 1955年, 汇编语言的产生和发展阶段;从1956 年到 1985年,面向过程的程序设计语言,即面向过程 的高级语言的产生和发展阶段;从 1985 年至迄今,面向对象的程序设计语言的产生和发展 阶段。1 汇编语言的产生和发展为了摆脱机器语言编程的困难,上世纪50 年代初期,基

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号