ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

# 软件设计师考试 · 模拟试题 操作系统、程序设计语言与编译原理

2026/10/7 10:02:15 拓冰建站 浏览量
# 软件设计师考试 · 模拟试题 操作系统、程序设计语言与编译原理 软件设计师考试 · 模拟试题考试依据全国计算机技术与软件专业技术资格水平考试 · 软件设计师考试科目计算机与软件工程知识计算机化考试选择题软件设计计算机化考试问答题适用对象通过本考试者可依据软件开发项目管理和软件工程的要求按照系统总体设计规格说明书进行软件设计编写程序设计规格说明书等文档组织和指导程序员编写、调试程序并对软件进行优化和集成测试。科目一计算机与软件工程知识选择题本科目共 75 道题每题 1 分。下列为覆盖各知识领域的代表性模拟题含参考答案与解析。一、数据表示、算术与逻辑运算1.在计算机中8 位有符号整数采用补码表示则-1的补码是 。A. 1000 0001B. 1111 1111C. 0000 0001D. 1111 1110参考答案B。-1的补码等于(-1) mod 256 255即1111 1111。补码1111 1111表示-1。2.某浮点数的阶码用 4 位补码表示尾数用 8 位原码表示含符号位则其能表示的规格化正数中尾数的最高数值位即首位有效数字为 。A. 1B. 0C. 任意D. 与阶码有关参考答案A。规格化浮点数要求尾数的最高数值位为 1原码规格化正数尾数形式为0.1xxxxxxx。3.逻辑表达式F (A ⊕ B) ⊙ C中⊕表示异或、⊙表示同或。当A1, B0, C0时F的值为 。A. 0B. 1C. 无法确定D. 取决于溢出位参考答案A。A ⊕ B 1 ⊕ 0 11 ⊙ 0 0。故F 0。二、应用数学与离散数学基础4.设集合A {1, 2, 3}则集合A上的自反关系共有 个。A. 8B. 27C. 64D. 16参考答案C。A × A共有 9 个元素其中 3 个对角线元素(1,1)(2,2)(3,3)必须包含自反其余 6 个元素可取可不取故共有2^6 64个自反关系。5.若一完全二叉树的结点总数为n则其叶子结点度为 0 的结点数为 。A.⌈n/2⌉B.⌊n/2⌋C.⌊n/2⌋ 1D. 取决于树的深度参考答案A。完全二叉树中叶子结点数n0 ⌈n/2⌉n 为奇数时(n1)/2n 为偶数时n/2即向上取整⌈n/2⌉。三、计算机体系结构与主要部件6.在下列存储器中存取速度由快到慢的排列顺序是 。A. 寄存器 Cache 主存 磁盘B. 磁盘 主存 Cache 寄存器C. 主存 Cache 寄存器 磁盘D. 寄存器 磁盘 主存 Cache参考答案A。存储层次按速度从快到慢寄存器 → Cache → 主存内存→ 辅助存储器磁盘。7.采用流水线技术时若某指令流水线分为 5 段每段耗时分别为 1ns、1ns、1ns、1ns、1ns则连续执行 100 条指令的吞吐率条/ns约为 。A. 100/104B. 100/105C. 100/500D. 100/1040参考答案A。流水线各段耗时相同为 1ns执行 100 条指令总时间 第 1 条指令时间 5ns 后续 99 条每 1ns 5 99 104ns吞吐率约为100/104。8.CPU 中负责指令译码并产生控制信号的部件是 。A. 运算器ALUB. 控制器C. 存储器D. 总线参考答案B。控制器负责取指令、译码并产生各部件所需的控制信号。四、操作系统、程序设计语言与编译原理9.在操作系统中进程由程序、数据和 三部分组成。A. 进程控制块PCBB. 页表C. 中断向量D. 文件描述符参考答案A。进程 程序 数据 进程控制块 PCB进程存在的唯一标志。10.采用先来先服务FCFS调度算法时进程 P1~P4 的到达时间依次为 0、1、2、3所需 CPU 时间依次为 7、4、3、2则 P3 的等待时间为 。A. 7B. 8C. 9D. 10参考答案C。FCFS 按到达顺序执行P1 完成时刻 7P2 完成 11P3 开始于 11、等待时间为11 - 2 9。11.下列语言中编译阶段能完成静态类型检查的是 。A. 编译型语言如 CB. 解释型语言如纯解释的 BASICC. 汇编语言D. 机器语言参考答案A。编译型语言在编译期进行静态类型检查纯解释型语言在运行期才检查。12.语法分析采用的典型方法不包括 。A. 自顶向下的递归下降分析B. LL(1) 分析C. LR 分析D. 归并排序参考答案D。归并排序是排序算法不属于语法分析方法。五、常用数据结构与算法13.在一个具有n个结点的单链表中查找值为x的结点平均时间复杂度为 。A. O(1)B. O(log n)C. O(n)D. O(n log n)参考答案C。顺序查找单链表平均需比较约n/2个结点时间复杂度 O(n)。14.对序列{50, 30, 80, 20, 60}采用快速排序以第一个元素为基准第一趟划分后基准元素 50 的位置为 。A. 2B. 3C. 4D. 5参考答案B。第一趟划分后小于 50 的元素30、20在左侧大于 50 的80、60在右侧50 位于第 3 个位置下标 2。15.采用广度优先遍历BFS一个无向图需要用到的数据结构是 。A. 栈B. 队列C. 堆D. 双端队列参考答案B。BFS 借助队列实现DFS 借助栈实现。六、数据库基础16.在关系数据库设计过程中将 E-R 图转换为关系模式属于 阶段。A. 需求分析B. 概念结构设计C. 逻辑结构设计D. 物理结构设计参考答案C。E-R 图转关系模式是逻辑结构设计的核心工作。17.设有关系R(A, B, C)和S(B, D)则R ⟕ S左外连接的结果中当 R 中某元组的 B 值在 S 中不存在时该元组对应的 D 值为 。A. NULLB. 0C. 跳过该元组D. 报错参考答案A。左外连接保留 R 中所有元组未匹配到的 S 属性填 NULL。18.事务的原子性Atomicity由数据库系统的 机制来保证。A. 日志与回滚B. 并发控制锁C. 视图D. 索引参考答案A。原子性由事务日志的回滚UNDO机制保证一致性由完整性约束保证隔离性由并发控制保证持久性由重做REDO机制保证。七、网络与多媒体基础19.OSI 参考模型中负责数据链路层之上、网络层之下的传输层的服务是 。A. 面向连接可靠的数据传输B. 路由选择C. 物理信号编码D. 应用报文解析参考答案A。传输层提供端到端的可靠/不可靠传输服务如 TCP/UDP。20.使用 TCP/IP 时IP 地址192.168.1.0/24所属网段的广播地址是 。A. 192.168.1.0B. 192.168.1.255C. 192.168.1.1D. 255.255.255.0参考答案B。/24 子网掩码为255.255.255.0主机位全 1 即192.168.1.255为广播地址。21.在 MPEG 视频压缩标准中I 帧、P 帧、B 帧三种帧类型中压缩比最高、且需要参考前后帧的是 。A. I 帧B. P 帧C. B 帧D. 三者压缩比相同参考答案C。B 帧双向预测帧参照前后帧压缩比最高I 帧为帧内编码、压缩比最低。八、程序设计语言基础22.关于 C 语言下列说法正确的是 。A. 函数内定义的局部静态变量存储在栈中B.sizeof是编译期运算符C. 数组名就是指针变量可对其赋值D.main函数必须放在程序开头参考答案B。sizeof在编译期求值静态变量存储在数据区静态存储区而非栈数组名是常量指针不可赋值main位置不限。23.下列关于虚函数与多态的叙述正确的是 。A. 虚函数表vtable在编译时生成B. 构造函数可以是虚函数C. 静态成员函数可以是虚函数D. 友元函数一定是虚函数参考答案A。虚函数表vtable由编译器在编译期生成构造函数、静态成员函数、友元函数都不能是虚函数。九、软件工程、软件过程与项目管理24.在软件生命周期中软件质量保证SQA活动贯穿 过程。A. 仅编码阶段B. 仅测试阶段C. 软件开发的各个阶段D. 仅维护阶段参考答案C。软件质量保证贯穿需求、设计、编码、测试、维护等各阶段。25.采用敏捷开发如 Scrum时用于反映迭代增量价值、并作为潜在可交付成果的产物是 。A. 需求规格说明书B. 可运行的软件增量Sprint 增量C. 详细设计文档D. 用户操作手册参考答案B。Scrum 每个 Sprint 结束时产出一个可运行的、潜在可交付的软件增量。26.某项目活动 A 的最早开始时间为第 3 天、历时 4 天其后续活动 B 的最早开始时间为第 9 天则 A 的自由时差为 天。A. 0B. 1C. 2D. 3参考答案C。A 最早完成于第3 4 7天B 最早开始于第 9 天A 的自由时差 9 - 7 2天。十、软件设计方法与技术27.在面向对象设计中将对象的内部细节封装起来、仅通过公开接口访问体现了面向对象的 特征。A. 封装B. 继承C. 多态D. 抽象参考答案A。封装隐藏对象内部细节仅暴露必要的接口。28.下列设计模式中属于行为型模式的是 。A. 单例SingletonB. 观察者ObserverC. 适配器AdapterD. 抽象工厂Abstract Factory参考答案B。观察者模式关注对象间通信与行为协作属行为型单例为创建型适配器为结构型抽象工厂为创建型。29.软件测试中语句覆盖、判定覆盖、条件覆盖、路径覆盖四种覆盖准则中覆盖强度最强的是 。A. 语句覆盖B. 判定覆盖C. 条件覆盖D. 路径覆盖参考答案D。路径覆盖要求覆盖程序中的所有可能路径覆盖强度最高。十一、信息技术标准、安全性与法律法规30.在密码学中RSA 算法属于 。A. 对称加密算法B. 非对称公钥加密算法C. 哈希算法D. 流密码算法参考答案B。RSA 是基于大整数分解难题的公钥加密算法对称算法如 DES/AES哈希如 MD5/SHA。31.我国《计算机软件保护条例》规定软件著作权自 起产生。A. 软件登记之日B. 软件开发完成之日C. 软件发布之日D. 软件取得著作权证书之日参考答案B。软件著作权自软件开发完成之日起自动产生登记仅为备案自愿登记。十二、信息化与专业英语32.下列不属于信息化范畴的信息技术应用方向的是 。A. 电子政务B. 企业资源规划ERPC. 传统手工记账D. 大数据分析平台参考答案C。信息化是利用信息技术改造业务流程、提升效率传统手工记账不属于信息化应用。33.“The system is designed to be ( ) so that it can be easily extended to meet future requirements.” 最恰当的词是 。A. extensibleB. fragileC. redundantD. obsolete参考答案A。句意为系统被设计为可扩展的以便易于扩展以满足未来需求extensible可扩展的符合语境。科目二软件设计问答题本科目为计算机化考试的问答/设计题。以下为 4 道典型综合设计题覆盖数据流图、数据库设计、UML 建模与算法设计等核心考点。试题一数据流图DFD设计背景某高校拟开发课程选课管理系统。系统面向学生与教务管理员主要功能如下身份认证学生与管理员登录系统校验账号密码。课程发布管理员录入课程信息课程编号、名称、学分、容量、任课教师、上课时间。在线选课学生浏览可选课程提交选课申请系统校验课程容量与学生已选学分。退课处理学生在规定时间内可撤销已选课程。生成课表选课结束后系统为每位学生生成并导出个人课表。问题1绘制该系统的顶层数据流图上下文图标明外部实体与顶层加工。2将顶层图分解为 0 层数据流图列出主要的加工Process、数据存储Data Store和外部实体。3写出在线选课加工的数据流描述可采用数据字典条目说明输入、输出及需要访问的数据存储。4指出可能出现的错误流如选课超过容量、重复选课并说明系统应如何处理。参考答案1顶层数据流图上下文图外部实体学生Student、教务管理员Admin顶层加工课程选课管理系统P0数据流学生→系统登录信息、选课申请、退课申请系统→学生课程列表、选课结果、个人课表管理员→系统登录信息、课程信息系统→管理员选课统计、发布结果。20 层数据流图外部实体学生、教务管理员。加工P1 身份认证P2 课程信息管理管理员录入P3 在线选课P4 退课处理P5 生成课表数据存储D1 学生信息表D2 课程信息表D3 选课记录表学生-课程关系数据流示例学生→P3选课申请P3→D2读容量P3→D3写选课记录D3→P5读选课记录P5→学生个人课表。3在线选课数据字典条目输入数据流选课申请 学生学号 课程编号 申请时间输出数据流选课结果 学号 课程编号 状态成功/失败 提示信息访问的数据存储课程信息表 D2读取容量与已选人数、选课记录表 D3读取已选课程、写入新记录处理逻辑校验课程容量 → 校验不重复选课 → 校验学分上限 → 写入选课记录 → 返回结果。4错误流及处理容量已满拒绝选课提示该课程选课人数已满。重复选课同一学生重复选择同一课程时拒绝提示已选该课程。超出学分上限校验学生已选总学分超限则拒绝。时间冲突所选课程上课时间与该生其他课程冲突时拒绝。所有失败情况均应保持数据一致性事务回滚确保 D3 不产生脏数据。试题二数据库设计背景为图书借阅管理系统设计数据库。已知业务规则每本书有唯一的图书编号包含书名、作者、出版社、单价、馆藏册数。每位读者有唯一的读者证号包含姓名、性别、联系电话、办证日期。一个读者可以多次借阅多本书一本书可被多个读者先后借阅。每次借阅产生一条借阅记录记录借书日期、应还日期、实际归还日期。问题1画出对应的E-R 图实体、属性、联系及联系的类型。2将 E-R 图转换为关系模式并标出每个关系模式的主键下划线与外键。3关系模式是否满足2NF若不满足说明原因并给出分解方案规范化为 3NF。4写出 SQL 语句查询借阅过书名包含’数据库’且尚未归还实际归还日期为 NULL的读者姓名及借书日期。参考答案1E-R 图实体图书图书编号、书名、作者、出版社、单价、馆藏册数实体读者读者证号、姓名、性别、联系电话、办证日期实体借阅记录借书日期、应还日期、实际归还日期联系读者—借阅记录为 1:N图书—借阅记录为 1:N即读者与图书之间通过借阅记录构成M:N转换后引入借阅实体。2关系模式主键下划线外键斜体图书图书编号书名作者出版社单价馆藏册数读者读者证号姓名性别联系电话办证日期借阅记录借阅编号图书编号读者证号借书日期应还日期实际归还日期说明为避免借阅记录出现全码All-Key无可分离的关键属性为其增设主键借阅编号图书编号、读者证号为外键分别引用图书、读者表。32NF 判定与 3NF 规范化上述三个关系模式中图书与读者表的非主属性完全依赖于主键且无传递依赖均已满足 3NF。借阅记录表的非主属性借书日期、应还日期、实际归还日期均完全依赖于主键借阅编号不存在部分依赖与传递依赖满足 3NF。结论该设计无需进一步分解三个关系模式均满足BCNF/3NF。若存在书名依赖作者等情况则需单独处理。4SQL 查询SELECT读者.姓名,借阅记录.借书日期FROM借阅记录JOIN图书ON借阅记录.图书编号图书.图书编号JOIN读者ON借阅记录.读者证号读者.读者证号WHERE图书.书名LIKE%数据库%AND借阅记录.实际归还日期ISNULL;试题三面向对象分析与设计UML背景某在线购物系统需支持以下功能顾客浏览商品、将商品加入购物车、提交订单、在线支付系统根据库存自动校验商品可用性订单生成后由配送模块安排发货。问题1画出系统的用例图Use Case Diagram标明参与者与主要用例。2为提交订单流程画出**活动图Activity Diagram**的主要动作与分支。3识别系统的主要类及其职责画出类图标明类之间关系关联、聚合/组合、继承。4若需为不同支付方式支付宝、微信、银行卡提供统一接口建议采用哪种设计模式画出对应的类图结构并说明该模式的优势。参考答案1用例图参与者顾客Customer、管理员Admin、支付网关外部系统用例浏览商品、管理购物车、提交订单、在线支付、查询订单、管理商品管理员、处理发货关系顾客与提交订单关联在线支付由顾客触发并调用外部支付网关管理商品为管理员用例。2提交订单活动图主要动作校验购物车非空→校验商品库存→ 分支库存不足 →提示库存不足返回修改购物车库存充足 →锁定库存→生成订单→跳转支付3主要类及类图关系Customer顾客、CartItem购物车项、Order订单、OrderItem订单项、Product商品、Payment支付、Shipment配送关系Customer **1 — * Order关联Order **1 — * OrderItem组合整体与部分同生命周期Product **1 — * OrderItem关联Order **1 — 1 Payment关联Customer 拥有 CartItem聚合/组合均可体现购物车属于顾客4支付方式统一接口策略模式Strategy Pattern定义抽象接口PaymentStrategy声明pay(order)方法。具体类AlipayStrategy、WechatPayStrategy、BankCardStrategy分别实现该接口。Order或PaymentContext持有PaymentStrategy引用运行时可切换支付方式。优势开闭原则——新增支付方式只需新增一个策略类无需修改订单类消除大量 if-else 分支提高可维护性策略可独立测试、独立复用支持运行时动态选择。试题四算法设计与 C 语言实现背景给定n个物品每个物品有重量w[i]和价值v[i]背包容量为C。要求从物品中选取若干件每件最多选一次即 0/1 背包问题使装入背包的物品总重量不超过C且总价值最大。问题1给出该问题的动态规划递推关系式并解释dp[i][j]的含义。2写出求解 0/1 背包问题的C 语言核心代码使用二维数组dp[n1][C1]。3分析该算法的时间复杂度与空间复杂度并给出一种空间优化方案滚动数组。4若物品允许部分装入分数背包采用哪种算法思想最优简述其正确性。参考答案1动态规划递推关系dp[i][j]表示从前i件物品中选取容量为j时能获得的最大价值。递推式w[i]、v[i]从 1 开始编号dp[i][j] dp[i-1][j], 当 j w[i] dp[i][j] max( dp[i-1][j], dp[i-1][j - w[i]] v[i] ), 当 j w[i]边界dp[0][j] 0不选任何物品dp[i][0] 0。最终答案dp[n][C]。2C 语言核心代码#includestdio.h#defineMAXN1000#defineMAXC1000intmax(inta,intb){returnab?a:b;}intknapsack01(intn,intC,intw[],intv[]){intdp[MAXN1][MAXC1]{0};// dp[0][*] 初始为 0for(inti1;in;i){for(intj0;jC;j){if(jw[i])dp[i][j]dp[i-1][j];elsedp[i][j]max(dp[i-1][j],dp[i-1][j-w[i]]v[i]);}}returndp[n][C];}3复杂度与空间优化时间复杂度O(n × C)空间复杂度O(n × C)。空间优化滚动数组只保留dp[j]一维数组内层循环必须倒序遍历j从 C 到w[i]以保证用的是上一行的状态避免同一物品被重复选取intdp[MAXC1]{0};for(inti1;in;i)for(intjC;jw[i];j--)// 倒序是关键if(dp[j-w[i]]v[i]dp[j])dp[j]dp[j-w[i]]v[i];// 答案dp[C]优化后空间复杂度降为O(C)。4分数背包可部分装入采用贪心算法按单位重量价值v[i]/w[i]从高到低排序依次装入最后一个物品可部分装入。正确性物品可分时最优解一定优先选取单位价值最高的物品可用交换论证/局部最优证明故贪心得到全局最优。附考试要求与知识域对照表序号考试要求对应章节/试题1数据表示、算术和逻辑运算科目一一2应用数学、离散数学基础科目一二3计算机体系结构与主要部件科目一三4操作系统、程序设计语言、编译原理科目一四5常用数据结构与常用算法科目一五、试题四6数据库、网络、多媒体基础科目一六、七、试题二7C 程序设计语言及 C/Java 等科目一八、试题四8软件工程、软件过程改进、项目管理科目一九9软件设计的方法和技术科目一十、试题一/三10信息技术标准、安全性、法律法规科目一十一11信息化、计算机应用基础科目一十二12阅读理解计算机领域英文资料科目一十二英语题说明实际考试科目一为 75 道选择题、科目二为 6 道大题。本模拟题在保证覆盖全部知识域的前提下精简了题量供复习自测使用。