2026年软考-软件设计师真题练习卷_第1页
2026年软考-软件设计师真题练习卷_第2页
2026年软考-软件设计师真题练习卷_第3页
2026年软考-软件设计师真题练习卷_第4页
2026年软考-软件设计师真题练习卷_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

2026年软考-软件设计师真题练习卷一、单项选择题(共75分,每题1分。每题的备选项中,只有1个最符合题意)1.在计算机体系结构中,若CPU的时钟频率为2.5GHz,指令集包含四类指令,其CPI(CyclesPerInstruction)分别为:算术运算指令1个周期,访存指令4个周期,分支指令3个周期,其他指令2个周期。某程序执行过程中,各类指令所占比例分别为40%、30%、20%和10%。则该程序的MIPS(MillionInstructionsPerSecond)约为多少?A.800B.1000C.1200D.15002.某计算机系统的存储器采用Cache-主存-辅存三级结构。已知Cache的存取时间为5ns,主存的存取时间为50ns,辅存的存取时间为5ms。CPU访问数据的平均时间取决于Cache的命中率。若Cache的命中率为95%,则CPU访问数据的平均存取时间为多少?A.7.25nsB.7.5nsC.10nsD.52.5ns3.在浮点数表示中,若采用IEEE754单精度浮点数格式,阶码采用移码表示,尾数采用原码表示。设浮点数的十六进制表示为C0A00000H,则该浮点数对应的十进制数值是多少?A.-5.0B.-10.0C.-20.0D.-40.04.以下关于软件系统架构风格的描述中,错误的是:A.管道-过滤器架构风格中,每个过滤器都独立处理数据,不关心其他过滤器的存在。B.仓库架构风格中,中心数据仓库被所有外部组件共享,外部组件通过特定接口操作数据。C.事件驱动架构风格中,组件之间通过事件进行通信,组件不知道触发事件的具体来源。D.分层架构风格中,上层组件可以直接调用下层组件,下层组件也可以直接回调上层组件以实现解耦。5.某项目包含7个活动,活动之间的依赖关系及持续时间如下表所示(单位:天)。该项目的关键路径长度是多少?活动紧前活动持续时间A-3BA5CA4DB6EB,C8FC5GD,E,F2A.16B.17C.18D.196.在操作系统中,信号量机制用于解决进程间的同步与互斥问题。若信号量S的当前值为-3,则表示系统中:A.有3个进程处于等待队列中。B.有3个可用资源。C.有3个进程正在执行。D.信号量S的初值为3。7.某网络采用CIDR(无类别域间路由)技术,IP地址块为/16。若需要将其划分为4个大小相同的子网,则每个子网的子网掩码是多少?A.B.C.D.8.在关系数据库设计中,若关系模式R(U,F)中,X→Y且Y→Z,则称Z对X传递函数依赖。以下关于范式性质的描述,正确的是:A.若R∈1NF,则R一定属于2NF。B.若R∈2NF,则R一定不存在非主属性对码的传递函数依赖。C.若R∈3NF,则R一定不存在非主属性对码的部分函数依赖。D.若R∈BCNF,则R一定不存在任何属性对码的传递函数依赖。9.在编译原理中,语法分析器的作用是:A.分析源程序中的单词符号。B.根据语法规则,分析单词流是否构成合法的句子。C.优化生成的中间代码。D.分配目标程序运行时的存储空间。10.以下关于设计模式的描述中,属于“创建型模式”的是:A.适配器模式B.装饰器模式C.单例模式D.观察者模式11.某公司开发了一套嵌入式系统,要求在内存受限的环境下运行。为了优化内存使用,开发者决定对频繁分配和释放的小对象采用内存池技术。这种技术主要解决了以下哪一类问题?A.内存泄漏B.内存碎片C.内存越界D.内存对齐12.在面向对象分析中,UML(统一建模语言)提供了多种图来描述系统。若要描述系统内部类之间的静态结构,应使用:A.用例图B.类图C.序列图D.状态图13.已知哈希表表长为m,哈希函数为H(k)=k%p。其中p为小于等于m的最大质数。若采用线性探测再散列解决冲突,插入关键字序列{14,23,9,36,55,20},哈希表长度m=7,p=7。则关键字55在哈希表中的下标位置是:A.3B.4C.5D.614.在软件工程中,McCabe环路复杂度度量是衡量程序逻辑复杂度的重要指标。若某控制流图的边数为E,节点数为N,则其环路复杂度V(G)的计算公式为:A.E-N+2B.E-N+1C.E-ND.N-E+215.以下关于TCP/IP协议栈的描述中,错误的是:A.TCP协议提供可靠的、面向连接的字节流服务。B.UDP协议提供无连接的、不可靠的数据报服务。C.IP协议负责网络层的寻址和路由。D.ARP协议用于将IP地址解析为MAC地址,属于网络层协议。16.某算法的时间复杂度为O(A.10B.100C.1000D.1000017.在多媒体技术中,图像压缩标准JPEG主要采用哪种压缩算法?A.行程编码B.哈夫曼编码C.离散余弦变换(DCT)D.小波变换18.某软件公司开发一款新软件,预计开发成本为50万元,维护成本每年为5万元。软件生命周期预计为5年。预计每年收益为25万元。则该软件的投资回报期(ROI)是几年?A.2年B.3年C.4年D.5年19.以下关于知识产权的描述中,正确的是:A.著作权的保护期为作者终生及其死后50年。B.商标权一旦注册,永久有效。C.专利权的保护期均为20年,不可续展。D.商业秘密一旦公开,仍受法律保护。20.在C++语言中,若希望一个成员函数不能修改任何成员变量,应将其声明为:A.staticB.constC.virtualD.volatile21.在数据库系统中,事务的隔离性是指:A.事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态。B.事务一旦提交,其修改是永久的。C.一个事务的执行不应受其他并发事务的干扰。D.事务中包括的所有操作要么都做,要么都不做。22.已知一棵二叉树的前序遍历序列为:A,B,D,E,C,F,中序遍历序列为:D,B,E,A,F,C。则该二叉树的后序遍历序列是:A.D,E,B,F,C,AB.D,E,F,B,C,AC.E,D,B,F,C,AD.E,D,F,B,C,A23.在网络安全中,数字签名技术用于解决信息的:A.保密性问题B.完整性和不可否认性问题C.访问控制问题D.病毒感染问题24.某系统采用请求分页存储管理方式,页面大小为4KB。逻辑地址空间为32位,物理内存为256MB。若页表项占4字节,则一个进程的页表最大占用的内存空间是多少?A.4KBB.4MBC.16MBD.64MB25.以下关于敏捷开发方法的描述,错误的是:A.Scrum是一种迭代增量式的软件开发过程框架。B.XP(极限编程)强调编码和测试的核心地位。C.敏捷开发提倡详细的文档和严格的计划先行。D.敏捷开发能够快速响应需求的变化。26.在软件测试中,白盒测试技术主要用于:A.检查软件的功能需求是否得到满足。B.检查软件的内部逻辑结构和路径。C.检查软件的用户界面是否友好。D.检查软件的性能指标是否达标。27.某图G采用邻接矩阵存储,矩阵为。若图G是无向图,则邻接矩阵A具有以下特性:A.A是对称矩阵,且对角线元素全为0。B.A是对称矩阵,对角线元素可能为1。C.A不是对称矩阵。D.A是上三角矩阵。28.在DES加密算法中,分组长度和有效密钥长度分别是:A.64位,56位B.128位,128位C.64位,64位D.128位,256位29.某Web应用服务器需要处理大量并发连接。为了提高性能,采用了I/O多路复用技术。以下不属于I/O多路复用系统调用的是:A.selectB.pollC.epollD.fork30.在软件质量模型中,易用性主要关注:A.软件在指定条件下完成预期功能的能力。B.软件在规定条件下和规定时间内完成功能的能力。C.用户在使用软件时的理解、学习、操作和吸引力的程度。D.软件被修改、维护或适应环境变化的能力。31.已知有序表为[10,20,30,40,50,60,70,80,90,100],采用二分查找算法查找关键字35。查找过程中,依次比较的关键字是:A.50,20,30B.50,20,40C.50,30,40D.50,30,2032.以下关于堆排序的描述,正确的是:A.堆排序是稳定的排序算法。B.堆排序的最坏时间复杂度为O(C.堆排序的空间复杂度为O(D.堆排序只能用于排序顺序存储的线性表。33.在C语言中,若有定义`inta[5]={1,2,3,4,5};int*p=a;`,则表达式`*p++`的值是:A.1B.2C.a[0]的地址D.a[1]的地址34.某企业局域网划分为三个VLAN:VLAN10,VLAN20,VLAN30。要实现VLAN间通信,必须使用:A.二层交换机B.集线器C.路由器或三层交换机D.网桥35.在UML类图中,关联两端的数字表示:A.类的属性数量B.类的方法数量C.多重性D.关联的基数36.某逻辑表达式为F=A.0B.1C.不定D.高阻态37.在软件配置管理中,版本控制系统中的“分支”主要用于:A.记录文件的历史修改。B.并行开发和管理多个变体。C.合并不同开发者的修改。D.回退到之前的版本。38.以下关于RISC(精简指令集计算机)与CISC(复杂指令集计算机)的对比,错误的是:A.RISC指令长度固定,CISC指令长度可变。B.RISC指令系统复杂,CISC指令系统简单。C.RISC主要由硬件实现指令功能,CISC更多由微程序实现。D.RISC通用寄存器数量较多,CISC相对较少。39.在SQL语言中,若要删除学生表Student中所有年龄小于18岁的记录,应使用:A.DROPFROMStudentWHEREAge<18B.DELETEStudentWHEREAge<18C.REMOVEFROMStudentWHEREAge<18D.DELETEFROMStudentWHEREAge<1840.某系统由两个串联的子系统组成,其可靠度分别为0.9和0.8。则该系统的可靠度为:A.0.1B.0.72C.0.85D.0.9841.在面向对象设计中,里氏替换原则(LSP)是指:A.子类必须能够替换父类,而不会导致程序出错。B.软件实体应当对扩展开放,对修改关闭。C.依赖抽象而不依赖具体。D.接口隔离原则。42.在HTTP协议中,状态码404表示:A.请求成功B.服务器内部错误C.未找到资源D.请求错误43.某算法采用递归方式实现,其递推公式为T(n)A.OB.OC.OD.O44.在Java语言中,接口(Interface)与抽象类(AbstractClass)的主要区别之一是:A.接口不能包含抽象方法,抽象类可以。B.接口支持多重继承,抽象类不支持。C.接口中的变量默认是final和static的,抽象类中不一定。D.抽象类不能被实例化,接口可以被实例化。45.某公司使用防火墙保护内部网络。防火墙的默认策略是拒绝所有流量。若允许内部网络访问外部Web服务(TCP80端口),应配置的规则是:A.源地址:Any,目的地址:Internal,协议:TCP,端口:80,动作:允许B.源地址:Internal,目的地址:Any,协议:TCP,端口:80,动作:允许C.源地址:Any,目的地址:Any,协议:TCP,端口:80,动作:允许D.源地址:Internal,目的地址:Any,协议:UDP,端口:80,动作:允许46.在数据结构中,栈是一种遵循后进先出(LIFO)原则的线性表。若入栈序列为1,2,3,4,则不可能的出栈序列是:A.1,2,3,4B.4,3,2,1C.2,4,3,1D.3,1,4,247.软件维护活动通常分为四类:改正性维护、适应性维护、完善性维护和预防性维护。其中,为了改进软件性能或可维护性而进行的维护属于:A.改正性维护B.适应性维护C.完善性维护D.预防性维护48.在操作系统文件管理中,文件控制块(FCB)是系统管理文件的依据。FCB中不包含以下哪项信息?A.文件名B.文件在磁盘上的物理位置C.文件创建者的密码D.文件大小49.某系统采用二级页表进行地址映射。逻辑地址为32位,页面大小为4KB。页目录表项(PDE)和页表项(PTE)均为4字节。则一个进程的页目录表占用多少字节?A.4KBB.8KBC.16KBD.32KB50.在网络命令中,用于测试网络连通性的命令是:A.pingB.tracertC.netstatD.ipconfig51.以下关于设计模式中“观察者模式”的描述,正确的是:A.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。B.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。C.为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。D.允许一个对象在其内部状态改变时改变它的行为,这个对象看起来像是改变了它的类。52.某关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→E}。则关系模式R的候选码是:A.AB.BC.CD.D53.在软件测试中,边界值分析主要基于:A.等价类划分B.经验推测C.错误推测D.因果图54.某程序段如下:```cintx=0,y=0;while(x<10){x++;y+=x;}```执行结束后,变量y的值为:A.45B.55C.66D.10055.在XML技术中,用于定义XML文档结构的语言是:A.XSLB.XSLTC.DTD或XMLSchemaD.XPath56.某系统有3个进程P1、P2、P3共享资源R,资源R有3个实例。已知P1需要2个,P2需要2个,P3需要2个。若当前P1已申请1个,P2已申请2个,P3已申请1个。此时系统处于:A.安全状态B.不安全状态C.死锁状态D.无法确定57.在软件工程中,风险暴露度计算公式为:A.风险发生概率×风险造成损失B.风险发生概率+风险造成损失C.风险造成损失/风险发生概率D.风险发生概率/风险造成损失58.以下关于Web服务技术的描述,错误的是:A.SOAP(简单对象访问协议)基于XML。B.WSDL(Web服务描述语言)用于描述Web服务的接口。C.UDDI(通用描述、发现和集成)用于Web服务的注册和查找。D.RESTfulWeb服务必须使用SOAP协议传输。59.某算法在处理n个元素时,主要操作为双重嵌套循环,外层循环执行n次,内层循环执行次数与外层变量i相关,约为n/A.OB.OC.OD.O60.在数据库事务的并发控制中,若两个事务同时对同一数据进行更新,可能导致的问题是:A.丢失更新B.不可重复读C.读“脏”数据D.幻影读61.某计算机字长为32位,采用大端方式存储数据。变量`longx=0x12345678;`的地址为0x0000FF00。则地址0x0000FF01处的字节内容是:A.0x12B.0x34C.0x56D.0x7862.在UML顺序图中,消息箭头的类型表示同步或异步调用。实心箭头通常表示:A.同步调用B.异步调用C.返回消息D.简单消息63.以下关于KMP算法的描述,正确的是:A.KMP算法的时间复杂度在最坏情况下为O(B.KMP算法通过预处理模式串,利用部分匹配表避免不必要的回溯。C.KMP算法不需要额外的存储空间。D.KMP算法只能用于字符串的精确匹配,不能用于模糊匹配。64.某公司网络规划中,IP地址为/16。若需要划分出100个子网,且每个子网尽可能容纳更多主机,则子网掩码应设置为:A.B.C.D.2865.在软件架构评估中,ATAM(架构权衡分析方法)的主要目的是:A.评估架构的性能B.评估架构的质量属性并识别风险点C.评估架构的成本D.评估架构的安全性66.某程序逻辑如下:```cinta=5,b=10;if(a>0||b++>10){a++;}```执行后,变量a和b的值分别为:A.6,10B.6,11C.5,10D.5,1167.在Python语言中,元组与列表的主要区别是:A.元组是不可变的,列表是可变的。B.元组只能存储相同类型的数据,列表可以存储不同类型。C.元组使用花括号,列表使用方括号。D.元组的访问速度比列表慢。68.以下关于Linux文件权限的描述,若文件权限为`-rwxr-xr--`,则表示:A.文件所有者可读写执行,组用户可读执行,其他用户可读。B.文件所有者可读写执行,组用户可读写,其他用户可读。C.文件所有者可读执行,组用户可读执行,其他用户可读。D.文件所有者可读写,组用户可读执行,其他用户可读。69.某二叉排序树(BST)中,中序遍历结果为有序序列。若插入关键字的顺序为:50,30,70,20,40,60,80。则在该树中查找关键字35的过程中,比较的节点序列是:A.50,30,40B.50,30,20,40C.50,70,60D.50,30,7070.在软件工程中,PERT图(计划评审技术)主要用于:A.成本估算B.进度安排C.风险分析D.质量控制71.以下关于JavaScript中闭包的描述,正确的是:A.闭包是指函数能够访问其外部作用域中的变量。B.闭包会导致内存泄漏,应完全避免使用。C.闭包中的变量在函数执行完毕后立即被销毁。D.闭包只能访问全局变量。72.某数据库表Student(Sno,Sname,Sage,Sdept),其中Sno为主键。若要查询“信息系”年龄最大的学生姓名,SQL语句为:A.SELECTSnameFROMStudentWHERESdept='信息系'ANDSage=MAX(Sage)B.SELECTSnameFROMStudentWHERESdept='信息系'HAVINGSage=MAX(Sage)C.SELECTSnameFROMStudentWHERESdept='信息系'ANDSage=(SELECTMAX(Sage)FROMStudentWHERESdept='信息系')D.SELECTSnameFROMStudentWHERESdept='信息系'GROUPBYSageORDERBYSageDESCLIMIT173.在计算机网络中,DNS协议主要用于:A.自动分配IP地址B.域名解析C.传输网页文件D.发送电子邮件74.某系统采用混合策略进行页面置换:当进程访问的页面不在内存时,若内存有空闲帧,则调入;若内存已满,则采用LRU算法置换。若页面引用串为:1,2,3,4,1,2,5,1,2,3,4,5,分配给该进程的物理块数为3。则发生缺页中断的总次数是:A.7B.8C.9D.1075.以下关于设计模式中“策略模式”的描述,错误的是:A.策略模式定义了一系列算法,并将每个算法封装起来。B.策略模式让算法独立于使用它的客户而变化。C.策略模式通常使用接口或抽象类来定义策略。D.策略模式在运行时只能选择一种策略,无法动态切换。二、案例分析题(共4题,每题15-20分)试题一(15分)阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某系统需要频繁处理字符串的匹配与查找操作。为了提高效率,现实现一个基于KMP算法的字符串匹配函数。该函数返回模式串在主串中第一次出现的位置,若未找到则返回-1。KMP算法的核心在于利用已经匹配过的信息,避免主串指针的回溯。这通过构造一个next数组(部分匹配表)来实现。【C函数】```c#include<stdio.h>#include<string.h>//构造next数组voidGetNext(char*p,int*next){intpLen=strlen(p);next[0]=-1;intk=-1;intj=0;while(j<pLen-1){if(k==-1||p[j]==p[k]){++j;++k;if(p[j]!=p[k])next[j]=k;elsenext[j]=next[k];}else{k=next[k];}}}//KMP匹配函数intKMPSearch(char*s,char*p){inti=0;intj=0;intsLen=strlen(s);intpLen=strlen(p);intnext[100];//假设模式串长度不超过100(1);//调用GetNext函数while(i<sLen&&j<pLen){if(j==-1||(2)){//字符匹配或j回溯到-1i++;j++;}else{(3);//j回溯}}if(j==pLen)return(4);//返回匹配位置elsereturn-1;}intmain(){char*s="ababababca";char*p="ababc";intpos=KMPSearch(s,p);printf("Position:%d\n",pos);return0;}```【问题】请补充C函数中的空缺处。试题二(20分)阅读以下说明和Java代码,回答问题1至问题3。【说明】某电商系统需要支持多种支付方式(如信用卡、支付宝、微信支付)。为了方便后续增加新的支付方式且不影响客户端代码,系统采用了策略模式(StrategyPattern)。下图是该系统支付模块的部分类图。【类图描述】PaymentStrategy(接口):包含方法`pay(doubleamount)`。CreditCardPayment(类):实现PaymentStrategy接口,实现信用卡支付逻辑。AlipayPayment(类):实现PaymentStrategy接口,实现支付宝支付逻辑。PaymentContext(类):包含一个PaymentStrategy类型的成员变量,提供方法`setStrategy(PaymentStrategystrategy)`和`executePayment(doubleamount)`。【Java代码】```java//支付策略接口interfacePaymentStrategy{voidpay(doubleamount);}//信用卡支付策略classCreditCardPaymentimplementsPaymentStrategy{privateStringcardNumber;publicCreditCardPayment(StringcardNumber){this.cardNumber=cardNumber;}@Overridepublicvoidpay(doubleamount){System.out.println("Paid"+amount+"usingCreditCard"+cardNumber);}}//支付宝支付策略classAlipayPaymentimplementsPaymentStrategy{privateStringaccountId;publicAlipayPayment(StringaccountId){this.accountId=accountId;}@Overridepublicvoidpay(doubleamount){System.out.println("Paid"+amount+"usingAlipayAccount"+accountId);}}//支付上下文classPaymentContext{private(1)strategy;//策略对象publicvoidsetStrategy(PaymentStrategystrategy){this.strategy=strategy;}publicvoidexecutePayment(doubleamount){if(strategy!=null){(2);//执行支付}else{System.out.println("Paymentstrategynotset.");}}}publicclassClient{publicstaticvoidmain(String[]args){PaymentContextcontext=newPaymentContext();//使用信用卡支付context.setStrategy(newCreditCardPayment("1234-5678-9012-3456"));context.executePayment(100.50);//切换为支付宝支付context.setStrategy(newAlipayPayment("user@example"));(3);//执行支付}}```【问题1】(5分)请指出该设计模式的结构图中的三个主要角色,并结合代码说明它们分别对应哪个类或接口。【问题2】(5分)请补全Java代码中的空缺处(1)、(2)、(3)。【问题3】(10分)现需要增加“微信支付”功能。请根据策略模式,给出新增的`WeChatPayment`类的完整Java代码实现。假设微信支付需要绑定微信号。试题三(15分)阅读以下说明,回答问题1至问题3。【说明】某学校图书馆管理系统数据库设计包含以下关系模式:图书:Book(BookID,Title,Author,Publisher,Price)读者:Reader(ReaderID,Name,Department,MaxBorrow)借阅记录:Borrow(RecordID,BookID,ReaderID,BorrowDate,ReturnDate)其中,下划线表示主键。【问题1】(5分)若要查询“2023年借阅次数最多的图书书名”,请写出SQL查询语句。【问题2】(5分)若要创建一个视图`CurrentBorrow`,显示当前尚未归还的图书信息(包括图书名、读者名、借阅日期),请写出创建视图的SQL语句。【问题3】(5分)系统要求:读者的“最大借阅数”默认为5。在插入新读者记录时,如果未指定MaxBorrow,则自动设置为5。请通过触发器或默认约束的方式实现该需求(请写出一种方式的SQL语句)。试题四(20分)阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某图形处理系统需要处理多种形状(如圆形、矩形)。系统采用组合模式(CompositePattern)来管理图形对象树,使得客户端可以一致地处理单个图形对象和图形组合对象。下图是系统的类图。【类图描述】Shape(抽象类):包含方法`draw()`。Circle(类):继承自Shape,表示圆形。Rectangle(类):继承自Shape,表示矩形。GraphicComposite(类):继承自Shape,表示图形组合,包含一个Shape对象的列表,实现`draw()`方法遍历列表调用子对象的`draw()`。【C++代码】```cpp#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;//抽象基类ShapeclassShape{public:virtualvoiddraw()const=0;virtual~Shape(){}};//圆形classCircle:publicShape{public:voiddraw()constoverride{cout<<"DrawingCircle"<<endl;}};//矩形classRectangle:publicShape{public:voiddraw()constoverride{cout<<"DrawingRectangle"<<endl;}};//图形组合类classGraphicComposite:publicShape{private:vector<Shape*>shapes;//使用指针数组存储子图形public:voidadd(Shape*shape){shapes.push_back(shape);}voidremove(Shape*shape){//简单实现,实际可能需要查找迭代器autoit=find(shapes.begin(),shapes.end(),shape);if(it!=shapes.end()){shapes.erase(it);}}voiddraw()constoverride{for((1)it=shapes.begin();it!=shapes.end();++it){(2);//调用子对象的draw方法}}};intmain(){//创建单个图形Shape*circle=newCircle();Shape*rectangle=newRectangle();//创建组合图形GraphicComposite*composite=newGraphicComposite();composite->add(circle);composite->add(rectangle);//在组合中再添加一个组合GraphicComposite*subComposite=newGraphicComposite();subComposite->add(newCircle());composite->add(subComposite);//统一绘制(3);//绘制组合对象//内存清理略return0;}```【问题】请补全C++代码中的空缺处(1)、(2)、(3)。答案与解析一、单项选择题1.A解析:平均CPI=1×0.4+4×0.3+3×修正:题目问“约为”,1000是最接近的整数选项。2.A解析:平均存取时间=Cache命中时间+(1-命中率)×主存时间。注意:这里通常只考虑两级Cache-主存,题目说三级,但公式通常为T=+(3.A解析:C0A00000H=1100000010100000...符号位S=1(负)。阶码E=10000001(偏移量127)=129-127=2。尾数M=1.01(隐含1)=1.25。值=−1.254.D解析:分层架构中,上层依赖下层,下层不应依赖上层,否则耦合度太高,违反分层原则。D错误。5.C解析:关键路径计算。A(3)->B(5)->D(6)->G(2)=16A(3)->B(5)->E(8)->G(2)=18A(3)->C(4)->E(8)->G(2)=17A(3)->C(4)->F(5)->G(2)=14最大值为18。6.A解析:信号量S<0时,其绝对值表示等待队列中的进程数。7.B解析:/16划分为4个子网,需要借用2位(=4等等,=4选项A是(/18)。选项B是/19。选项C是/20。题目问“划分为4个大小相同的子网”。/16借2位变成/18。选项A正确。8.D解析:A:1NF不一定满足2NF(可能存在部分依赖)。B:2NF消除了非主属性对码的部分依赖,但可能存在传递依赖。C:3NF消除了非主属性对码的传递依赖,但2NF已消除部分依赖。D:BCNF消除了所有属性(包括主属性)对码的传递和部分依赖,定义是决定因素都包含码。9.B解析:语法分析器分析语法结构。10.C解析:单例模式属于创建型模式。适配器、装饰器是结构型,观察者是行为型。11.B解析:内存池技术主要解决频繁分配释放导致的内存碎片问题。12.B解析:类图描述静态结构。13.D解析:14%7=0,放0。23%7=2,放2。9%7=2,冲突,下一个3,放3。36%7=1,放1。55%7=6,放6。20%7=6,冲突,下一个0(占),1(占),2(占),3(占),4(空),放4。55在6。14.A解析:环路复杂度V(15.D解析:ARP协议属于数据链路层(在TCP/IP模型中,有时归为网络层接口,但严格来说工作在链路层处理IP到MAC的解析)。在OSI模型中是网络层,但在TCP/IP协议栈标准分类中,通常将其视为链路层辅助协议或网络层下方。但在软考中,ARP通常被归类为网络层协议(因为它处理IP地址)。修正:ARP工作在网络层(TCP/IP体系结构中,网络层包含IP、ICMP、ARP、RARP)。所以D描述“属于网络层协议”是正确的。再修正:题目问错误的是。ARP确实解决IP到MAC,属于网络层。D描述正确。找其他错误。A正确。B正确。C正确。等等,D说“ARP...属于网络层协议”。这是标准分类。那么哪里错了?A:TCP是可靠的、面向连接的。对。B:UDP是不可靠的、无连接的。对。C:IP负责寻址路由。对。D:ARP解析IP到MAC。在OSI七层中是数据链路层,在TCP/IP四层中是网络层(与IP并列)。软考教材通常将其归为网络层。如果非要选错,可能是D中关于“协议栈”的细微差别,或者题目认为ARP是链路层。但通常ARP被视为网络层协议。让我们重新审视D。也许没有错误?单选题必有错。常见陷阱:RARP已经废弃。但D没提RARP。也许是C?IP协议不负责路由?IP负责寻址,路由器负责路由。但通常说IP层提供路由功能。让我们看A。TCP是字节流服务。正确。让我们看B。UDP是数据报服务。正确。让我们看D。ARP。如果教材严格按OSI分,ARP是链路层。如果按TCP/IP分,ARP是网络层。软考一般按TCP/IP。另一种可能:题目中“TCP/IP协议栈”下,ARP是链路层?不,Tanenbaum将ARP放在链路层。Kurose&Ross将ARP放在链路层。但很多国内教材将ARP放在网络层。策略:如果必须选,选D的可能性较大,因为ARP在物理上是通过广播帧传输的,属于二层半或二层协议。但软考真题中,ARP常被标记为网络层。换一个思路:题目是否有误?或者我眼花?检查C:IP协议负责网络层的寻址和路由。正确。检查D:ARP协议用于将IP地址解析为MAC地址,属于网络层协议。如果标准答案是OSI视角,D是错的。结论:选D(假设出题者持OSI观点或严格分层观点)。16.B解析:。1000^2/100^2=100。17.C解析:JPEG主要采用DCT变换。18.B解析:第1年:投入50,收益25。净-25。第2年:维护5,收益25。净-5。第3年:维护5,收益25。净+15。第3年回本。19.A解析:A:著作权保护期通常为作者终生+50年。正确。B:商标权有效期10年,可续展。错误。C:发明专利20年,实用新型10年。错误。D:商业秘密一旦公开,不再受保护。错误。20.B解析:const成员函数。21.C解析:隔离性定义。22.A解析:构建二叉树。前序A...中根...A是根。左子树:前BDE,中DBE。B是根,左D,右E。右子树:前CF,中FC。C是根,左F。后序:左(DEB)->右(FC)->根(A)。序列:D,E,B,F,C,A。23.B解析:数字签名用于完整性、认证、不可否认。24.B解析:逻辑地址32位,页大小4KB(12位)。页号20位。页表项4字节。页表最大项数。总大小×4=25.C解析:敏捷开发强调“可工作的软件高于详尽的文档”。C错误。26.B解析:白盒测试关注内部逻辑。27.A解析:无向图邻接矩阵对称。对角线表示自环,通常无自环则为0。若有自环则可能为1。但一般简单图无自环。A最准确(描述简单无向图特性)。如果允许自环,B也对。通常选A。28.A解析:DES分组64位,有效密钥56位(64位输入,8位奇偶校验)。29.D解析:fork是创建进程的系统调用,不是I/O多路复用。30.C解析:易用性关注用户使用的体验。31.B解析:二分查找。Mid=(0+9)/2=4,val=50>35,left=5.Mid=(5+9)/2=7,val=80>35,left=5.(Wait,50>35,goleft.35isleftof50.Index0-3).修正:第一次:[0,9],mid=4(50).35<50,查左[0,3].第二次:[0,3],mid=1(20).35>20,查右[2,3].第三次:[2,3],mid=2(30).35>30,查右[3,3].比较序列:50,20,30。选项A。32.B解析:堆排序不稳定,空间O(1),复杂度O(nlogn)。B正确。33.A解析:*p++返回p指向的值(即a[0]=1),然后p指针加1。34.C解析:VLAN间通信需要三层设备(路由器或三层交换机)。35.C解析:关联端数字表示多重性。36.B解析:F=37.B解析:分支用于并行开发和管理变体。38.B解析:RISC指令系统简单(精简),CISC复杂。B说反了。39.D解析:SQL删除语法DELETEFROMtableWHEREcondition。40.B解析:串联系统可靠度相乘。0.9×41.A解析:里氏替换代换原则。42.C解析:404NotFound。43.B解析:主定理。T(n)=2T(n/44.C解析:接口变量默认publicstaticfinal。接口不能实例化。接口支持多继承(类实现多接口)。C正确。45.B解析:源Internal,目的Any,端口80,允许。46.D解析:栈特性。A:1进1出,2进2出...可行。B:全进全出。可行。C:1进,2进,2出,3进,4进,4出,3出,1出。可行。D:1进,2进,3进,3出。此时栈顶是2,不能出1。不可行。47.D解析:为了改进性能或可维护性,属于预防性维护(或完善性,视具体定义,通常“为了未来容易维护”是预防性,“增加功能”是完善性)。题目说“改进性能或可维护性”,软考中通常归为完善性或预防性。若强调“为了改进...以利于未来”,偏预防性。若强调“改进了...本身”,偏完善性。修正:教材定义:改正性(改错),适应性(环境),完善性(扩充功能/改善性能),预防性(可维护性/可靠性)。题目包含“改进性能”(完善性)和“可维护性”(预防性)。综合来看,完善性更常见。再修正:通常“改进性能”属于完善性维护。48.C解析:FCB包含文件名、位置、大小、权限等,不包含用户密码(那是账号管理的事)。49.A解析:32位逻辑地址,4KB页(12位偏移)。页号20位。页目录表(一级)项数(因为二级结构,通常10位一级10位二级)。每项4字节。×450.A解析:ping测试连通性。51.A解析:观察者模式定义。52.A解析:A→B→53.A解析:边界值分析基于等价类划分的边界。54.B解析:x=1,y=1x=2,y=3x=3,y=6...x=10,y=55.1+55.C解析:DTD或Schema定义结构。56.A解析:银行家算法。Available=3-(1+2+1)=-1?不,总实例3。已分配:P1(1),P2(2),P3(1)。共4个?题目:资源R有3个实例。P1申请1,P2申请2,P3申请1。总共申请了4个?这不可能,超过资源总数了。修正:可能是P1已申请1,P2已申请1,P3已申请1?或者“P2已申请2”是笔误?假设题目描述有误,或者P2只申请了1个?假设Available=3-(1+1+1)=0。Need:P1(1),P2(1),P3(1).状态不安全(无可用资源)。如果题目数字没错,那就是死锁或不安全。修正:看选项。若总实例3,已分配1+2+1=4,系统已崩溃。出题意图可能是总实例更多,或者已分配更少。假设总实例=5?Available=1。不安全。假设总实例=6?Available=2。尝试P1:Need(1)<=Avail(2).执行P1,Avail=3.执行完释放1,Avail=4.尝试P2:Need(2)<=4.Avail=6.尝试P3.安全。按常规题套路:通常是计算不安全状态。若总实例3,P1(1),P2(1),P3(1).Avail=0.不安全。若P2已申请2是正确的,那么题目本身矛盾。推测:题目可能写“P2申请2”但实际“已分配1”。或者总资源是4。如果总资源4,已分配1+2+1=4,Avail=0。不安全。选B。57.A解析:RiskExposure=Probability×Impact。58.D解析:RESTful不使用SOAP,使用HTTP。59.C解析:双重循环,内层执行n/2。总次数60.1.A解析:丢失更新。61.C解析:大端模式,高位在低地址。0x123456780xFF00:0x120xFF01:0x340xFF02:0x560xFF03:0x78

温馨提示

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

评论

0/150

提交评论