💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
前言
小郑正在备考2024年下半年的中级软件设计师,所以打算开展一个软考备考专栏,在这里记录一下备考笔记以及习题,也希望大家能一起加入我们的软考备考之中,互相学习,一起进步。让我们快马加鞭,投入备考之中吧。
1.
答案:C
2.
答案:A
3.
答案:B
引用调用实参和形参会一起变
值调用实参和形参不会一起变
引用调用:
y = f(2)---> int la = 2 + 1 = 3 --- > g(la) ---> g(3) --> x = 3 * 3 + 1 = 10 --> g(10) ---> 10 * 2 = 20
值调用:
y = f(2)---> int la = 2 + 1 = 3 --- > g(la) ---> g(3) --> x = 3 * 3 + 1 = 10 --> 此时在左边的g(la)中的la还是等于3 不会因为右边的代码而变成10 所以la * x = 3 * 2 = 6
4.
答案:A B
5.
答案:C
6.
答案:D
后缀表达式是从左到右,先把表达式加上括号,再依次把运算符加到本层次的括号后面
(((ab)-) ((cd)+) *) --- >ab-cd+*
正规式
7.
答案:A
B : 因为b* 所以b 可以是空或者bb bbb... 当b为空的时候,不满足条件
C: 和b选项一样
D:可能出现aaaa 的情况 不满足条件
8.
答案:D
这道题的关键是所有字符串
A:不能满足aaab此类的情况
B:不能满足aaaab bbbbb此类的情况
C:不能满足aab此类清空
9.
答案:C
这类题首先看开始和结尾,题目的图0和1可以进行转换,1可以进行循环 空的不用管 所以要满足三个条件
A:没有1的转换
B:没有1的转换
C:正确
D没有1的转换
10.
答案:A
首位都是1 所以得出答案A
解释器:
翻译源程序时不生成独立的目标程序
解释程序和源程序要参与到程序的运行过程中
编译器:翻译时将源程序翻译成独立保存的目标程序
机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的运行过程
11.
答案:B
12.
答案:A
13.
答案:B
14.
答案:C
便于为数据合理分配存储单元
便于对参与表达式计算的数据对象进行检查
便于规定数据对象的取值范围及能够进行的运算
15.
答案:C
A : int = double 因为double的取值范围比int大 会做隐式转换 浮点型转化为整型
BD : 没有涉及转换
16.
答案:B
17.
答案:C
18.
答案:C
将题意转化为 x&y || !Z 便可得出答案
19.
答案:C
D选项 在传地址方式下,实参不可以是任意的变量和表达式
20.
答案:B D
第一问:因为是传值调用 a = 5 --> a = r = 5 --> a = r + 1 = 5 + 1 = 6 --> r = r * 2 = 5 * 2 = 10
int x = f(a) = 10 a + x = 6 + 10 = 16
第二问:因为是引用调用 a = 5 ---> 传地址 假设0x12 a = r = 5-->a = 5 + 1 = 6 --> r = 6
r = r * 2 = 12 int x= f(a) = 12 a+x = 12 + 12 = 24
21
答案:A
22
答案:D
23
答案:D
a = x = 5 --> m = 5 * 2 = 10--> x = a = 10 - 1 = 9 --> x + m = 9 + 10 = 19
c = 19 a + c = 9 + 19 = 28
24
答案:C B
25
答案:A C
26
答案:C 动态语义错误要在运行的时候才可以发现
27
答案:A
28
答案:C
29
答案:A
30.
答案:A B
31
答案:B
32
答案:D
33
答案:A
B 可以出现动态语义错误
C 语义分析只能分析出静态语义错误
34
答案:C
35
因为第二行已经有分号了 所以K不会加
答案:D
36
答案:D
37
答案:D
38
答案:B
习题讲解
39
答案:B
40.
答案:B
41
答案:A
42
答案:C
其他选项最后都没有在终态
43
答案:A
先看首尾 题目开头可以直接通过a到达终态,排除BC
题目可以ba 排除D
44
答案:A
45
答案:C
46
答案:D
47
答案:A
48
答案:A
49
答案:A
BD 因为题目S是开始符号 所以不是N中符号出发推导的
C 不包含V中符号的符号串 因为仅包含终结符号
50
答案:A
S - > aAcB | Bd
A - >AaB | c
B - > bScA | b | e
51
答案:B
52.
答案:C
- 分析规则S → A0 | B1:
- 如果选择A0,则下一个符号是A,然后可以通过A的规则进一步推导。
- 如果选择B1,则下一个符号是B,然后可以通过B的规则进一步推导。
- 进一步分析A和B的规则:
- A → S1 | 1:A可以推导为S后跟一个1,或者直接为1。
- B → S0 | 0:B可以推导为S后跟一个0,或者直接为0。
- 考虑所有可能的推导:
- 推导中包含S时,会继续引入更多的0或1,且S会被替换为A0或B1,进而可能继续展开。
- 最终,推导将只包含0和1,且每次选择A或B后,都会额外增加一个0或1。
- 确定字符串的性质:
- 由于每次替换都会增加一个0或1,且这种增加是交替进行的(A后总是跟1,B后总是跟0),因此0和1的数量可能相等,也可能不等,但绝不会是全0或全1的字符串。
- 例如,S → A0 → S10 → B110 → S0110 → A00110 → 100110 显示了如何推导出一个0和1个数不同的字符串。
- 同时,也存在推导如 S → B1 → S01 → A001 → 1001,这是一个0和1个数相等的字符串的例子。
- 对比选项:
- A. 所有由0构成的字符串:错误,因为推导中总会引入1。
- B. 所有由1构成的字符串:错误,因为推导中总会引入0。
- C. 某些0和1个数相等的字符串:正确,如上例所示。
- D. 所有0和1个数不同的字符串:错误,因为存在0和1个数相等的推导。
53
答案:B
习题讲解
54
答案:D
习题讲解
55
答案:B C
56
答案:D
57
答案:B
题目出现算术表达式所以是中缀式
58.
答案:C
小郑是普通学生水平,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍