[高频考点]2023年软件水平考试考试《(初级)程序员》高频考点学习打卡

|类别:软件水平考试

【单选题】文件的物理结构不包括()

A、连续结构

B、索引结构

C、分区结构

D、多个物理块的索引结构

答案:C


【单选题】自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用( )模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(请作答此空),体现的最主要的意图是( )。

A、 A创建型对象模式

B、 B结构型对象模式

C、 C行为型类模式

D、 D行为型对象模式

答案:D

解析:状态型模式的特点是对于对象内部的状态,允许其在不同的状态下,拥有不同的行为,对状态单独封装成类。题干中根据投入货币的情况,售货机分别有交付产品不找零和交付产品找零以及不提供货物等行为判断该模式是属于状态模式。VendingMachineState是客户程序使用的主要接口。设计模式的类型如下所示: 观察者模式(ObserverPattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。访问者模式(VisitorPattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。备忘录模式(MementoPattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。策略模式(StrategyPattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。命令模式(CommandPattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。


【单选题】给定关系模式R(U, F.,U= (A, B, C, D, E, H),函数依赖集F={A→ B,A→ C,C→ D,AE→ H)。关系模式R的候选关键字为 ( ) 。

A、AC

B、AB

C、AE

D、DE

答案:C

解析:通过AE关键字可以关联A、B、C、D、E、H所有属性,其他选择均不可。


【单选题】UML中关联是一个结构关系,描述了一组链。两个类之间(47)

A、不能有多个关联

B、可以有多个由不同角色标识的关联

C、必须有一个关联

D、多个关联必须聚合成一个关联

答案:B

解析:本题考查统一建模语言(UML)的基本知识。 UML是一种能够表达软件设计中动态和静态信息的可视化统一建模语言,目前已成为事实上的工业标准。UML的词汇表包含三种构造块:事物、关系和图。 事物是对模型中最具有代表性的成分的抽象,分为结构事物、行为事物、分组事物和注释事物。 关系是把事物结合在一起,包括依赖、关联、泛化和实现四种。依赖是两个事物之间的语义关系,其中一个事物发生变化会影响到另一个事物的语义;关联(Association)是一种结构关系,描述了一组链,即对象之间的连接,体现在类图中即为对象类之间的关联关系,可以在类之间建立一个或由角色名区分的多个关联;聚集和组合是特殊类型的关联关系;泛化是一种特殊/一般关系,特殊元素的对象可替代一般元素的对象;实现是类元之间的语义关系,其中一个类制定了由另一个类元保证执行的契约。 图是一组元素的图形表示,聚集了相关的事物。


【单选题】软件工程的基本原理不包括( )。

A、分段管理软件开发,将复杂问题简化处理

B、开发团队成员要尽量多,有利于集思广益

C、记录软件每个版本的状态,严格版本控制

D、不断积累和改进软件过程实践经验和技术

答案:B

解析:常识判断。开发团队规模合适就好。


【单选题】假设某企业有一个仓库。该企业的生产部员工不断地将生产的产品送入仓库,销售部员工不断地从仓库中取产品。假设该仓库能容纳n件产品。采用PV操作实现生产和销售的同步模型如下图所示,该模型设置了3个信号量S、S1和S2,其中信号量S的初值为1,信号量S1的初值为(请作答此空),信号量S2的初值为( )。

A、-1

B、0

C、1

D、N

答案:D

解析:本题考察操作系统中进程通信的基础内容可参考《程序员教程(第四版)》第53页,例2-3。对于信号量S1表示仓库中空闲单元数(大于0表示可以将产品放入),初值为n。S2表示缓冲区的产品数,初值为0。


【单选题】若循环体执行的次数为m,则在do-while型循环中,循环条件的执行次数为(请作答此空),在while-do型循环中,判断循环条件的次数为()。

A、m-1

B、m

C、m+1

D、2m

答案:B

解析:While-do型循环的含义如下图(a)所示。在这种循环中,是先判断循环条件再决定是否执行循环体,循环条件(菱形框)的运算总是比循环体多一次。因此,若循环体的执行次数为m,则循环条件的执行次数为m+1。 Do-while型循环的含义如上图(b)所示。在这种循环中,先执行循环体再判断循环条件以决定是否进行下一次的循环,循环条件(菱形框)的运算和循环体执行的次数相同。


【单选题】硬盘的性能指标不包括( );其平均访问时间=(请作答此空)。

A、磁盘转速+平均等待时间

B、磁盘转速+平均寻道时间

C、数据传输时间+磁盘转速

D、平均寻道时间+平均等待时间

答案:D

解析:本题考查计算机性能方面的基础知识。 硬盘的性能指标主要包括磁盘转速、容量、平均寻道时间。 硬盘平均访问时间=平均寻道时间+平均等待时间。其中,平均寻道时间(Average seektime)是指硬盘在盘面上移动读写头至指定磁道寻找相应目标数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒;平均等待时间也称平均潜伏时间(Average latencytime),是指当磁头移动到数据所在磁道后,然后等待所要的数据块继续转动到磁头下的时间。


【单选题】编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入 ( ) 中。

A、符号表

B、哈希表

C、动态查找表

D、栈和队列

答案:A

解析:在编译过程中,编译程序不断汇集和反复查证出现在源程序中的各种名字的属性和特征等有关信息。这些信息通常记录在一张或几张符号表中。符号表的每一项有两部分:一部分是名字(标识符);一部分是名字属性(标识符的有关信息)。编译过程中,每当扫描器(词法分析器)识别出一个名字后,编译程序就查阅符号表,看其是否在符号表中。符号表在编译全过程的地位和作用非常重要,是进行上下文合法性检查和语义处理及代码生成的依据。符号表总体结构的设计和实现与源语言的复杂性(包括词法结构、语法结构的复杂性)有关,还与对于编译系统在时间效率和空间效率方面的要求有关。


【单选题】若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(37)。

A、查找与给定值相匹配的元素的位置

B、查找并返回第i个元素的值(1≤i≤n)

C、删除第i个元素(1≤i≤n)

D、在第i个元素(1≤i≤n)之前插入一个新元素

答案:B

解析:本题考查数据结构基础知识。 线性表(a1,a2,…,an)采用顺序存储时占用一段地址连续的存储单元,元素之间没有空闲单元,如下图所示。在这种存储方式下,插入和删除元素都需要移动一部分元素,这是比较耗时的操作。按照序号来查找元素,实际上是直接计算出元素的存储位置,例如,第i个元素ai的存储位置为LOC(ai)=LOC(a1)+(i-1)×L,其中L是每个元素所占用的存储单元数。按照值来查找元素时,需要与表中的部分元素进行比对,相对于按照序号来查找元素,需要更多的时间