高级语言与编译程序概述自测题doc资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言与编译程序概述自测题
第一章高级语言与编译程序概述
一、单项选择题
1.将编译程序分成若干个“遍”是为了____。
A. 提高程序的执行效率
B. 使程序的结构更加清晰
C. 利用有限的机器内存并提高机器的执行效率
D. 利用有限的机器内存但降低了机器的执行效率
2.构造编译程序应掌握____。
A. 源程序
B. 目标语言
C. 编译方法
D. 以上三项都是
3.编译程序绝大多数时间花在____上。
A. 出错处理
B. 词法分析
C. 目标代码生成
D. 管理表格
4. ____不可能是目标代码。
A. 汇编指令代码
B. 可重定位指令代码
C. 绝对指令代码
D. 中间代码
5.使用____可以定义一个程序的意义。
A. 语义规则
B. 词法规则
C. 产生规则
D. 左结合规则
6.词法分析器的输入是____。
A. 单词符号
B. 源程序
C. 语法单位
D. 目标程序
7.中间代码生成时所遵循的是____。
A. 语法规则
B. 词法规则
C. 语义规则
D. 等价变换规则
8.编译程序是对____。
A. 汇编程序的翻译
B. 高级语言程序的解释执行
C. 机器语言的执行
D. 高级语言的翻译
9.词法分析应遵循____。
A. 语义规则
B. 语法规则
C. 构词规则
D. 等价变换规则
10.若源程序是高级语言编写的程序,目标程序是____,则称它为编译程序。
A. 汇编语言程序或高级语言程序
B. 高级语言程序或机器语言程序
C. 汇编语言程序或机器语言程序
D. 连接程序或运行程序
11.编译过程中,词法分析阶段的任务是____。
A.识别表达式
B. 识别语言单词
C. 识别语句
D. 识别程序
二、多项选择题:
1.编译程序各阶段的工作都涉及到____。
A. 语法分析
B. 表格管理
C. 出错处理
D. 语义分析
E. 词法分析
2.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:____和____。
A. 编译阶段
B. 汇编阶段
C. 运行阶段
D. 置初值阶段
3.编译程序工作时 , 通常有____阶段。
A.词法分析
B. 语法分析
C. 中间代码生成
D. 语义检查
E. 目标代码生成
F.出错处理
G.表格管理
4.编译过程中所遵循的规则有____。
A.等价变换规则
B. 短语规则
C. 构词规则
D. 语义规则
E. 语法规则
三、填空题:
1.解释程序和编译程序的区别在于________。
2.编译过程通常可分为 5 个阶段,分别是____、语法分析、____、代码优化和目
标代码生成。
3. 编译程序是指能将____程序翻译成____程序的程序。
4.把语法范畴翻译成中间代码所依据的是语言的____。
5.目标代码可以是____指令代码或____指令代码或绝对机器指令代码。
6.词法分析所遵循的是语言的____,而中间代码生成所遵循的是语言的____。
四、判断题:
1.编译程序是一种常用的应用软件。
()
2.C语言的编译程序可以用C语言来编写。
()
3.编译方式与解释方式的根本区别在于是否生成目标代码。
()
4.编译程序与具体的语言无关。
()
5.一般而言,中间代码是一种独立于具体硬件的记号系统。
()
6.编译程序与具体的机器有关。
()
7.对编译程序而言,代码优化是不可缺少的一部分。
()
8.对编译程序而言,中间代码生成是不可缺少的一部分。
()
9.编译程序生成的目标程序一定是可执行的程序。
()
10.含有优化部分的编译程序的执行效率高。
()
五、综合题
1.计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?
2.画出编译程序的总体结构图,简述各部分的主要功能。
3.什么叫自展?什么叫交叉编译?
4.试分析编译程序是否分遍应考虑的因素及多遍扫描编译程序的优缺点。
5.请画出编译程序的总框。如果你是一个编译程序的总设计师,应当考虑哪些问题?(国防
6.何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系?
7.选择一种你所熟悉的程序设计语言,试列出此语言中的全部关键字,并通过上机使用该语言以判明这些关键字是否为保留字。
第一章答案:
一、答:1.B 2.D 3.D4.D5.A6.B7.C8.D9.C 10.C 11.B
二、答:1.BC 2AC 3.ABCDE4.ACDE
三、答:
1.是否生成目标程序
2.词法分析、中间代码生成
3.高级语言所写的源语言等价的机器语言或汇编语言的目标
4.语义规则。
5.汇编可重定位
6.词法规则语义规则
四、答:1.X 2.√ 3.√4.X 5.√6.X 7.X 8.X 9.X10. X
五、
1.计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?
答:计算机执行用高级语言编写的程序主要有两种途径:解释和编译。
在解释方式下,编译程序事先并不采用将高级语言程序全部翻译成机器代码程序,然后执行这个机器代码程序的方法,而是每读入一条源程序的语句,就将其解释(翻译)成对应其功能的机器代码语句串执行之,而所翻译的机器代码语句串在该语句执行后并不保留,然后再读入下一条源程序语句,再解释执行。这种方法是按照源程序语句中动态的执行顺序逐句解释(翻译)执行的,如果一语句处于一循环体中,则每次循环执行到该语句时,都要将其翻译成机器代码后执行。