首页课程小红花墙

计算机原理 · 小纸条

选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。

第 1 章30第 2 章30第 3 章30第 4 章30第 5 章30第 6 章30第 7 章30第 8 章30第 9 章30第 10 章30第 11 章30第 12 章30第 13 章30第 14 章30第 15 章30第 16 章30第 17 章30第 18 章30第 19 章30第 20 章30第 21 章30第 22 章30第 23 章30第 24 章30第 25 章30第 26 章30第 27 章30第 28 章30第 29 章30第 30 章30第 31 章30第 32 章30第 33 章30第 34 章30第 35 章30第 36 章30第 37 章15
题目+答案
第 1 页 · 正面(题目)
1什么是词法分析

把 12+3 切成有意义的小块,你会切成几块?

2什么是 token

x = 9 会切出哪几个 token?各是什么类型?

3空白与换行

7 * 2(中间很多空格)切出几个 token?

4认出数字

读到 4、5、+、6,数字 token 会怎么分?

5认出名字

if 和 ifs,哪个是关键字,哪个更可能是普通名字?

6认出符号

a == b 里,中间应该切成一个 token 还是两个?

7手写分词器

把 12+ab 这串字符按分词器的规则切开,会得到哪几个 token?

8注释怎么处理

5 + 6 # 这是加法 会生成几个 token?

9词法错误

假设某语言不认识 ?,那 3 ? 4 会在哪一站先出错?

10语法是什么

5 * (乘号后面没东西)为什么不合语法?

第 2 页 · 正面(题目)
11语法规则

按"表达式 = 数字 | 表达式 + 表达式",1 + 2 + 3 合法吗?

12语法分析概览

语法分析的输入是什么?输出是什么?

13解析树

解析树很详细,这是优点还是缺点?

14抽象语法树

画出 8 - 2 的 AST(说出结构即可)。

15表达式变成树

把 2 * 3 + 4 画成树,哪个运算符在上层?

16运算优先级

算 10 - 2 * 3 等于多少?

17括号的作用

(10 - 2) * 3 等于多少?

18结合性

20 / 2 / 5 按从左到右等于多少?

19递归的语法

为什么递归的规则能描述任意长的算式?

20遍历语法树

遍历 + 节点时,应该先算它的孩子还是先算它自己?

第 3 页 · 正面(题目)
21语义分析是什么

说一个"语法对但意思不通"的中文句子。

22名字用了没定义

a = b + 2 若 b 从没出现过,会报什么错?

23类型对不对

10 * "苹果" 在讲究类型的语言里合理吗?为什么?

24什么是变量

执行完 n = 5 再执行 n = 8,盒子 n 里现在是几?

25局部变量

函数里定义的 t,函数结束后还能在外面用吗?

26全局变量

为什么全局变量用多了容易出问题?

27作用域嵌套

里层代码能用外层定义的变量吗?外层能用里层的吗?

28变量遮蔽

外层 x=1,里层又 x=9,在里层用 x 是几?出去后呢?

29什么是栈帧

局部变量为什么函数一结束就没了?

30函数调用发生什么

函数执行完,程序怎么知道该回到哪里继续?

op599 课程