[高频考点]2023年软件水平考试考试《(中级) 嵌入式系统设计师》高频考点学习打卡

|类别:软件水平考试

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

A、词法分析和语法分析

B、语义分析和中间代码生成

C、中间代码生成和代码优化

D、代码优化和目标代码生成

答案: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。


【单选题】在C程序中,语句“char*func(intx,inty);”表示的含义是( )。

A、对函数func的定义

B、对函数func的调用

C、对函数func返回值类型的说明

D、对函数func的原型说明

答案:D

解析:函数的定义需要返回值、函数名、形参、函数体,这里缺少了函数体,并且后面加了分号表示一条语句,是函数的声明,即函数的原型说明。


【单选题】下列关于任务上下文切换的描述中,不正确的是______。 A.任务上下文是任务控制块(TC

A、的组成部分

B、上下文切换是由一个特殊的任务完成

C、上下文切换时间是影响RTOS性能的重要指标

D、上下文切换由RTOS内部完成

答案:B

解析:本题考查嵌入式操作系统的基础知识。在多任务系统中,上下文切换指的是当处理器的控制权由运行任务转移到另外一个就绪任务时所执行的操作。任务的上下文是任务控制块(TCB)的组成部分,记录着任务的寄存器、状态等信息。当运行的任务转为就绪、挂起或删除时,另外一个被选定的就绪任务就成为当前任务。上下文切换包括保存当前任务的状态,决定哪一个任务运行,恢复将要运行的任务的状态。保护和恢复上下文的操作是依赖特定的处理器的。上下文切换时间是影响嵌入式实时操作系统RTOS性能的一个重要指标。上下文切换是在RTOS内部完成的,上下文切换由一个特殊的任务完成的说法是错误的,故本题应选择B。


【单选题】近年来具有健壮分区功能的嵌入式实时操作系统(例如VxWorks653)在嵌入式领域得到了广泛应用,以下不属于分区操作系统特点的是______。

A、具有分区级,进程级两级调度功能

B、应用软件和操作系统软件处于同一特权态和同一地址空间

C、具有健康监控功能,阻止故障蔓延

D、具有时间分区和空间分区

答案:B

解析:本题考查关于嵌入式实时操作系统方面的基础知识。为了满足高度综合化、模块化航空电子系统实时性安全性等方面的要求,近年来,具有健壮分区功能的嵌入式实时操作系统(例如VxWorks653)在嵌入式领域得到广泛应用。这种操作系统,满足ARINC653规范,具有时间分区、空间分区功能,应用软件运行在用户态,操作系统运行在系统态,且分处在不同的地址空间。系统调度分为两级,即:分区级、进程级,分区级采取主时间框架轮转调度,进程级采取优先级抢占调度等。为了制止故障在分区间蔓延,该类操作系统具有三级故障管理的健康监控功能,实现故障接管。


【单选题】执行下面的一段C程序后,变量ret的值为( )。char str[20];int ret=strlen(strcpy(str,”Hello_World”));

A、0

B、11

C、12

D、20

答案:B

解析:题中,从最内层括号开始看起,将常量拷贝到str中,strcpy函数会在字符结束符\0时停止拷贝,因此只管Hello_World长度,strlen相当于strlen(str),字符串长度为11.


【单选题】执行下面C语言程序段的结果是( )。main( ){int x=l,a=l,b=l;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(”a=%d,b=%d“,a,b);}

A、a=2,b=2

B、a=3,b=2

C、a=2,b=l

D、a=3,b=3

答案:B

解析:switch case语句语法,当匹配到了一个case条件,会从该条件开始往下执行其余所有条件语句,不再进行判断,因此这里x=1匹配到了case1,其会执行case1及case2的语句。


【单选题】以下与文件系统相关的叙述中,不正确的是( )。

A、文件系统负责文件的组织、存储、检索、命名、共享和保护

B、文件系统为用户提供描述文件抽象的程序接口

C、文件通常存储在磁盘或其他非易失存储介质上

D、程序设计者需要关心文件存储分配的细节

答案:D


【单选题】以下协议中属于应用层协议的是( ),该协议的报文封装在(请作答此空)中传送。

A、TCP

B、IP

C、UDP

D、ICMP

答案:C

解析:ARP和ICMP是网络层协议,X.25是数据链路层协议,只有SNMP是应用层协议。SNMP协议的报文是封装在UDP协议中传送。


【单选题】虚拟存储器的管理方式分为段式、页式和段页式三种,以下描述中,不正确的是______。

A、页式虚拟存储器中,虚拟地址到实地址的变换是由主存中的页表来实现的

B、段式存储管理中,段是按照程序的逻辑结构划分的,各个段的长度一致

C、段页式存储管理中主存的调入和调出是按照页进行,但可按段来实现保护

D、在一般的大中型机中,都采用段页式的虚拟存储管理方式

答案:B

解析:本题考查虚拟存储器管理的基础知识。虚拟存储器的工作原理是:在执行程序时,允许将程序的一部分调入主存,其他部分保留在辅存。即由操作系统的存储管理软件先将当前要执行的程序段(如主程序)从辅存调入主存,暂时不执行的程序段(如子程序)仍保留在辅存,当需要执行存放在辅存的某个程序段时,由CPU执行某种程序调度算法将它们调入主存。虚拟存储器的调度方式有分页式、段式、段页式三种。页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。段页式调度综合了段式和页式的优点。其缺点是增加了硬件成本,软件也较复杂。大型通用计算机系统多数采用段页式调度。页式虚拟存储器中,虚拟地址到实地址的变换是由主存中的页表来实现的,段页式存储管理中主存的调入和调出是按照页进行,但可按段来实现保护,段式存储管理中,段是按照程序的逻辑结构划分的,各个段的长度可以按照其实际需要进行大小分配。