软考-软件设计师(程序设计语言习题)

   💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。



非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
 

前言

小郑正在备考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

  1. 分析规则S → A0 | B1
    • 如果选择A0,则下一个符号是A,然后可以通过A的规则进一步推导。
    • 如果选择B1,则下一个符号是B,然后可以通过B的规则进一步推导。
  2. 进一步分析A和B的规则
    • A → S1 | 1:A可以推导为S后跟一个1,或者直接为1。
    • B → S0 | 0:B可以推导为S后跟一个0,或者直接为0。
  3. 考虑所有可能的推导
    • 推导中包含S时,会继续引入更多的0或1,且S会被替换为A0或B1,进而可能继续展开。
    • 最终,推导将只包含0和1,且每次选择A或B后,都会额外增加一个0或1。
  4. 确定字符串的性质
    • 由于每次替换都会增加一个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个数相等的字符串的例子。
  5. 对比选项
    • 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


小郑是普通学生水平,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值