1. 考点:转化规则
2. 经典例题
2.1 题目一
题目:
表达式采用逆波兰式表示时,利用( )进行求值。
选项:
A、栈
B、队列
C、符号表
D、散列表
解析:
逆波兰式(后缀表达式)求值时,从左到右扫描表达式:
- 遇到操作数就压入栈中;
- 遇到运算符就从栈顶弹出两个操作数进行计算,再将结果压回栈中;
- 扫描结束后,栈中剩下的唯一元素即为最终结果。
2026/9/14小于 1 分钟
题目:
表达式采用逆波兰式表示时,利用( )进行求值。
选项:
A、栈
B、队列
C、符号表
D、散列表
解析:
逆波兰式(后缀表达式)求值时,从左到右扫描表达式:
正确答案:B。
正确答案:D。
正规式是描述程序语言单词的表达式。
对于字母表 Σ,其上的正规式及其表示的正规集可以递归定义如下:
ε 是一个正规式,它表示集合 L(ε) = {ε}。
若 a 是 Σ 上的字符,则 a 是一个正规式,它所表示的正规集 L(a) = {a}。
若正规式 r 和 s 分别表示正规集 L(r) = L(s),则:
形式文法定义:一个形式文法是一个有序四元组 G=(V,T,S,P),其中:
正则闭包与闭包:
常见示例:
重点与口诀:
输入:源程序
输出:记号流
main()
{
int a=3,b=4;
S(a,b);
printf("%d %d",a,b);
}
void S(int x,int y)
{
int t;
t=x; x=y; y=t;
}
运算(运算符分类)
算术运算符
+(加)、-(减)、*(乘)、/(除)//(整除)、%(取余/模)、**(幂运算)关系(比较)运算符
>(大于)、<(小于)、==(等于)>=(大于等于)、<=(小于等于)、!=(不等于)逻辑运算符
and(与)、or(或)、not(非)赋值运算符
=(赋值)+=、-=、*=、/=、//=、%=、**=(复合赋值)位运算符
&(按位与)、|(按位或)、^(按位异或)、~(按位取反)<<(左移)、>>(右移)成员运算符
in(在其中)、not in(不在其中)身份运算符
is、not is(比较对象的内存地址是否相同)集合运算符
&|^-列表/序列运算符
+:相当于拼接列表*:相当于倍数、重复in / not in:成员判断is / not is:身份判断(内存地址)| 比较维度 | 编译型语言 (如 C) | 解释型语言 (如 Python) |
|---|---|---|
| 翻译程序 | 编译器 | 解释器 |
| 是否生成目标代码 | 生成目标代码 | 不生成目标代码 |
| 目标程序执行 | 目标程序直接执行 | 边解释边执行 |
| 翻译程序参与 | 编译器不参与执行 | 解释器参与执行 |
| 执行效率 | 执行效率高 | 执行效率低 |
| 灵活性与可移植性 | 灵活性差,可移植性差 | 灵活性好,可移植性强 |