第六章程序设计语言复习题及答案

来源:范文网 6.39K

1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。

第六章程序设计语言复习题及答案

自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。用机器指令形式编写的程序称为机器语言, 用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。这些使用助记符语言的语言后来就被称之为汇编语言。

(P135 P136)

2、什么是高级程序设计语言?它有什么特点?

高级语言是汇编语言的一种抽象。高级语言的设计目标就是使程序员摆脱汇编语言细节的繁琐。高级语言同汇编语言都有一个共性,那就是:它们必须被转化为机器语言,这个转化的过程称为解释或编译。

(1)高级语言接近算法语言,易学、易掌握;

(2)高级语言设计出来的程序可读性好,可维护性强,可靠性高;

(3)高级语言与具体的计算机硬件关系不大,其程序可移植性好,重用率高;

(4)高级语言自动化程度高,开发周期短,利于提高程序的质量。

(P138)

3、列举程序设计语言的几种范型。

程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

(P138-140)

4、简述语言虚拟机。

提示:语言虚拟机是某种语言的解释器。语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。这样使得硬件系统能够支持这种语言编写的程序的有效执行。目前最流行的语言虚拟机是Java虚拟机。 (P147)

5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么? 提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。

编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。编译方式是一次编译,然后执行程序可以反复多次执行。

解释是另一种将高级语言转换为可执行程序的方式。与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。

近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。

(P144-147)

6、试分析对象和类的关系。

对象:对象是人们要进行研究的任何事物,它具有状态和操作。面向对象语言把状态和操作封装于对象实体之中,并提供一种访问机制,使对象的“私有数据”仅能由这个对象的操作来访问。用户只能通过向允许公开的操作提出要求(或发送消息),才能查询和修改对象的状态。这样,对象状态的具体表示和操作的具体实现都被隐藏起来了。

类:类是面向对象语言必须提供的由用户定义的数据类型,它将具有相同状态、操作和访问机制的多个对象抽象成一个对象类。在定义了类以后,属于这种类的一个对象称为类实例或类对象。类代表一般,而该类的`一个对象代表具体。

(P139)

7、什么是IDE?

IDE集成开发环境的简称(Integrated Develop Environment)是一套用于程序开发的软件工具集合,一般包括源代码编辑器、编译器、调试器和图形用户界面工具。(P160)

8、简述程序设计语言的基本构成元素。

程序设计语言的语法元素主要有:字符集、表达式、语句、标识符、关键字和保留字、注释等组成。

(P140-P141)

9、简述标识符的概念。

标识符是程序设计时设计人员用来命名事物的符号。

(P151)

10、说明将源程序转化为计算机能够识别的指令的过程。

提示:该转化过程即为编译的基本过程,包括词法分析;语法分析;中间代码生成;代码优化;目标代码生成等五个阶段,各阶段有具体的任务。

(P144-145)

(2) 练习题

1、____________语言的书写方式接近于人们的思维习惯,使程序更易阅读和理解。 高级语言 (P149)

2、程序语言中的控制成分包括顺序结构、__________和重复结构。

选择结构 (P155)

3、在基于继电器的计算机器时代,所谓“程序设计”实际上就是设置__________开关,所以通常的情况是“设置程序”的时间比计算时间长。

继电器 (P145)

4、自然语言的基本特征包括_________和_____________________。

歧义性、不够严格和不够统一的语法结构 (P146)

5、面向对象最基本的概念包括___________、___________和___________。

对象、类、继承 (P139)

6、函数与过程最明显的区别在于_________________。

{ 过程本身不返回值,而函数本身返回值 }(P144)

7、通常按照程序运行时数据的_____能否改变,将数据分为常量和变量。

{ 值 } (P142)

8、程序语言的控制成分包括___________、___________、___________等三种。 {顺序结构、分支结构、循环结构}(P143)

9、__________是将源程序转换为一种中间类型的代码,通常其生成的是非常接近机器语言的二进制代码。

伪编译 (P147)

10、集成开发环境(IDE)是一套用于程序开发的软件工具集合,一般包括___________、___________、___________和___________等工具。

{ 源代码编辑器、编译器、调试器和图形用户界面 } (P148)

11、用运算符号按一定的规则连接起来的、有意义的式子称为__________。

表达式 (P141)

12、保留字也叫___________,指在语言中已经定义过的字,使用者不能再将这些字来命名其他事物。

关键字 (P140)

13、操作符是用来代表运算操作的符号,每个操作符表示一种运算操作。通常语言中具备___________、___________、___________和___________等等几类。

赋值操作符、算术操作符、比较操作符、逻辑操作符、位操作符 (P140)

14、类是面向对象语言必须提供的由用户定义的数据类型,它是将具有相同___________、___________、___________的多个对象抽象而成的。

状态、操作和访问机制 (P139)

15、科学的语言基本上是___________性、___________性而非评论性的。

描述性、断定性 (P147)

16、 子程序 (P143)

17、形式语言是进行形式化工作的元语言,它是以________和________为基础的科学语言。 数学和数理逻辑 (P136)

18、匈牙利命名法的基本原则是:标识符=____________+____________+____________。 属性 类型 对象描述 (P140)

19、程序语言的分类没有统一的标准,根据程序设计的方法将程序语言大致分为____________、____________、____________和____________设计语言等类型。

命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言 (P149)

20、逻辑型语言是一类以___________为基础的语言,其代表是Prolog语言,这种语言与数据库SQL语言有很多相似之处。

形式逻辑 (P139)

21、____________的选择是语言设计的第一件事。

字符集 (P140)

22、结构化程序设计主要强调的是______。

A、程序的规模 B、程序的易读性 C、程序的执行效率

B (P138) D、程序的可移植性

23、程序设计语言从机器语言发展到高级语言有好处很多,下列描述中不正确的是_____。

A、高级语言技术先进,运行更快

B、可读性好,可维护性强,可靠性高

C、设计的程序可移植性好,重用率高

D、高级语言程序设计自动化程度高,开发周期短

A (P138)

24、下面是关于解释程序和编译程序的论述,其中正确的一条是__________

A、编译程序和解释程序均能产生目标程序

B、编译程序和解释程序均不能产生目标程序

C、编译程序能产生目标程序而解释程序则不能

D、编译程序不能产生目标程序而解释程序能

A (P156)

25、近来计算机报刊中常出现的“Java ”一词是指_________。

A、一种计算机语言 B、一种计算机设备

C、一个计算机厂商云集的地方 D、一种新的数据库软件

A (P146)

26、采用编译方法的高级语言源程序在编译后_________。

A、生成目标程序 B、生成可在DOS下直接运行的目标程序

C、生成可执行程序

C (P156)

D、生成可在DOS下直接运行的可执行程序

27、用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过____。

A、汇编

D (P156) B、编辑 C、解释 D、编译和连接

28、计算机硬件能直接执行的只有____。

A、符号语言B、机器语言 C、机器语言和汇编语言 D、汇编语言

B (P147)

29、只有当程序要执行时,它才会将原程序翻译成机器语言,并且一次只能读取、翻译并执行原程序中的一行语句,此程序称为____。

A、目标程序; B、编辑程序; C、解释程序; D、汇编程序。

C ( P158)

30、下列哪些元素不能用于标识符名称:

A、字母

C (P142) B、数字 C、空格 D、下划线

31、如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。

A、静态变量 B、动态变量

D (P154)

32、判断题

(1)汇编语言语句与特定的机器指令有一一对应的关系 ( )

(2)支撑机器语言的理论基础是冯诺依曼模型 ( )

(3)形式化语言是人工语言符号系统发展的第三阶段 ( ) {(1)对,(2)错,(3)错}

33、简述匈牙利命名法。

匈牙利命名法。其基本原则是:标识符=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。(P152)

34、试比较“while型”循环结构和“do-while型”循环结构。

“while型”循环结构的逻辑含义是先判断条件,若成立,则执行需要重复的程序块,然后再去判断重复条件, 以决定是否继续循环。“do-while型”循环结构的逻辑含义是先执行需要重复的循环体,然后计算关系表达式,以决定是否继续循环。也就是说使用“while型”循环结构可能不进行入循环,循环体一次也不执行;而“do-while型”循环结构至少要执行一次循环体。

(P155)

C、外部变量 D、内部变量

热门标签