[每日一练]2023年软件水平考试考试《(初级)程序员》精选试题练习含答案解析

|类别:软件水平考试

【单选题】假设某计算机系统中资源R的可用数为6,系统中有3个进程竞争R,且每个进程都需要i个R,该系统可能会发生死锁的最小i值是 ( ) 。若信号量S的当前值为-2,则R的可用数和等待R的进程数分别为 (请作答此空) 。

A、0、0

B、0.1

C、1、0

D、0、2

答案:D

解析:如果i=1,即每个进程都需要1个R,3个进程同时运行需要3个R,还剩3个R,不会发生死锁。如果i=2,即每个进程都需要2个R,3个进程同时运行需要6个R,而R的可用数正好为6,不会发生死锁。如果i=3,即每个进程都需要2个R,当3个进程分别占有2个R时,都需要再申请一个R资源才能正常运行,但此时已经没有R资源了,进程之间便出现了相互等待的状况,发生死锁。 信号量的值小于0,表示没有可用的资源,其绝对值表示阻塞队列中等待该资源的进程数。


【单选题】结构型设计模式涉及如何组合类和对象以获得更大的结构,分为结构型类模式和 结构型对象模式。其中,结构型类模式采用继承机制来组合接口或实现,而结构型对象模式描述了如何对一些对象进行组合,从而实现新功能的一些方法。以下(48)模式是结构型对象模式。

A、中介者 (Mediator)

B、构建器(Builder)

C、解释器(Interpreter)

D、组合(Composite)

答案:D

解析:结构型模式是描述如何将类对象结合在一起,形成一个更大的结构,结构模式描述两种不同的东西:类与类的实例。故可以分为类结构模式和对象结构模式。在GoF设计模式中,结构型模式有: 1.适配器模式 Adapter 2.桥接模式 Bridge 3.组合模式 Composite 4.装饰模式Decorator 5.外观模式 Facade 6.享元模式 Flyweight 7.代理模式 Proxy


【单选题】在Word编辑状态下,若要显示或隐藏编辑标记,则单击(请作答此空)按钮;若将光标移至表格外右侧的行尾处,按下Enter键,则( )。

A、A

B、B

C、C

D、D

答案:C

解析:


【单选题】编译和解释是实现高级语言翻译的两种基本方式,相对应的程序分别称为编译器和解释器。与编译器相比,解释器(请作答此空)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段;其中,代码优化和( )并不是每种编译器都必需的。词法分析的作用是识别源程序中的( )。

A、不参与用户程序的运行控制,用户程序执行的速度更慢

B、参与用户程序的运行控制,用户程序执行的速度更慢

C、参与用户程序的运行控制,用户程序执行的速度更快

D、不参与用户程序的运行控制,用户程序执行的速度更快

答案:B

解析:本题考查程序语言基础知识。 在实现程序语言的编译和解释两种方式中,编译方式下会生成用户源程序的目标代码,而解释方式下则不产生目标代码。目标代码经链接后产生可执行代码,可执行代码可独立加载运行,与源程序和编译程序都不再相关。而在解释方式下,在解释器的控制下执行源程序或其中间代码,因此相对而言,用户程序执行的速度更慢。 中间代码生成和优化不是编译过程中必需的阶段。对用户源程序依次进行了词法分析、语法分析和语义分析后,原则上就可以产生目标代码了,只是目标代码的质量和效率可能不够高。 词法分析时编译或解释用户源程序过程中唯一与源程序打交道的阶段,其主要功能是按顺序分析出源程序的记号。


【单选题】在结构化设计方法中,概要设计阶段的任务是给出系统的各个模块,确定每个模块的功能、接口(模块间传递的数据)及调用关系,用模块及对模块的调用来构建软件的体系结构,并采用结构图进行描述。结构图的基本成分有(请作答此空)。结构图的形态特征中,( )是指一层中最大的模块个数。

A、模块、类和消息

B、模块、数据流和接口

C、模块、调用和数据

D、模块、数据结构和算法

答案:C

解析:本题考查结构化设计方法的基础知识。 结构化程序设计方法中使用结构图来描述软件系统的体系结构,指出一个软件系统由哪些模块组成,以及模块之间的调用关系。其基本成分有模块、调用和数据。 模块是指具有一定功能并可以用模块名调用的一组程序语句,是组成程序的基本单元,用矩形表示。模块之间的调用关系用从一个模块指向另一个模块的箭头表示,表示前者调用了后者。模块之间还可以用带注释的短箭头表示模块调用过程中来回传递的信息,箭头尾部带空心圆表示传递的是数据,带实心圆表示传递的是控制信息。 结构图有四种特征,其中:深度指结构图控制的层次,即模块的层数;宽度指一层中最大的模块数;扇出指一个模块的直接下属模块数i扇入指一个模块的直接上属模块数。


【单选题】(请作答此空)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象的改变需要改变其他对象③需要使用一个算法的不同变体④许多相关的类仅仅是行为有异

A、命令(Command)

B、责任链(ChainofResponsibility)

C、观察者(Observer)

D、策略(Strategy)

答案:D

解析:命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。策略模式:定义一系列的算法,把每一个算法封装起来,并且是它们可互相替换。本模式使得算法可独立于使用它的客户而变化。


【单选题】对象、类、继承和消息传递是面向对象的4个核心概念。其中对象是封装( )的整体。

A、命名空间

B、要完成任务

C、一组数据

D、数据和行为

答案:D

解析:本题考察面向对象的基本概念。可参考《程序员教程(第四版)》第254页。在面向对象的系统中,对象是基本的运行时实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以,一个对象把属性和行为封装为一个整体。


【单选题】如果访问一个网站速度很慢,可能有多种原因,但首先应该排除的是( )。

A、网络服务器忙

B、通信线路忙

C、本地终端感染病毒

D、没有访问权限

答案:D

解析:在这里,已经进入了一个网站,因此可以排除没有访问权限,如果没有访问权限的话,将不允许进入。


【单选题】给定关系模式R (A, B, C, D.、S (C, D, E.,与π1,3,5(σ2="软件工程"(R?S))等价的SQL语句如下:SELECT (请作答此空) FROM,SWHERE ( ) ; 下列查询B="信息"且E="北京"的 A、 B、E的关系代数表达式中,查询效率最高的是 ( ) 。

A、A,C,S,C

B、A,B,E

C、A,R,C,E

D、A,R,C,S,D

答案:C

解析:B的最长查询语句最短,因此可以并行执行,提高效率。


【单选题】以逻辑变量X和Y为输入,当且仅当X和Y同时为0时,输出才为0,其他情况下输出为1,则逻辑表达式为( )。

A、A

B、B

C、C

D、D

答案:B

解析:本题考查逻辑运算基础知识。 显然,符合题目描述的运算是X+Y。