软件技术基础试题及答案_第1页
软件技术基础试题及答案_第2页
软件技术基础试题及答案_第3页
软件技术基础试题及答案_第4页
软件技术基础试题及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

软件技术基础试题及答案一、单项选择题(每题2分,共30分)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.验证软件的正确性6.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()A.编码设计B.测试阶段C.运行阶段D.物理设计7.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是()A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考8.下列叙述中正确的是()A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构9.软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及()A.阶段性报告B.需求评审C.总结D.都不正确10.以下数据结构中不属于线性数据结构的是()A.队列B.线性表C.二叉树D.栈11.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为()A.log₂nB.n/2C.nD.n+112.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送()A.调用语句B.命令C.口令D.消息13.检查软件产品是否符合需求定义的过程称为()A.确认测试B.集成测试C.验证测试D.验收测试14.下列工具中属于需求分析常用工具的是()A.PADB.PFDC.NSD.DFD15.下面不属于软件设计原则的是()A.抽象B.模块化C.自底向上D.信息隐蔽二、填空题(每题2分,共20分)1.数据的逻辑结构有线性结构和__________两大类。2.栈的基本运算有三种:入栈、退栈和__________。3.若按功能划分,软件测试的方法通常分为白盒测试方法和__________测试方法。4.数据库系统中实现各种数据管理功能的核心软件称为__________。5.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于__________阶段。6.在面向对象方法中,信息隐蔽是通过对象的__________性来实现的。7.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的__________存储结构。8.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为__________。9.设一棵完全二叉树共有700个结点,则在该二叉树中有__________个叶子结点。10.软件是程序、数据和__________的集合。三、简答题(每题10分,共30分)1.简述软件生命周期的主要阶段。2.什么是数据结构?它包含哪几个方面的内容?3.简述面向对象方法的主要特点。四、应用题(每题10分,共20分)1.已知一个栈的输入序列为1,2,3,…,n,其输出序列为p₁,p₂,p₃,…,pₙ。若p₁=n,试分析p₂可能的取值情况,并说明理由。2.某学校要建立一个学生信息管理系统,包含学生的基本信息(学号、姓名、性别、年龄、班级等)和成绩信息(课程名、成绩)。请设计该系统的数据库逻辑结构(画出ER图,并将ER图转换为关系模式)。答案一、单项选择题1.D。软件维护是软件生命周期中维护阶段的任务,开发阶段包括需求分析、设计(概要设计、详细设计)、编码、测试等。2.C。数据的逻辑结构是数据元素之间的逻辑关系,与计算机无关;存储结构和物理结构都与计算机的存储方式等有关。3.C。算法的时间复杂度是指算法执行过程中所需要的基本运算次数。4.B。栈可以顺序存储,也可以链式存储。5.B。软件调试的目的是改正错误,发现错误是软件测试的目的。6.D。数据库设计的四个阶段是需求分析、概念设计、逻辑设计和物理设计。7.C。面向对象的基本原理是使用现实世界的概念抽象地思考问题从而自然地解决问题。8.A。线性表是线性结构,栈与队列是特殊的线性结构,线性链表是线性结构,二叉树是非线性结构。9.B。软件需求分析阶段的工作包括需求获取、需求分析、编写需求规格说明书以及需求评审。10.C。二叉树是非线性数据结构,队列、线性表、栈都是线性数据结构。11.C。对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。12.D。在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送消息。13.A。确认测试是检查软件产品是否符合需求定义的过程。14.D。DFD(数据流图)是需求分析常用工具,PAD、PFD、NS主要用于详细设计。15.C。软件设计原则有抽象、模块化、信息隐蔽等,一般是自顶向下的设计方法,而不是自底向上。二、填空题1.非线性结构2.读栈顶元素3.黑盒4.数据库管理系统(DBMS)5.开发6.封装7.顺序8.45。冒泡排序最坏情况下比较次数为n(n1)/2,n=10时,10×(101)/2=45。9.350。根据完全二叉树的性质,设完全二叉树的结点数为n,若n为偶数,则叶子结点数为n/2;若n为奇数,则叶子结点数为(n+1)/2。700为偶数,所以叶子结点数为700/2=350。10.文档三、简答题1.软件生命周期主要包括以下阶段:定义阶段:包括问题定义、可行性研究和需求分析。问题定义确定软件要解决的问题;可行性研究评估项目的可行性;需求分析明确软件的功能和性能要求。开发阶段:包含概要设计、详细设计、编码和测试。概要设计确定软件的总体结构;详细设计进行模块的具体设计;编码将设计转化为代码;测试发现软件中的错误。维护阶段:对软件进行修改和完善,以适应新的需求、修复错误等。2.数据结构是相互之间存在一种或多种特定关系的数据元素的集合。它包含以下三个方面的内容:数据的逻辑结构:是数据元素之间的逻辑关系,可分为线性结构(如线性表、栈、队列等)和非线性结构(如树、图等)。数据的存储结构:是数据元素及其关系在计算机存储器内的表示,有顺序存储结构(如数组)和链式存储结构(如链表)。数据的运算:是对数据施加的操作,如查找、插入、删除等。3.面向对象方法的主要特点如下:封装性:将数据和操作数据的方法封装在一起,形成对象,对外提供统一的接口,隐藏内部实现细节,提高了软件的安全性和可维护性。继承性:允许子类继承父类的属性和方法,实现代码的复用,同时可以对父类的方法进行重写和扩展,提高了软件的可扩展性。多态性:同一个操作可以作用于不同类型的对象上,产生不同的执行结果,增强了软件的灵活性和可扩展性。抽象性:通过抽象出对象的共同特征和行为,形成类,忽略对象的非本质细节,便于对复杂问题进行建模和处理。四、应用题1.若p₁=n,说明第一个出栈的元素是n,这意味着1,2,3,…,n依次入栈,然后n出栈。此时栈内元素从栈底到栈顶依次为1,2,…,n1。p₂可能的取值为n1。因为n出栈后,栈顶元素为n1,此时可以将n1出栈。p₂也可能为1。若在n出栈后,进行一系列的入栈和出栈操作,先将栈内元素保持不动,将后续元素1入栈后马上出栈,那么p₂就为1。所以p₂的取值范围是1到n1。2.ER图:有两个实体:学生和课程。

温馨提示

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

最新文档

评论

0/150

提交评论