编译原理(河工程)练习1

一. 单选题(共15题,75分)

1. (单选题, 5分)将编译程序分成若干个“遍”是为了___

  • A.提高程序的执行效率
  • B. 使程序的结构更加清晰
  • C. 利用有限的机器内存并提高机器的执行效率
  • D. 利用有限的机器内存但降低了机器的执行效率

正确答案: B

2. (单选题, 5分)中间代码生成时所依据的是 _  。

  • A. 语法规则
  • B. 词法规则
  • C. 语义规则
  • D. 等价变换规则

正确答案: C

3. (单选题, 5分)一个编译程序中,一般包含词法分析,_____,中间代码生成,代码优化, 目标代码生成等五个部分。

  • A. 语法分析
  • B. 文法分析
  • C. 语言分析
  • D. 解释分析

正确答案: A

4. (单选题, 5分)词法分析器用于识别_____。

  • A. 字符串
  • B. 语句
  • C. 单词
  • D. 标识符

正确答案: C

5. (单选题, 5分)语法分析器则可以发现源程序中的_____。

  • A. 语义错误
  • B. 语法和语义错误
  • C. 错误并校正
  • D. 语法错误

正确答案: D

5

6. (单选题, 5分)编译过程中 , 语法分析器的任务就是_____。

(1) 分析单词是怎样构成的    (2)  分析单词串是如何构成语句和说明的

(3) 分析语句和说明是如何构成程序的  (4) 分析程序的结构

  • A. (2)(3)
  • B. (2)(3)(4)
  • C. (1)(2)(3)
  • D. (1)(2)(3)(4)

正确答案: B

7. (单选题, 5分)

解释程序处理语言时 , 大多数采用的是____方法。

  • A. 源程序命令被逐个直接解释执行
  • B. 先将源程序转化为中间代码 , 再解释执行
  • C. 先将源程序解释转化为目标程序 , 再执行
  • D. 以上方法都可以

正确答案: B

8. (单选题, 5分)编译程序是一种_____。

  • A. 汇编程序
  • B. 翻译程序
  • C. 解释程序
  • D. 目标程序

正确答案: B

9. (单选题, 5分)

 _____和代码优化部分不是每个编译程序都必需的。

  • A. 语法分析
  • B. 中间代码生成
  • C. 词法分析
  • D. 目标代码生成

正确答案: B

10. (单选题, 5分)

_____是两类程序语言处理程序。

  • A. 高级语言程序和低级语言程序
  • B. 解释程序和编译程序
  • C. 编译程序和操作系统
  • D. 系统程序和应用程序

正确答案: B

11. (单选题, 5分)编写一个计算机高级语言的源程序后 , 到正式上机运行之前,一般要经过_____这几步:

(1) 编辑  (2) 编译  (3) 连接  (4) 运行

  • A. (1)(2)(3)(4)
  • B. (1)(2)(3)
  • C. (1)(3)
  • D. (1)(4)

正确答案: B

12. (单选题, 5分)构造编译程序应掌握______。

  • A. 源程序
  • B. 目标语言
  • C. 编译方法
  • D. 以上三项都是

正确答案: D

13. (单选题, 5分) 编译程序是对_____。

  • A. 汇编程序的翻译
  • B. 高级语言程序的解释执行
  • C. 机器语言的执行
  • D. 高级语言的翻译

正确答案: D

14. (单选题, 5分)

优化可生成_____的目标代码。

  • A. 运行时间较短 
  • B. 占用存储空间较小
  • C. 运行时间短但占用内存空间大
  • D. 运行时间短且占用存储空间小

正确答案: D

15. (单选题, 5分)代码生成阶段的主要任务是

  • A. 把高级语言翻译成汇编语言
  • B. 把高级语言翻译成机器语言
  • C. 把中间代码变换成依赖具体机器的目标代码
  • D. 把汇编语言翻译成机器语言

  • 正确答案: C

二. 填空题(共1题,5分)

16. (填空题, 5分)

编译程序的工作过程一般可以划分为      ,        ,        ,代码优化和目标代码生成等五个基本阶段,同时还会伴有____        _和 _____       。

正确答案:

(1) 词法分析,语法分析,语义分析和中间代码生成,表格管理,出错处理

三. 简答题(共1题,10分)

17. (简答题, 10分)对下列错误信息,指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、代码生成)报告的。

(1)else没有匹配的if

(2)数组下标越界

(3)使用的函数没有定义

(4)在数中出现非数字字符

正确答案:

(1)(3)语法分析阶段;(2)语义分析阶段;(4)词法分析阶段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值