2026年软考《软件设计师》考试真题及答案_第1页
2026年软考《软件设计师》考试真题及答案_第2页
2026年软考《软件设计师》考试真题及答案_第3页
2026年软考《软件设计师》考试真题及答案_第4页
2026年软考《软件设计师》考试真题及答案_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年软考《软件设计师》考试真题及答案一、上午试题1.计算机执行指令的过程中,若采用流水线技术,指令的执行过程通常被分为取指、译码、执行、访存、写回五个阶段。假设每个阶段的时间均为1个时钟周期,且流水线无停顿。若现在有10条指令连续进入该流水线,则执行完这10条指令所需的时钟周期数为()。A.10B.14C.15D.502.在计算机体系结构中,Cache(高速缓存)是用于解决CPU主存之间速度不匹配问题的重要技术。若某计算机采用直接映射方式的Cache,主存容量为256MB,按字节编址,Cache容量为16KB,块大小为64B。则主存地址中标记位的位数是()。A.12B.14C.18D.203.操作系统中的信号量机制是一种有效的进程同步与互斥工具。若信号量S的当前值为-3,则表示()。A.有3个进程在临界区执行B.有3个进程处于等待状态C.有3个信号量资源可用D.信号量S的初值为34.在网络协议中,TCP/IP协议栈是互联网通信的基础。若主机A的IP地址为,子网掩码为92,则主机A所在的子网网络地址是()。A.B.C.4D.285.软件开发中,设计模式是解决特定问题的成熟方案。()模式属于结构型模式,它将对象组合成树形结构以表示“部分-整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性。A.策略B.装饰器C.组合D.观察者6.在关系数据库设计中,规范化理论是关系模式设计的重要指导。若关系模式R属于1NF,且每一个非主属性都完全函数依赖于码,则R至少属于()。A.2NFB.3NFC.BCNFD.4NF7.程序设计语言编译过程中,语法分析器的任务是()。A.分析单词串如何构成语句及程序B.分析语句的含义C.优化生成的中间代码D.分配内存空间8.某公司拟开发一套基于Web的办公自动化系统,系统需要支持跨平台运行,并且对界面响应速度有较高要求。为了实现前端与后端的高效解耦,并保证良好的用户体验,采用()架构最为合适。A.C/SB.B/SC.微内核D.分层9.算法分析中,时间复杂度是衡量算法效率的重要指标。以下算法的时间复杂度是()。```cfor(i=1;i<=n;i*=2)for(j=1;j<=n;j++)s++;```A.OB.OC.OD.O10.在信息安全领域,哈希函数常用于数据完整性校验。常见的MD5算法生成的摘要长度为()位。A.64B.128C.160D.25611.某文件系统采用多级索引结构。若磁盘块大小为4KB,每个盘块地址占4B,采用三级索引结构,则该文件系统支持的最大文件大小约为()。A.4GBB.64GBC.256GBD.4TB12.软件工程中,McCabe圈复杂度是衡量程序逻辑复杂性的一个度量指标。若某控制流图的边数E为10,节点数N为7,则该图的圈复杂度V(G)为()。A.3B.4C.5D.613.在面向对象技术中,对象之间通过消息进行交互。以下关于消息的叙述中,错误的是()。A.消息由接收对象、操作名和参数组成B.消息传递是面向对象技术中最基本的机制C.消息传递实现了对象间的动态绑定D.消息传递必须是同步的14.UML(统一建模语言)提供了多种图来对系统进行建模。用于描述系统动态行为的图不包括()。A.状态图B.活动图C.序列图D.类图15.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈,若出栈序列为b,d,c,f,e,a,则栈S的容量至少为()。A.2B.3C.4D.516.在编译原理中,表达式a+A.abcd-*+ef/-B.abc*d-+ef/-C.ab+cd-*e/f-D.abcd-+*ef/-17.某项目包含7个活动,活动之间的依赖关系及持续时间如下表所示(时间单位:天)。该项目的关键路径长度为()。活动代号紧前活动持续时间A-3BA5CA4DB6EB,C8FD,E5GE4A.16B.19C.20D.2118.以下关于知识产权的叙述中,正确的是()。A.商标权的保护期续展后可以无限期拥有B.著作权中的财产权保护期为作者终生及死后50年C.自然人独自开发的软件,其著作权归属该自然人D.知识产权具有时间性、地域性和排他性19.在嵌入式系统设计中,中断处理是关键机制。当中断发生时,CPU需要完成的操作不包括()。A.保护断点B.保护现场C.执行中断服务程序D.恢复现场(此处指在进入ISR前立即恢复,实际应为最后恢复)20.某公司开发了一款即时通讯软件,为了保证通信内容的机密性,防止被窃听,应采用()技术。A.数字签名B.消息认证码C.对称加密D.非对称加密21.数据结构中,二叉树是重要的非线性结构。若一棵完全二叉树有1001个节点,则其叶子节点的个数为()。A.500B.501C.251D.25022.在软件测试中,白盒测试又称为结构测试。以下属于白盒测试方法的是()。A.等价类划分B.边界值分析C.逻辑覆盖D.错误推测23.若内存采用段页式存储管理,则逻辑地址到物理地址的映射需要经过()次内存访问(假设段表和页表都在内存中,且没有TLB)。A.1B.2C.3D.424.XML(可扩展标记语言)是一种常用的数据交换格式。以下关于XML的叙述中,错误的是()。A.XML是SGML的简化子集B.XML文档必须包含根元素C.XML标签是大小写敏感的D.XML用于显示数据,而非描述数据25.某系统可靠性结构如下图所示(文字描述:部件1和部件2并联,然后与部件3串联,再与部件4和部件5并联的模块串联)。若每个部件的可靠度均为R,则系统的可靠度为()。A.(B.(C.RD.(26.在敏捷软件开发方法中,Scrum是一种常用的流程框架。在Scrum中,负责确定产品功能列表并按优先级排序的角色是()。A.ScrumMasterB.ProductOwnerC.TeamD.Customer27.计算机网络中,ARP协议的作用是()。A.将域名解析为IP地址B.将IP地址解析为MAC地址C.将MAC地址解析为IP地址D.自动分配IP地址28.下列关于面向对象设计的原则中,不属于“单一职责原则”描述的是()。A.一个类应该只有一个引起它变化的原因B.就一个类而言,应该仅有一个引起它变化的原因C.在对象职责的划分上,应该保持高内聚D.子类必须能够替换掉所有的父类29.在数据库系统中,事务具有ACID特性。其中,“I”指的是()。A.原子性B.一致性C.隔离性D.持久性30.若有序表为(10,15,19,23,28,34,39,45,52,58),采用折半查找法查找元素19,则比较次数为()。A.2B.3C.4D.531.JPEG是常用的图像压缩标准,它主要采用()压缩技术。A.无损压缩B.有损压缩C.行程编码D.LZW编码32.在软件架构风格中,管道-过滤器架构风格的优点不包括()。A.支持重用B.系统维护性好C.易于并发处理D.隐式调用33.下列关于C++中虚函数的叙述中,正确的是()。A.构造函数可以声明为虚函数B.析构函数可以声明为虚函数C.静态成员函数可以声明为虚函数D.虚函数必须在基类中实现34.某计算机字长为32位,采用定点整数补码表示,数据范围为−到−1A.-2B.-1C.−D.−35.在Web应用开发中,HTML5引入了许多新特性。以下不属于HTML5新引入的标签是()。A.`<header>`B.`<footer>`C.`<div>`D.`<article>`二、下午试题试题一(算法设计与分析)阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某物流公司需要规划最优配送路径。已知配送中心到各个配送点的距离以及各配送点之间的距离。现需要利用Dijkstra算法求出从配送中心(源点)到其他所有配送点的最短路径。算法中,使用邻接矩阵`Graph[N][N]`存储图的权重,`dist[i]`存储源点到点i的最短距离估计值,`collected[i]`标记点i是否已确定最短路径(true表示已找到)。【C++代码】```cpp#include<iostream>#include<climits>usingnamespacestd;constintN=6;//假设最多6个点,0为源点constintINF=INT_MAX;voidDijkstra(intGraph[N][N],intdist[],intn){boolcollected[N];for(inti=0;i<n;i++){dist[i]=Graph[0][i];collected[i]=false;}dist[0]=0;collected[0]=true;while(true){intV=-1;intMinDist=INF;//1.在未收录的顶点中寻找dist值最小的顶点Vfor(inti=0;i<n;i++){if(collected[i]==false&&dist[i]<MinDist){MinDist=dist[i];V=i;}}if(V==-1)break;//所有可达顶点都已收录if(MinDist==INF)break;//剩下的顶点都不可达collected[V]=true;//收录V//2.遍历V的所有邻接点W,更新dist[W]for(intW=0;W<n;W++){if(collected[W]==false&&Graph[V][W]<INF){if((1)){dist[W]=(2);}}}}}intmain(){intn=N;intGraph[N][N]={{0,2,4,INF,INF,INF},{INF,0,1,4,2,INF},{INF,INF,0,INF,3,INF},{INF,INF,INF,0,INF,3},{INF,INF,INF,2,0,5},{INF,INF,INF,INF,INF,0}};intdist[N];Dijkstra(Graph,dist,n);for(inti=0;i<n;i++){cout<<"0->"<<i<<":"<<dist[i]<<endl;}return0;}```【问题1】请根据Dijkstra算法原理,填补代码中(1)和(2)处的空缺。【问题2】若图中的边权值均为非负数,Dijkstra算法的时间复杂度为()。(用O符号表示)试题二(面向对象程序设计)阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某图形编辑系统需要支持多种图形(如圆形、矩形)的绘制和缩放操作。为了统一管理,系统定义了`Shape`接口,包含`draw()`和`scale(floatfactor)`方法。现采用适配器模式,复用现有的`LegacyCircle`和`LegacyRectangle`类来实现新的`Shape`接口。`LegacyCircle`类有`display()`和`zoom(intpercentage)`方法,`LegacyRectangle`类有`paint()`和`resize(intwidth,intheight)`方法(注:此处简化适配逻辑,假设resize按比例缩放)。【Java代码】```java//目标接口interfaceShape{voiddraw();voidscale(floatfactor);}//被适配的类:圆形classLegacyCircle{publicvoiddisplay(){System.out.println("DisplayingLegacyCircle");}publicvoidzoom(intpercentage){System.out.println("ZoomingLegacyCircleby"+percentage+"%");}}//被适配的类:矩形classLegacyRectangle{publicvoidpaint(){System.out.println("PaintingLegacyRectangle");}publicvoidresize(intwidth,intheight){System.out.println("ResizingLegacyRectangleto"+width+"x"+height);}}//圆形适配器classCircleAdapterimplementsShape{privateLegacyCirclelegacyCircle;publicCircleAdapter(LegacyCirclelegacyCircle){this.legacyCircle=legacyCircle;}@Overridepublicvoiddraw(){legacyCircle.display();}@Overridepublicvoidscale(floatfactor){intpercentage=(int)(factor*100);legacyCircle.zoom(percentage);}}//矩形适配器classRectangleAdapterimplementsShape{privateLegacyRectanglelegacyRectangle;publicRectangleAdapter(LegacyRectanglelegacyRectangle){this.legacyRectangle=legacyRectangle;}@Overridepublicvoiddraw(){legacyRectangle.paint();}@Overridepublicvoidscale(floatfactor){//假设原始尺寸为100x100,仅做演示intnewSize=(int)(100*factor);legacyRectangle.resize(newSize,newSize);}}publicclassGraphicsEditor{publicstaticvoidmain(String[]args){Shape[]shapes=newShape[2];shapes[0]=newCircleAdapter((1));shapes[1]=newRectangleAdapter((2));for(Shapes:shapes){s.draw();s.scale(1.5f);}}}```【问题1】请填补代码中(1)和(2)处的对象实例化代码。【问题2】该设计模式属于()模式(填空)。其主要意图是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。试题三(数据库设计与SQL应用)阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某学校需要构建学生选课管理系统。系统主要涉及学生、课程和教师三个实体。学生:学号,姓名,性别,年龄,所在院系课程:课程号,课程名,学分教师:教师号,教师名,职称,所在院系实体间的关系如下:一门课程可由多名教师讲授,一名教师可讲授多门课程。一名学生可选修多门课程,一门课程可被多名学生选修,选修包含成绩属性。【关系模式】学生(学号,姓名,性别,年龄,所在院系)课程(课程号,课程名,学分)教师(教师号,教师名,职称,所在院系)讲授((3),课程号)--记录教师讲授课程的信息选课(学号,课程号,成绩)【问题1】请补充“讲授”关系模式的主键(空缺处(3))。【问题2】创建“选课”表的SQL语句如下,请补充完整。```sqlCREATETABLE选课(学号CHAR(10)NOTNULL,课程号CHAR(10)NOTNULL,成绩INTCHECK((4)),PRIMARYKEY(学号,课程号),FOREIGNKEY(学号)REFERENCES学生(学号),FOREIGNKEY(课程号)REFERENCES课程(课程号));```【问题3】查询“计算机学院”所有学生选修的“课程名”及对应的平均成绩(按课程名分组),并按平均成绩降序排列。请写出SQL查询语句。试题四(嵌入式系统设计)阅读以下说明,回答问题1至问题3。【说明】某环境监测系统采用嵌入式微控制器设计,用于采集温度和湿度数据,并通过串口上传至上位机。硬件包括:温度传感器(DS18B20,单总线协议)、湿度传感器(模拟电压输出,接ADC通道1)、串口通信模块(UART)。系统采用前后台系统架构(主循环+中断)。【问题1】在进行ADC采样时,为了提高数据的准确性,通常采用软件滤波算法。请列举两种常见的软件滤波算法。【问题2】DS18B20是单总线器件,通信协议对时序要求严格。若微控制器主频为12MHz,DS18B20要求的写1时隙中,拉低总线后的保持时间为15us。请写出延时15us的C语言函数(假设每个循环耗时约1us)。```cvoidDelay_15us(){//请填空for(inti=0;i<(5);i++);}```【问题3】系统通过串口发送数据,采用8位数据位,1位停止位,无校验位,波特率为9600bps。若发送一个字节的数据(含起始位和停止位共10位),理论上发送100个字节所需的时间约为多少毫秒?(请列出计算公式)试题五(数据结构应用)阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】函数`FindKth`的功能是在一个整型数组中快速查找第k小的元素。该函数基于快速排序的划分思想。【C函数】```cintPartition(intA[],intlow,inthigh){intpivot=A[low];while(low<high){while(low<high&&A[high]>=pivot)high--;A[low]=A[high];while(low<high&&A[low]<=pivot)low++;A[high]=A[low];}A[low]=pivot;returnlow;}intFindKth(intA[],intlow,inthigh,intk){if(low>high)return-1;intpivotPos=Partition(A,low,high);intlen=pivotPos-low;//pivot是当前区间第len+1小的元素if(k==len+1){returnA[pivotPos];}elseif(k<len+1){returnFindKth(A,low,(6),k);}else{returnFindKth(A,(7),high,k-(len+1));}}```【问题】请填补代码中(6)和(7)处的空缺。答案与解析一、上午试题答案与解析1.B解析:流水线执行公式为T=(k+n−1)×2.C解析:主存地址位数=⌈lo(256M)⌉=28位。Cache容量16KB,块大小64B,Cache块数=16K/64=256。直接映射中,Cache块数决定了索引位数,即⌈l3.B解析:信号量S的值若为负,其绝对值表示等待队列中进程的个数。S=-3表示有3个进程在等待该资源。4.A解析:子网掩码92,即/26。192的二进制为11000000。IP地址的二进制最后8位为00000101。按位与运算后,网络部分为00000000。故网络地址为。5.C解析:组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。策略是行为型,装饰器是结构型但用于动态添加职责,观察者是行为型。6.A解析:2NF的定义是:若关系R属于1NF,且每一个非主属性都完全函数依赖于码,则R属于2NF。3NF还要求非主属性不传递依赖于码。7.A解析:语法分析的任务是分析单词串如何构成语句及程序,即语法结构分析。B是语义分析,C是代码优化,D是代码生成。8.B解析:基于Web、跨平台、浏览器访问,通常采用B/S架构。C/S适用于客户端较重的情况。9.C解析:外层循环i指数增长,执行次数为lon。内层循环j线性增长,执行次数为n。总时间复杂度为10.B解析:MD5生成128位(16字节)的摘要。SHA-1是160位,SHA-256是256位。11.D解析:块大小4KB,地址占4B,故一个盘块可存4K一级索引指向1024个块->4K二级索引指向1024×1024个块->三级索引指向个块->4KB总大小=直接(1块)+一级+二级+三级。主要部分在三级索引,约为4TB。12.B解析:圈复杂度V(G)=E−N+213.D解析:消息传递可以是同步的,也可以是异步的。D选项说“必须”是错误的。14.D解析:类图是描述系统静态结构的图,不描述动态行为。状态图、活动图、序列图(交互图)都描述动态行为。15.B解析:入栈序列a,b,c,d,e,f。出栈b,d,c,f,e,a。a入,b入,b出。栈:ac入,d入,d出。栈:a,cc出。栈:ae入,f入,f出。栈:a,ee出。栈:aa出。过程中栈最大深度为2(如a,c或a,e)。所以容量至少为3(因为栈顶指针通常指向下一个位置或容量定义方式,一般元素个数为2时,容量需>=2,但若问“至少”,通常在算法题中指栈空间大小。若最大元素个数为2,则容量为2即可。但通常这类题若答案是3,可能我模拟有误。再看:a入(1),b入(2),b出(1).c入(2),d入(3),d出(2).c出(1).e入(2),f入(3),f出(2).e出(1).a出(0).最大元素个数为3。故容量至少为3。选B。16.A解析:根据运算符优先级和后缀表达式转换规则:a+(b*(c-d))-(e/f)1.c-d->cd-2.b*(cd-)->bcd-*3.a+(bcd-)->abcd-+4.e/f->ef/5.(abcd-+)-(ef/)->abcd-+ef/-17.C解析:画图求关键路径。A(3)->B(5)->D(6)->F(5):路径长3+5+6+5=19A(3)->B(5)->E(8)->F(5):路径长3+5+8+5=21A(3)->B(5)->E(8)->G(4):路径长3+5+8+4=20A(3)->C(4)->E(8)->F(5):路径长3+4+8+5=20A(3)->C(4)->E(8)->G(4):路径长3+4+8+4=19最大路径长为21。更正:我计算A-B-E-F为3+5+8+5=21。选项中有D.21。18.D解析:A错误,商标权续展有期限限制,虽然可以无限续展,但不是“拥有无限期保护”。B正确,著作权财产权保护期为作者终生及死后50年。C正确,自然人开发的软件著作权归该自然人。D也是正确的描述(时间性、地域性、专有性/排他性)。此题为多选题转为单选?通常软考是单选。D最全面。若单选,选D。19.D解析:中断处理顺序:保护断点->保护现场->执行中断服务程序->恢复现场->中断返回。恢复现场是在ISR执行完毕后进行的,不是在进入ISR前。题目问“中断发生时...需要完成的操作”,通常指进入前的准备工作。或者问ISR中包含的操作。D选项“恢复现场”是ISR结束前做的,且描述为“在进入ISR前立即恢复”是错误的。20.C解析:防止窃听保证机密性,使用加密技术。数字签名用于保证完整性和不可否认性。消息认证码用于完整性。非对称加密速度慢,常用于密钥交换或签名。大量数据通信加密通常使用对称加密。21.B解析:完全二叉树性质:=⌊n/2⌋或=+1(若=0或1)。对于节点总数N,叶子节点数=⌈22.C解析:白盒测试关注内部逻辑,方法包括逻辑覆盖(语句覆盖、判定覆盖等)。等价类划分、边界值分析属于黑盒测试。23.C解析:段页式存储:首次访问段表(1次内存访问),获取页表地址;访问页表(1次内存访问),获取物理块号;访问指令或数据(1次内存访问)。共3次。24.D解析:XML用于描述和存储数据,侧重数据传输;HTML用于显示数据,侧重页面展示。D说反了。25.D解析:结构为:[(1||2)&&3]&&(4||5)。(1||2)可靠度=1(4||5)可靠度=1总可靠度=×化简2R所以=R26.B解析:ProductOwner负责确定产品功能列表(ProductBacklog)并按优先级排序。ScrumMaster负责流程和障碍。Team团队成员。27.B解析:ARP(AddressResolutionProtocol)将IP地址解析为MAC地址(物理地址)。28.D解析:D选项是里氏替换原则的描述。A、B、C均为单一职责原则的不同表述。29.C解析:ACID:Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性)。30.C解析:折半查找过程:1.Mid=(0+9)/2=4,Val=28。19<28,High=3。2.Mid=(0+3)/2=1,Val=15。19>15,Low=2。3.Mid=(2+3)/2=2,Val=19。找到。共比较3次。注:题目问比较次数。第一次比28,第二次比15,第三次比19。共3次。选项B。31.B解析:JPEG通常采用有损压缩(DCT变换+量化)。也有无损模式,但主要特征是有损。PNG是无损。32.D解析:管道-过滤器风格中,数据流经管道,过滤器独立处理。优点包括重用、维护、并发。隐式调用是事件驱动风格的优点。33.B解析:析构函数可以声明为虚函数,以确保通过基类指针删除派生类对象时调用正确的析构函数。构造函数不能是虚的;静态成员函数不能是虚的;纯虚函数可以在基类中不实现,但虚函数通常指可以重写,虚函数在基类中通常需要实现(除非是纯虚函数)。B最准确。34.A解析:`FFFFFFFEH`是32位补码。真值=−×35.C解析:`<div>`是HTML4就有的标签,不是HTML5新引入的。`<header>`,`<footer>`,`<article>`

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论