2023年软件水平考试《(中级) 嵌入式系统设计师》每日10题,持续更新

|类别:软件水平考试

【单选题】设有以下C语言说明语句:struct ex{int x;float y;char z;}example;则下面的叙述中不正确的是( )。

A、struct是结构体类型的关键字

B、x、y、z都是结构体成员名

C、ex是结构体名

D、example是结构体类型名

答案:D

解析:在C语言环境中,结构体类型说明的一般形式:struct结构体名{类型名结构体成员名…}结构体变量名;其中,“struct”是结构体类型的关键字。对于本题而言,example是结构体变量名,而非结构体类型名。


【单选题】gdb是一款GNU组织开发并发布的Linux程序调试工具,它使用户能在程序运行时观察程序的内部结构和内存的使用情况。以下不属于gdb功能的是______。

A、能监视程序中变量的值

B、能设置断点以使程序在指定的代码行上停止执行

C、能逐行的执行代码

D、能发现代码中的语法错误

答案:D

解析:本题考查嵌入式软件开发工具方面的基础知识。gdb是GNU开源组织发布的一个强大的程序调试工具。一般来说,gdb的主要功能包括:1.执行程序。运行准备调试的程序,在命令后面可以跟随发给该程序的任何参数。2.显示数据。检查各个变量的值,显示被调试的语言中任何有效的表达式。3.断点。用来在调试的程序中设置断点,该命令有如下四种形式:使程序恰好在执行给定行之前停止;使程序恰好在进入指定的函数之前停止;如果条件是真,程序到达指定行或函数时停止;在指定例程的入口处设置断点。4.断点管理。包括显示当前gdb的断点信息、删除指定的某个断点、禁止使用某个断点、允许使用某个断点、清除源文件中某一代码行上的所有断点等。5.变量检查赋值。识别数组或变量的类型,提供一个结构的定义,将值赋予变量。6.单步执行。包括不进入的单步执行、进入的单步执行。如果已经进入了某函数,退出该函数返回到它的调用函数中。7.函数调用。调用和执行一个函数。结束执行当前函数,显示其返回值。8.机器语言工具。有一组专用的gdb变量可以用来检查和修改计算机的通用寄存器。9.信号。gdb通常可以捕捉到发送给它的大多数信号,通过捕捉信号,它就可决定对于正在运行的进程要做些什么工作。代码中的语法错误,可在编译阶段由编译器检查出来,不属于调试器的功能。


【单选题】计算机系统的层次结构如下图所示,基于硬件之上的软件可分为a、b和c三个层次。图中a、b和c分别表示( )。

A、操作系统、系统软件和应用软件

B、操作系统、应用软件和系统软件

C、应用软件、系统软件和操作系统

D、应用软件、操作系统和系统软件

答案:C

解析:从底到上,越来越抽象,与具体应用相关,与硬件无关,并且右边有说明,则a是用户使用的应用软件,b是系统软件,c是操作系统。


【单选题】以下C语言程序的输出结果是( )。struct s{int x,y;}data[2]={10,100,20,200};main( ){struct s*p=data;p++;printf(“%d\n”,++(p->x));}

A、10

B、11

C、20

D、21

答案:D

解析:data是s类型的数组,即结构体数组,用{10,100,20,200}赋值,可知:data[0].x=10data[0].y=100data[1].x=20data[1].y=200struct s*p,p是data数组的指针。指向数组的第一个元素,*p即为data[0]。p++之后,即地址向后移动,此时p指向数组的第二个元素,*p即为data[1].p->x和(*p).x是一样的,p->x和data[1].x等价。所以在++(p->x)之后,data[0].x的值变为21。输出21。


【单选题】IEEE 802.11标准使用的传输技术主要有( )。

A、红外线、跳频扩频与蓝牙

B、红外线、跳频扩频与直接序列扩频

C、跳频扩频、直接序列扩频与蓝牙

D、红外线、直接序列扩频与蓝牙

答案:B

解析:IEEE 802.11标准主要使用红外线、跳频扩频与直接序列扩频三种传输技术。蓝牙技术采用跳频扩频技术和时分多路利用技术可使特定移动电话、便携式电脑、便携式通信设备的主机之间在近距离内(通常为10 m以内)实现无缝的资源共享。


【单选题】假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为______。

A、-2~n

B、-(n-1)~1

C、-(n-1)~2

D、-(n-2)~2

答案:D

解析:本题考查的是操作系统PV操作方面的基本知识。系统采用PV操作实现进程同步与互斥,若有n个进程共享两台打印机,那么信号量S初值应为2。当第1个进程执行P(S)操作时,信号量S的值减去1等于1;当第2个进程执行P(S)操作时,信号量S的值减去1等于0;当第3个进程执行P(S)操作时,信号量S的值减去1等于-1;当第4个进程执行P(S)操作时,信号量S的值减去1等于-2;……;当第n个进程执行P(S)操作时,信号量S的值减去1等于-(n-2)。可见,信号量S的取值范围为-(n-2)~2。


【单选题】将高级语言源程序翻译成机器语言程序的过程中,常引入中间代码。以下关于中间代码的叙述中,不正确的是______。

A、中间代码不依赖于具体的机器

B、使用中间代码可提高编译程序的可移植性

C、中间代码可以用树或图表示

D、中间代码可以用栈和队列表示

答案:D

解析:本题考查程序语言基础知识。从原理上讲,对源程序进行语义分析之后就可以直接生成目标代码,但由于源程序与目标代码的逻辑结构往往差别很大,特别是考虑到具体机器指令系统的特点,要使翻译一次到位很困难,而且用语法制导方式机械生成的目标代码往往是烦琐和低效的,因此有必要设计一种中间代码,将源程序首先翻译成中间代码表示形式,以利于进行与机器无关的优化处理。由于中间代码实际上也起着编译器前端和后端分水岭的作用,所以使用中间代码也有助于提高编译程序的可移植性。常用的中间代码有后缀式、三元式、四元式和树(图)等形式。


【单选题】ICMP协议属于因特网中的(请作答此空)协议,ICMP协议数据单元封装在______中传送。

A、数据链路层

B、网络层

C、传输层

D、会话层

答案:B

解析:ICMP(Internet control Message Protocol)与IP协议同属于网络层,用于传送有关通信问题的消息。例如数据报不能到达目标站,路由器没有足够的缓存空间,或者路由器向发送主机提供最短通路信息等。ICMP报文封装在IP数据报中传送,因而不保证可靠的提交。


【单选题】下列属于低级任务间通信方式的是( )。

A、共享内存

B、PV操作

C、消息传递

D、管道通信

答案:B

解析:在实时操作系统中,任务间通信是指任务之间为了协调工作,需要相互交换数据和控制信息,可分为低级通信和高级通信两种类型。PV操作等信号量机制和信号机制属于低级任务间通信方式。消息传递、共享内存、管道通信属于高级任务间通信方式。任务间通信又可分为直接通信和间接通信两种类型。send、receive原语属于直接通信方式,邮箱、消息队列属于间接通信方式。


【单选题】以下关于设备管理及虚设备技术的叙述中,不正确的是______。

A、设备管理主要有分配设备、回收设备、输入、输出等

B、虚设备技术主要是为了提高设备的利用率以及使独立设备共享化

C、虚设备技术是指用一类设备来模拟另一类设备的技术

D、设备与计算机之间数据交换的控制方式主要有两种:程序控制和I/O中断

答案:D

解析:本题考查设备管理方面的基础知识。设备管理主要有分配设备、回收设备、输入、输出等,系统引入虚设备技术主要是为了提高设备的利用率以及使独立设备共享化,虚设备技术是指用一类设备(通常是高速设备)来模拟另一类设备(通常是低速设备)的技术,被模拟的设备称为虚设备。多窗口技术就是显示器模拟自身的例子,是一个屏幕可以同时监控多个进程的进行情况。设备与计算机之间数据交换的控制方式主要有三种:程序控制I/O中断和DMA(直接存储访问)。