第六章习题 P159-161
一、复习题
1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。赵丽颖怀孕冯绍峰天涯
自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。用机器指令形式编写的程序称为机器语言,
用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。这些使用助记符语言的语言后来就被称之为汇编语言。 (P144- P146)
2、试述计算机语言的类型,它们各有什么特点?
1.机器语言,是最低级的语言,由二进制码组成,最早期的程序员通过在纸带上打点来写程序
2.汇编语言,用助记符和地址符代替了二进制码,更易于编写。
3.高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如C语言、Pascal、Java、C#等都是高级语言。 (P145-147)
3、列举程序设计语言的几种范型。
程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。 (P147-149)
4、简述语言虚拟机。
提示:语言虚拟机是某种语言的解释器。语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。这样使得硬件系统能够支持这种语言编写的程序的有效执行。目前最流行的语言虚拟机是Java虚拟机。
(P156)
5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?
提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。
编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。编译方式是一次编译,然后执行程序可以反复多次执行。
解释是另一种将高级语言转换为可执行程序的方式。与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。
近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。 (P154-157)
6、请画出编译程序的总框图。如果你是一个编译程序的总设计师,设计编译程序时应当考虑哪些问题?
作为一个编译程序的总设计 师,首先要深刻理解被编译的源语言其语法及语义;其次,要
充分掌握目标指令的功能及特点,如果目标语言是机器指令,还要搞清楚机器的硬件结构及操作系统的功能;第三,对编译的方法及使用的软件工具也必须准确化。总之,总设计师在设计编译程序时必须估量系统功能要求、硬件设备及软件工具等诸因素对编译程序构造的影响等。 (P154-156)
7、什么是IDE?
IDE集成开发环境的简称(Integrated Develop Environment)是一套用于程序开发的软件工具集合,一般包括源代码编辑器、编译器、调试器和图形用户界面工具。(P158)
8、简述程序设计语言的基本构成元素。
程序设计语言的语法元素主要有:字符集、表达式、语句、标识符、关键字和保留字、注释等组成。 (P149-P151)
9、简述标识符及其作用域的概念
标识符是程序设计时设计人员用来命名事物的符号。标识符的作用域是指其被定义的有效的范围,同一个表现形式的标识符在不再的区域里可以代表不同的含义。 (P150)
10、说明将源程序转化为计算机能够识别的指令的过程。
提示:该转化过程即为编译的基本过程,包括词法分析;语法分析;中间代码生成;代码优化;目标代码生成等五个阶段,各阶段有具体的任务。 (P154-155)
二、练习题
(一)填空题
1、____________语言的书写方式接近于人们的思维习惯,使程序更易阅读和理解。
高级语言 (P146)
2、程序语言中的控制成分包括顺序结构、__________和循环结构。
选择结构 (P153)
3、在基于继电器的计算机器时代,所谓“程序设计”实际上就是设置__________开关,所以通常的情况是“设置程序”的时间比计算时间长。
继电器 (P145)
4、自然语言的基本特征包括_________和_____________________。
歧义性、不够严格和不够统一的语法结构 (P144)
5、自然语言的输入可以使用___________、___________、___________、___________等方式。
6、函数与过程最明显的区别在于_________________。
{ 过程本身不返回值,而函数本身返回值 }(P154)
7、通常按照程序运行时数据的_____能否改变,将数据分为常量和变量。
{ 值 } (P151)
8、__________是将源程序转换为一种中间类型的代码,通常其生成的是非常接近机器语言的二进制代码。
鬼泽夫妇尼坤伪编译 (P156)
9、集成开发环境(IDE)是一套用于程序开发的软件工具集合,一般包括___________、___________、___________和___________等工具。
{ 源代码编辑器、编译器、调试器和图形用户界面 } (P158)
10、用运算符号按一定的规则连接起来的、有意义的式子称为__________。
表达式 (P151)
11、保留字也叫___________,指在语言中已经定义过的字,使用者不能再将这些字来命名其他事物。绿植物
关键字 (P150)
12、操作符是用来代表运算操作的符号,每个操作符表示一种运算操作。通常语言中具备___________、___________、___________和___________等等几类。
赋值操作符、算术操作符、比较操作符、逻辑操作符、位操作符 (P150)
13、类是面向对象语言必须提供的由用户定义的数据类型,它是将具有相同___________、___________、___________的多个对象抽象而成的。
状态、操作和访问机制 (P148)
14、科学的语言基本上是___________性、___________性而非评论性的。
描述性、断定性 (P145)
15、_________是能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。
子程序 (P153)
16、形式语言是进行形式化工作的元语言,它是以________和________为基础的科学语言。
数学和数理逻辑 (P145)
17、匈牙利命名法的基本原则是:标识符=____________+____________+____________。
属性 类型 对象描述 (P150)
18、程序语言的分类没有统一的标准,根据程序设计的方法将程序语言大致分为____________、____________、____________和____________设计语言等类型。
命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言 (P159)
19、逻辑型语言是一类以___________为基础的语言,其代表是Prolog语言,这种语言与数据库SQL语言有很多相似之处。
形式逻辑 (P148)
20、____________的选择是语言设计的第一件事。
字符集 (P149)
(二)选择题
1、结构化程序设计主要强调的是______。
A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性
B (P146)
2、程序设计语言从机器语言到高级语言的抽象,带来的主要好处是_____。
A、高级语言接近算法语言,易学、易掌握 B、可读性好,可维护性强,可靠性高
C、设计的程序可移植性好,重用率高 D、高级语言程序设计自动化程度高,开发周期短
A (P146)
3、下面是关于解释程序和编译程序的论述,其中正确的一条是__________
A、编译程序和解释程序均能产生目标程序
B、编译程序和解释程序均不能产生目标程序
C司马南是什么人、编译程序能产生目标程序而解释程序则不能
D、编译程序不能产生目标程序而解释程序能
A (P155)
4、近来计算机报刊中常出现的“Java ”一词是指_________。
A、一种计算机语言 B、一种计算机设备
C、一个计算机厂商云集的地方 D、一种新的数据库软件
A (P156)
5、采用编译方法的高级语言源程序在编译后_________。
A、生成目标程序 B、生成可在DOS下直接运行的目标程序
C、生成可执行程序 D、生成可在DOS下直接运行的可执行程序
C (P155)
6、用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过____。
A、汇编 B、编辑 C、解释 D、编译和连接
D (P155)
7、计算机硬件能直接执行的只有____。
张敬轩哪些歌好听 A、符号语言 B、机器语言 C、机器语言和汇编语言 D、汇编语言
B (P145)
8、只有当程序要执行时,它才会将原程序翻译成机器语言,并且一次只能读取、翻译并执行原程序中的一行语句,此程序称为____。
A、目标程序; B、编辑程序; C、解释程序; D、汇编程序。
C ( P156)
9、构造编译程序应掌握柳岩不照雅照片原图____。
A、源程序 B、目标语言 C、编译方法 D、以上三项都是
D ( P154)
10、编译程序绝大多数时间花在
A、出错处理 B、词法分析 C、目标代码生成 D、表格管理
D ( P154)
11、如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。
A、静态变量 B、动态变量 C、外部变量 D、内部变量
D (P152)
12、在C语言中,函数的数据类型是指____。
A、函数返回值的数据类型 B、函数形参的数据类型
C、调用该函数时的实参的数据类型 D、任意指定的数据类型
发布评论