视频加载失败

课程

1204 字
约 4 分钟

学堂在线测试 —— 编译原理

编译原理exercises/xuetangx_2026·更新于 2026-09-15

学堂在线测试 —— 编译原理

语义分析和中间代码产生 习题


一、 单项选择题(本题共 11 小题,每小题 1 分,共 11 分)

1. 中间代码生成所依据的是语言的 ( )。

  • A. 词法规则
  • B. 语法规则
  • C. 语义规则
  • D. 产生规则

2. 下面哪些属于程序语言的语义定义?( )

  • A. 表达式中圆括号必须匹配
  • B. 类的声明必须以 class 开头
  • C. 关于函数调用时参数传递方法的描述
  • D. 函数体必须用 return 语句结尾

3. (a+b)/(c-d) 对应的逆波兰式(后缀式)是 ( )。

  • A. abcd-/+
  • B. ab+cd-/
  • C. abcd+/-
  • D. ab+cd/-

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. DFA
  • C. 三地址代码
  • D. 抽象语法树

11. 下列各项不可能是目标代码的是 ( )

  • A. 汇编指令代码
  • B. 可重定位指令代码
  • C. 绝对指令代码
  • D. 三地址代码

二、 填空题(本题共 2 小题,每小题 1 分,共 2 分)

1. 语义分析和中间代码生成阶段,用 ______ 描述语义规则。

2. 表达式 (a+b)c(a+b)*c 的后缀式形式是 ______。


三、 主观题(本题共 1 小题,每小题 10 分,共 10 分)

1. 把程序段:

while a < b do
    if c < d then
        x := y + z;

翻译成四元式代码,假设语句标号从 100 开始。

Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录