城市专升本软件工程试题及答案详情_第1页
城市专升本软件工程试题及答案详情_第2页
城市专升本软件工程试题及答案详情_第3页
城市专升本软件工程试题及答案详情_第4页
城市专升本软件工程试题及答案详情_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

热门城市专升本软件工程试题及答案详情考试时间:______分钟总分:______分姓名:______一、单项选择题(本大题共10小题,每小题2分,共20分。在每小题给出的四个选项中,只有一项是符合题目要求的)1.栈是一种线性表,其特点是A.先进先出B.后进先出C.先进后出D.有序插入2.在二叉树中,若某节点是叶子节点,则该节点的左孩子指针和右孩子指针的值分别为A.0B.1C.NULLD.None3.下列关于进程的描述中,正确的是A.进程是程序的一次执行B.进程是静态的C.进程之间不存在相互制约关系D.一个进程只能包含一个线程4.软件生命周期中,将需求转化为软件系统设计的阶段是A.可行性分析B.需求分析C.软件设计D.软件测试5.在关系数据库中,用来唯一标识一个元组的属性或属性组合称为A.主键B.外键C.候选键D.索引6.下列算法中,时间复杂度最差的是A.冒泡排序B.直接插入排序C.快速排序D.归并排序7.在计算机网络中,TCP协议属于哪一层协议A.网络层B.传输层C.会话层D.应用层8.下列关于软件测试的描述中,错误的是A.软件测试是为了发现错误而执行程序的过程B.软件测试应遵循“尽早测试,不断测试”的原则C.白盒测试主要根据程序的内部逻辑结构设计测试用例D.黑盒测试完全不考虑程序的内部结构和实现细节9.若一棵二叉树的前序遍历序列是ABCDEFG,中序遍历序列是BDCAEGF,则其后序遍历序列是A.DCBGFEAB.DCBEGFAC.DCBFGEAD.DCBEFGA10.在操作系统中,产生死锁的必要条件不包括A.互斥条件B.请求与保持条件C.不剥夺条件D.同步条件二、多项选择题(本大题共5小题,每小题3分,共15分。在每小题给出的四个选项中,有两项或两项以上是符合题目要求的,多选、少选、错选均不得分)1.下列属于软件危机主要表现的有A.软件开发进度失控B.软件开发成本过高C.软件质量难以保证D.软件维护困难2.下列数据结构中,属于非线性结构的有A.树B.图C.栈D.队列3.数据库事务的特性包括A.原子性B.一致性C.隔离性D.持久性4.软件测试方法中,黑盒测试主要关注A.程序内部逻辑B.程序外部功能C.输入数据和输出结果D.程序运行速度5.下列关于软件维护的描述,正确的有A.维护是软件生命周期中持续时间最长的阶段B.维护工作主要是在软件投入运行之后进行的C.维护工作仅包括纠错性维护D.维护工作包括适应性维护、完善性维护和预防性维护三、填空题(本大题共5小题,每小题3分,共15分)1.栈的基本运算包括入栈、出栈和________。2.在链式存储结构中,指针域为空的节点被称为________。3.软件工程中,结构化分析方法(SA)常用的描述工具包括数据流图(DFD)和________。4.在关系数据库中,关系模式可以形式化地表示为________。5.算法的时间复杂度通常用________来度量。四、简答题(本大题共3小题,每小题10分,共30分)1.什么是软件危机?产生软件危机的主要原因是什么?2.简述进程与线程的区别。3.简述黑盒测试与白盒测试的主要区别。五、程序设计题(本大题共2小题,共20分)1.阅读下列程序,将横线处的代码补充完整。(5分)```cintBinarySearch(intarr[],intn,intkey){intlow=0;inthigh=n-1;while(low<=high){intmid=__________;if(arr[mid]==key){returnmid;}elseif(arr[mid]<key){low=mid+1;}else{high=mid-1;}}return-1;}```2.阅读下列程序,写出程序的输出结果。(5分)```javapublicclassTest{publicstaticvoidmain(String[]args){int[]arr={1,3,5,7,9};intindex=arr.length/2;for(inti=index;i>=0;i--){System.out.print(arr[i]+"");}}}```3.简单描述软件测试的步骤。(5分)4.已知一棵二叉树的前序遍历序列为ABDCEF,中序遍历序列为BDAECF,请画出该二叉树,并写出其后序遍历序列。(5分)试卷答案一、单项选择题1.C*解析:栈是线性表的一种特殊形式,只允许在表的一端(栈顶)进行插入和删除操作。遵循“后进先出”(LIFO)的原则,即最后进栈的元素最先出栈。2.C*解析:在二叉树中,叶子节点是指没有子节点的节点。在链式存储结构中,指针域通常存储子节点的地址,如果没有子节点,指针域的值就为空,通常用NULL或None表示。3.A*解析:进程是程序在计算机上的一次执行过程,具有动态性、并发性等特征。程序是静态的代码集合。进程由代码段、数据段和PCB(进程控制块)组成,一个进程内部可以包含多个线程。4.C*解析:软件生命周期包括:可行性分析、需求分析、软件设计(概要设计和详细设计)、软件实现(编码)、软件测试、软件维护等阶段。需求分析阶段主要是明确“做什么”,而软件设计阶段是将需求转化为“怎么做”的蓝图。5.A*解析:主键(PrimaryKey)是指表中能够唯一标识一个元组的属性或属性组合。它不能为空且必须唯一。候选键也是能唯一标识元组的属性,但一个表只有一个主键。6.A*解析:冒泡排序在最坏情况(数组完全逆序)下的时间复杂度为O(n²)。直接插入排序、快速排序和归并排序在最坏情况下的时间复杂度通常优于或等于O(n²)(快速排序最坏O(n²),但平均O(nlogn))。7.B*解析:TCP(TransmissionControlProtocol)传输控制协议属于传输层协议,而IP协议属于网络层协议。HTTP、FTP等属于应用层协议。8.D*解析:软件测试是为了发现错误而执行程序的过程。黑盒测试主要关注软件的外部功能,不考虑内部结构;白盒测试关注内部逻辑结构。程序运行速度通常属于性能测试范畴,不是黑盒/白盒测试的核心关注点,且在基础测试描述中D选项表述不准确。9.A*解析:题目给出前序遍历:A(根)B(左)D(左的左)E(左的右)C(右)F(右的左)G(右的右);中序遍历:DBEAFCG。*确定根节点为A。*左子树前序:BDE;中序:DBE。根为B,左子为D,右子为E。后序:DEB。*右子树前序:CFG;中序:FCG。根为C,左子为F,右子为G。后序:FGC。*整棵树后序:DEBFGCA。10.D*解析:死锁产生的四个必要条件是:互斥条件、请求与保持条件、不剥夺条件、循环等待条件。同步条件是进程间协作的必要条件,但不是死锁的必要条件。二、多项选择题1.A、B、C、D*解析:软件危机是指在软件开发和维护过程中遇到的一系列严重问题,包括软件开发进度失控、成本过高、质量难以保证、维护困难、用户不满意等。2.A、B*解析:线性结构(如栈、队列、数组)的数据元素之间是一对一的关系。非线性结构(如树、图)的数据元素之间存在一对多或多对多的关系。3.A、B、C、D*解析:事务的四个特性ACID分别指:原子性(Atomicity,事务是不可分割的工作单位)、一致性(Consistency,事务执行前后数据库完整性约束未被破坏)、隔离性(Isolation,并发执行的事务互不干扰)、持久性(Durability,事务提交后永久生效)。4.B、C*解析:黑盒测试完全不考虑程序的内部结构和实现细节,只根据需求规格说明书,检查输入和输出是否满足功能要求,因此关注外部功能和输入输出。5.A、B、D*解析:软件维护是软件生命周期中时间最长、成本最高的阶段。维护类型包括:纠错性维护(修复Bug)、适应性维护(适应环境变化)、完善性维护(增加新功能)、预防性维护(预防未来问题)。C选项“仅包括纠错性维护”是错误的,范围太窄。三、填空题1.读栈顶元素*解析:栈的基本操作除了入栈(Push)和出栈(Pop,销毁栈顶元素)外,还有读取栈顶元素的操作,通常称为Peek或Top。2.头指针或空节点*解析:在链式存储结构中,当链表为空时,头指针通常指向一个特殊的空节点(头节点),或者头指针本身的值为NULL。这里填“头指针”或“空节点”均可。3.数据字典*解析:结构化分析方法(SA)通常使用数据流图(DFD)描述系统逻辑模型,使用数据字典(DD)对数据流图中出现的所有数据元素进行详细定义。4.R(U)*解析:关系模式可以形式化地表示为R(U),其中R是关系名,U是属性集合。5.O(n)*解析:算法的时间复杂度通常用大O表示法来度量,表示算法执行时间随输入规模增长的趋势。四、简答题1.答案:软件危机是指在计算机软件开发和维护过程中遇到的一系列严重问题,主要表现为:软件开发进度失控、软件开发成本过高、软件质量难以保证、软件维护困难、用户不满意、软件文档缺乏等。产生的主要原因:1.软件规模越来越大,复杂度呈指数级增长。2.软件开发方法落后,过分依赖程序员的个人技巧。3.软件开发管理不善,缺乏科学的工程化方法。4.软件开发工具落后,生产效率低下。2.答案:进程与线程的区别:1.定义不同:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;线程是进程内的一个执行单元,是CPU调度和执行的基本单位。2.资源拥有不同:进程拥有独立的内存空间和系统资源(如文件描述符、句柄等),线程共享其所属进程的内存空间和资源。3.通信方式不同:进程间通信复杂(如管道、消息队列),线程间通信简单(可直接读写全局变量)。4.开销不同:进程创建和切换开销大,线程开销小。3.答案:黑盒测试与白盒测试的区别:1.关注点不同:黑盒测试关注软件的外部行为和功能,不考虑内部结构;白盒测试关注软件的内部逻辑结构和代码实现。2.输入输出不同:黑盒测试根据需求规格说明书设计输入和预期输出;白盒测试根据程序内部的逻辑路径设计测试用例。3.实施者不同:黑盒测试通常由测试人员或用户进行;白盒测试通常由开发人员或专门的测试工程师进行。五、程序设计题1.答案:`low+(high-low)/2`*解析:二分查找的核心在于通过取中间值mid=(low+high)/2来缩小查找范围。为了避免整数相加可能导致的溢出问题,通常使用`low+(high-low)/2`。2.答案:`531`*解析:数组`arr`长度为5,`arr.length/2`等于2。循环变量`i`从2开始递减到0。依次输出索引2、1、0对应的元素,即`5`、`3`、`1`。3.答案:软件测试的步骤通常包括:1.单元测试(对最小的可测试单元进行检查和验证)。2.集成测试(将模块组装起来进行测试,检查接口)。3.系统测试

温馨提示

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

评论

0/150

提交评论