admin 管理员组

文章数量: 1184232


2024年3月19日发(作者:iframe无滚动条)

高级语言程序设计及应用

第一章 程序设计语言概论

1.1 程序设计语言的历史

在计算机科学与技术学科中,程序设计语言是每一位希望步入这信息科学最主要基础学

科光辉殿堂的学生所要首先遇到的课程之一。伴随着计算机的产生和发展,程序设计语言也

历经约半个世纪的沧桑岁月。自从1957年FORTRAN语言问世以来,人类已经创造了数以百

计的各种各样的程序设计语言,它们又被称为笼统的称为计算机语言或者高级语言。在这些

程序设计语言中,有些昙花一现,有些流传至今。如:FORTRAN、COBOL、BASIC、PASCAL、C、

ADA、C++、JAVA、ML等至今仍然被人们用于科学计算、商业服务、教学研究、网络应用等

各个领域。

了解什么是程序设计语言,了解程序设计语言的各个发展阶段以及这些阶段又有那些代

表性的程序设计语言,了解这些特定的程序设计语言的产生、发展历史和演变状况,这些对

于学习程序设计语言来讲是非常必要的。

1.1.1程序设计语言

严格说来,计算机语言包括机器语言、汇编语言和高级语言这三类语言。如果不涉及汇

编语言,程序设计语言往往就是指高级语言。从某种意义上将,计算机语言从机器语言发展

到汇编语言,标志着人类与计算机首次有了基于符号的共同语言。即这种语言(汇编语言)

是人类(借助助记符)和计算机(借助汇编程序)都能够理解的语言。它也是人类将符号引

入程序设计的开始。由于汇编语言与机器的指令系统直接相关,不同指令系统的计算机有着

不同的汇编语言。因此,在汇编语言中数据类型和数据结构具有典型的面向机器的特点。如:

用DB、DW、DD等分别定义字节、字和双字,用标号来定义符号地址。汇编语言缺乏类似数

学语言那样面向问题的数据类型,使得编程者要具备比较好的计算机硬件基础才能进行汇编

语言程序设计,这无疑限制了计算机的广泛使用和发展。高级语言从产生之日起,就将面向

问题的数据类型的概念引入程序设计,通过将数据分类成为字符型、整型、浮点型等不同的

类型,来刻画、描述不同类型数据。从某种意义上将,从汇编语言到高级语言的发展过程,

是人类在程序设计方面从面向机器的数据类型向面向问题的数据类型、或从没有面向问题的

数据类型向有面向问题的数据类型的一次飞跃。而高级语言产生、发展、演变,各种各样高

级语言的兴起,实质上就是高级语言数据类型的不断完善、不断扩充、不断复杂多样,以及

对客观实体描述能力不断增强的一个过程。

机器语言是机器指令的集合。而机器指令指计算机的CPU能够识别并处理的二进制代

码。由这些二进制代码组成的二进制代码串称为机器程序。以把立即数5传送到累加器的操

作为例:在以80X86 为CPU的计算机中的二进制代码是:B80005。在以Z80为CPU的计算

机中的二进制代码是:3E05

汇编语言是一种使用助记符的语言。助记符是一些缩写的英文单词,这些缩写的英文单

词都有特定的操作含义。如:MOV或LD表示传送、ADD表示乘法运算等。因此,汇编语言是

一种面向机器的计算机语言。用汇编语言编写的程序称为汇编语言程序或源程序。将汇编语

言程序翻译成机器语言程序(也称为目标程序)的程序称为汇编程序。仍以把立即数5传送

到累加器的操作为例:在以80X86 为CPU的计算机中的汇编语言程序是:MOV AX,5。而在

以Z80为CPU的计算机中的汇编语言程序是:LD A,5。

如果认为高级语言就是我们所要讨论的程序设计语言。那么,什么是程序设计语言?正

如将物体向不同平面投影可以得到不同的平面图形一样,不同的人从不同的角度对程序设计

语言有不同的理解。计算机的使用者认为程序设计语言是操纵计算机的工具;程序员则认为

第 1-1 页

高级语言程序设计及应用

它是程序员之间的相互通信和交流的方法;喜欢数学和算法的人则认为它是算法的符号表

示。按照Ravi Sethi的观点,一门通用的程序设计语言应该是能够为各种各样的用户都能

提供服务的语言。尽管对程序设计语言的理解和定义多种多样,但是按照一般比较流行的观

点,可以认为:程序设计语言是由一些符号所构成,这些符号被用于定义、组织、并完成各

种各样的计算任务。

人类所使用的语言称为自然语言。它是以语音为物质外壳、以词汇为建筑材料、以语法

为结构规律而构成的体系。与此类似,程序设计语言是以具有特定语义的符号为基本构成单

位、以语法为程序构成规律、专门用于定义、组织、并完成各种各样的计算任务而形成的体

系。

什么是程序?什么是程序设计呢?程序是用程序设计语言表示的计算机解题算法或计

算机解题任务。程序设计是将解题任务转变成程序的过程。Nell Dale等人则指出:程序就

是要求计算机执行的指令序列。程序设计就是如何计划、安排计算机必须遵循的操作步骤顺

序的过程。

在程序设计中,往往涉及到数据、变量、对象、值、数据类型等名词。这些名词是程序

设计的基础概念。

数据 数据是客观事物的符号表示。在计算机学科中,数据是指所有能够输入到计算机内、

被计算机处理,以及计算机处理结果输出的那些符号的总称。在科学计算方面,数据往往指

的是整数和实数。在字处理程序、编译程序和解释程序中,数据又往往是字符串。在多媒体

处理程序中,数据则往往是语音、图象的编码表示。

变量 在微型计算机、小型计算机及以上的各类计算机中,内存是以字节为单位线性编址的。

在访问内存单元的时候,要获得内存单元的地址,然后才能访问该地址内存单元的内容。在

程序设计语言中仿照了数学中的方法,引入了变量的概念。变量有名字和值。变量名是内存

单元地址的有名表示,或者说是内存单元地址的符号表示。也就是说,通过变量名可以访问

对应的内存单元。变量名所标识的内存单元中存放的内容则代表该变量的值。通过向变量赋

值,可以改变变量名所标识的内存单元中的内容。

对象 广义上讲,对象是指一切可以被感知和触摸的客观实体。按程序设计的观点,对象则

是变量概念的进一步推广和延伸。关于对象这个名词本章后面还将进行深入的解释。

值 从硬件系统的观点看,值实际上指的是计算机内存中存储的内容。不同类型的值在内存

中占用的字节数是不同的。在字长为16位的计算机中,一个字符型数据占1个字节,一个

整型值的数据占2个字节,一个浮点型数据占4字节。在字长为32位的计算机中,一个字

符型数据仍占1个字节,一个浮点型数据也仍占4字节,但一个整型值的数据占4个字节。

因此,在程序中必须通过说明变量或对象的类型,来决定其值占用的字节数。从程序设计的

角度看,值是变量或对象的内容,是表达式的运算结果。

数据类型 数据类型是程序设计语言用来定义和描述其操作对象特性的一种方法。它由一个

值集和定义在该值集之上,用于创建、操纵该类型对象的操作集组成。数据类型的值集说明

该种类型的变量或对象的取值范围;数据类型的操作集则说明了对该种类型的变量或对象可

以施行那样一些操作和运算。同时,数据类型也为编译器在对程序进行编译时如何为各种类

型的变量或对象分配存储提供了依据,也为硬件系统如何使用这些变量或对象提供了操作方

法。

1.1.2 如何学习和使用程序设计语言

作为初学者,如何学会、掌握一门乃至多门程序设计语言?如何用所学的程序设计语言

去解决实际工作中的应用问题呢?如果不考虑应用问题涉及的一些具体数据结构以及相应

算法,则主要涉及到三个方面的学习和训练。首先,要学习并理解所学程序设计语言的语法

第 1-2 页


本文标签: 语言 程序设计 计算机 数据 数据类型