2023年软件水平考试考试《(中级) 嵌入式系统设计师》经典试题汇总(含答案解析)

|类别:软件水平考试

【单选题】POP3协议采用______模式,客户端代理与POP3服务器通过建立TCP连接来传送数据。

A、Browser/Server

B、Client/Server

C、Peer to Peer

D、Peer to Server

答案:B

解析:本题考查POP3协议及POP3服务器方面的基础知识。POP3协议是TCP/IP协议簇中用于邮件接收的协议。邮件客户端通过与服务器之间建立TCP连接,采用Client/Server计算模式来传送邮件。


【单选题】执行下面的一段C程序后,输出结果变量应为______。 sub (int x, int y, int *z) { *z=y-x; } main() { int a, b, c; sub (10, 5, &a); sub(7, a, &b); sub(a, b, &c); printf ("%d, %d, %d\n", a, b, c); }

A、5, 2, 3

B、-5, -12, -7

C、-5, -12, -17

D、5, -2, -7

答案:B

解析:本题考查C语言方面的基础知识。sub()函数的作用是将形参y和x的差值存入z指向的那个内存地址,所以在sub(10,5,&a)中,10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元。在执行函数后,a的值随*z变化,所以,此次函数被调用后a的值为以y-x=-5。同理可知,执行sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12。执行sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。


【单选题】下列关于C语言中结构类型的叙述中,错误的是( )。

A、结构第一个成员的地址和整个结构的地址相同

B、缺省条件下,编译器为每个成员按自然对齐(alignment)条件分配空间

C、结构成员按照它们被声明的顺序在内存中顺序存储

D、结构是一种复合数据类型,其构成元素只能是基本数据类型

答案:D

解析:结构类型即结构体struct,结构体第一个成员放在偏移为0的地方,称为首地址,和整个结构体的地址相同;每个特定平台有默认的对齐系数,程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,缺省条件下,编译器为每个成员按自然对齐条件分配空间;结构体成员是按照声明的顺序在内存中顺序存储;结构体是C语言中聚合数据类型,可以被声明为变量、指针、数据等,用来实现复杂的数据结构,结构体的成员也可以包含其他结构体。


【单选题】分配给某公司网络的地址块是210.115.192.0/20,该网络可以被划分为_____个C类子网。

A、4

B、8

C、16

D、32

答案:C

解析:由于分配给公司网络的地址块网络号是20位,而C类子网网络号是24位,因此只有4位可用来划分C类网络,所以只能划分为2^4=16个C类子网。


【单选题】能隔离局域网中广播风暴、提高带宽利用率的设备是( )。

A、网桥

B、集线器

C、路由器

D、交换机

答案:C

解析:路由器不转发广播包,可以隔离广播风暴。


【单选题】算法是为解决某个问题而设计的步骤和方法。以下关于算法的叙述中,不正确的是______。

A、解决同一个问题,不同的人(甚至是同一个人)可能会写出几种不同的算法

B、常用算法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法等

C、递推法是利用所解问题本身所具有的递推关系来求得问题解的一种算法

D、任何可以用递推法解决的问题,亦可用递归法解决,反之亦然

答案:D

解析:本题考查关于算法方面的基础知识。算法是为解决某个问题而设计的步骤和方法,有了算法,就可以据此编写程序。常用算法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法等。解决同一个问题,不同的人(甚至是同一个人)可能会写出几种不同的算法,但算法有优劣之分。递推法是利用所解问题本身所具有的递推关系来求得问题解的一种算法。递推法与递归法的关系是,任何可以用递推法解决的问题,可以很方便的用递归法写出程序解决。反之,许多用递归法解决的问题不能用递推法解决。这是因为递归法利用递归时的压栈,可以有任意长度和顺序的前效相关性,这是递推法所不具备的。


【单选题】求解两个长度为n的序列X和Y的一个最长公共子序列(如序列ABCBDAB和BDCABA的一个最长公共子序列为BCB A)可以采用多种计算方法。如可以采用蛮力法,对X的每一个子序列,判断其是否也是Y的子序列,最后求出最长的即可,该方法的时间复杂度为(请作答此空)。经分析发现该问题具有最优子结构,可以定义序列长度分别为i和j的两个序列X和Y的最长公共子序列的长度为c[i,j],如下式所示。 采用自底向上的方法实现该算法,则时间复杂度为( )

A、O(n^2)

B、O(n^21gn)

C、O(n^3)

D、O(n2^n)

答案:D

解析:蛮力法,对X的每一个子序列,判断是否也是Y的子序列,其中,长度为n的序列X共有2^n个子序列,判断其是否是Y的子序列时间是n,因此是n*2^n;采用动态规划法自底向上实现时,根据递归公式,实际是关于i和j的两重循环,因此时间复杂度是n^2.


【单选题】DMA数据的传送是以______为单位进行的。

A、字节

B、字

C、数据块

D、位

答案:C


【单选题】操作系统中的Spooling技术,实质是将______转化为共享设备的技术。

A、虚拟设备

B、独占设备

C、脱机设备

D、块设备

答案:B

解析:本题考查嵌入式操作系统的基础知识。Spooling的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术。Spooling系统的组成包括三部分:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程。为了解决CPU输出数据的速度远远高于打印机的打印速度这一矛盾,在操作系统中一般采用Spooling技术。


【单选题】假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的Doc1文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为______μs。

A、100

B、107

C、152

D、170

答案:C

解析:在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T,缓冲区中的数据传送到用户工作区的时间为M,而系统处理(计算)的时间为C,如下图所示。 当第一块数据送入用户工作区后,缓冲区是空闲的可以传送第二块数据。这样第一块数据的处理C1与第二块数据的输入T2是可以并行的,依次类推,如下图所示。系统对每一块数据的处理时间为:Max(C,T)+M。因为,当T>C时,处理时间为M+T;当T<C时,处理时间为M+C。本题每一块数据的处理时间为10+5=15,Doc1文件的处理时间为15*10+2。