第6章-程序设计语言-习题与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章习题
(1)复习题
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)