软件技术基础复习题解答
计算机软件技术基础复习题和思考题答案

计算机软件技术基础复习题和思考题答案1.5.1 复习题1. 解释计算机程序的概念。
计算机程序(computer programs),简称程序,是指计算机的指令序列。
2. 什么是源代码程序?源代码是指以程序设计语言编写的、可读的语句和声明的集合,程序设计人员的工作就是使用程序设计语言编写源代码,源代码经过编译后转变为计算机可以执行的程序。
3. 什么是可执行程序?可执行程序是指包含了计算机可以直接执行的指令的文件。
为了与源代码相区别,可执行程序又被称为二进制代码。
4. 什么是计算机软件技术?计算机软件技术是与软件的设计、实施和使用相关的多种技术的统称。
软件的设计与实施涉及到程序设计语言、算法和数据结构、数据库系统、多媒体、软件工程等技术,软件的使用涉及到质量、可靠性、专利、知识产权、道德、法律等管理和技术。
5. 如何对软件进行分类?可以根据软件的功能进行分类,也可以根据软件的不同开发方式进行划分,还可以从软件的使用方式进行分类。
根据软件的功能来划分是一种主要的分类方式,可以把软件分为系统软件、编程软件和应用软件3大类型。
6. 什么是系统软件?系统软件(system software)指管理和控制计算机硬件、使计算机工作的软件。
系统软件是一种非常重要的软件类型,它为用户提供了一种操作计算机硬件的便捷方法,为其他程序提供了运行的基础。
7. 常见的系统软件有哪些?根据系统软件的功能特点,可以继续划分为操作系统、设备驱动程序、实用工具以及其他系统软件。
8. 什么是操作系统?操作系统(operating system,OS)是位于计算机系统中的硬件和软件之间的接口,负责管理和协调计算机硬件的操作和计算机有限资源的共享。
9. 列出3个典型的操作系统。
主要的操作系统包括微软公司的Windows系列操作系统、Unix和类Unix操作系统、苹果公司的Mac OS X操作系统、Linux操作系统等。
任意列出3个即可。
10. 什么是编程软件?编程软件(programming software)又称为编程工具(programming tool)或软件开发工具(software development tool),是一种软件开发人员用于创建、调试、维护其他程序和应用软件的软件工具。
(完整版)《计算机软件技术基础》复习题(含答案),推荐文档

A. 110B. 108C. 100D. 120
57.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若P1=n,则Pi为C。
A.iB. n-iC. n-i+1D.不确定
68.判断一个顺序栈ST(最多元素为mo)为空的条件是B。
A. ST->top<>0B. ST->top=0C. st->top<>moD. st->top==mo 69.不带头结点的单链表head为空表的判定条件是A。
A.head==NILLB. head->next==NULL C. head->next==head D. head != NULL
20.若串S=”software”,其子串的数目是B。
A. 8B. 37C. 36D. 9
22.设高为h的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为B
,至多为F。高为h的完全二叉树的结点数至少为E,至多为F
。
A. 2hB. 2h-1C. 2h+1D.h+1
E.2h-1F.2h-1G.2h+1-1H.2h+1
。(未要求一次性全部输入或输出)
A. 4B. 8C.不确定D.7 18.设栈的输入序列是1,2,3,4,则D不可能是其出栈序列。A. 1243B. 2134C. 1432D. 4312
19.以下ABD是C语言中”abcd321ABCD”的子串。
A. abcdB. 321ABC. “abcABC”D. “21AB”
《计算机软件技术基础》复习题
软件技术题库及答案详解

软件技术题库及答案详解在当今信息技术飞速发展的时代,软件技术已成为计算机科学领域的核心。
为了帮助学习者更好地掌握软件技术知识,本文将提供一系列软件技术题库及答案详解,包括但不限于软件开发生命周期、编程语言特性、软件测试方法、数据库设计原则等。
1. 软件开发生命周期(SDLC)包括哪些阶段?- 需求分析- 设计- 编码- 测试- 部署- 维护2. 面向对象编程(OOP)的三大特性是什么?- 封装:隐藏对象的内部状态和实现细节,只暴露必要的接口。
- 继承:允许新创建的类(子类)继承现有类(父类)的属性和方法。
- 多态:允许不同类的对象对同一消息做出响应,但具体行为会根据对象的实际类型而有所不同。
3. 简述敏捷开发方法的特点。
- 迭代开发:通过短周期的迭代来逐步完善产品。
- 客户合作:在整个开发过程中与客户保持紧密合作。
- 响应变化:快速响应需求变更,适应市场变化。
4. 软件测试的目的是什么?- 发现软件中的缺陷和错误。
- 验证软件是否满足需求规格。
- 确保软件的质量和可靠性。
5. 数据库设计应遵循哪些原则?- 规范化:减少数据冗余,提高数据一致性。
- 安全性:保护数据不被未授权访问。
- 性能优化:设计高效的查询和索引策略。
6. 什么是软件架构?- 软件架构是软件系统的高层结构,包括组件、它们之间的关系以及环境。
7. 描述软件开发中的版本控制的重要性。
- 版本控制帮助开发者跟踪代码的变更历史。
- 它允许团队成员协作,同时避免代码冲突。
- 版本控制是回滚到旧版本和维护软件历史的基础。
8. 什么是API(应用程序编程接口)?- API是一组预定义的函数、协议和工具,用于构建软件应用。
9. 描述软件开发中的单元测试的重要性。
- 单元测试确保每个模块或组件按预期工作。
- 它有助于早期发现问题,降低修复成本。
- 单元测试提高了代码的可维护性和可重用性。
10. 什么是软件的可维护性?- 可维护性是指软件在生命周期内进行修改、升级和维护的容易程度。
软件技术基础试题(含答案)

《操作系统》选择题:(bs30)1. 分页式存储管理的主要特点是(B)。
(A) 要求作业全部同时装入内存(B) 不要求作业装入到内存的连续区域(C) 要求扩充外存容量(D) 不要求处理缺页中断(bs30)2. 进程从运行状态进入就绪状态的原因可能是(D)。
(A) 被选中占有处理机(B) 等待某一事件(C) 等待的事件已发生(D) 时间片用完(bs30)3. 多道程序设计是指(D)。
(A) 在实时系统中并发运行多个程序(B) 在分布系统工程中同一时刻运行多个程序(C) 在一台处理机上同一时刻运行多个程序(D) 在一台处理机上并发运行多个程序(bs29)2. 进程从运行状态进入就绪状态的原因可能是( A )。
(A) 时间片用完(B) 等待某一事件(C) 等待的事件已发生(D) 被选中占有处理机(bs29)4. 以下(D)不是实时操作系统的特点。
(A) 高可靠性(B) 及时响应(C) 高效性(D) 通用性(bs28)3. 任何两个并发进程之间( A )。
(A) 可能存在同步或互斥关系(B) 一定存在同步关系(C) 一定彼此独立无关(D) 一定存在互斥关系(bs28)4. 以下的哪个特征不是分时操作系统的主要特征(B)。
(A) 分时性(B) 独占性(C) 交互性(D) 多路性(bs27)2. 以下(D)不是实时操作系统的特点。
(A) 高可靠性(B) 及时响应(C) 中断管理(D) 独立性(bs27)3. 若当前进程因时间片用完而让出处理机时,该进程应转变为(B)状态。
(A) 运行(B) 就绪(C) 等待(D) 完成(bs26)3. 在多道程序设计系统中,处于后备状态的作业要经过(D)调度后才能真正执行。
(A) 作业调度(B) 作业调度和设备调度(C) 进程调度(D) 作业调度和进程调度(bs25)1. 把高级语言的源程序翻译成二进制代码的过程称为:(A)。
(A) 编译(B) 连接(C) 运行(D) 重定位(bs25)2. 把逻辑地址转变为内存的物理地址的过程称作(D)。
《计算机软件技术基础》习题及参考答案

4.以下数据结构中不属于线性数据结构的是______。
A. 队列 B. 线性表 C . 二叉树 D. 栈
5.在计算机中,算法是指______。
A. 查询方法 B. 加工方法 C. 解题方案的准确而完整的描述 D. 排序方法
6.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
B. 随机存取的存储结构、顺序存取的存储结构
C. 随机存取的存储结构、随机存取的存储结构
D. 任意存取的存储结构、任意存取的存储结构
14.下列关于栈的描述中错误的是。
A.栈是先进后出的线性表B.栈只能顺序存储
C.栈具有记忆作用D.对栈的插入和删除操作中,不需要改变栈底指针
15.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。
A. 程序的规模 B. 程序的易读性 C. 程序的执行效率 D. 程序的可移植性
30.对建立良好的程序设计风格,下面描述正确的是______。
A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率 D. 程序的注释可有可无
31.下面对对象概念描述错误的是______。
A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递 D. 操作是对象的动态性属性
32.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
A. 调用语句 B. 命令 C. 口令 D. 消息
33.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。
软件技术基础总复习题及参考答案

软件技术基础总复习题及参考答案软件技术基础总复习题及参考答案一、选择题1、线性表若是采用链式存储结构时,要求内存中可用存储单元的地址 D 。
A、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续或不连续都可以2、栈和队列都是B 。
A、顺序存贮的线性结构B、限制存取点的线性结构C、链接存贮的线性结构D、限制存取点的非线性结构3、与线性表的链接存贮不相符合的特性是 C 。
A、便于插、删运算B、存贮空间动态分配C、需要连续的存贮空间D、只能顺序查找4、设二叉树的根为第一层,则第i 层上的结点数最多有B。
A、2i B、2i +1D、2i -1C、2-1i 5、如将一棵有n 个结点的完全二叉树按顺序存放方式,存放在下标编号为0, 1,…, n-1 的一维数组中,设某结点下标为k(k>0),则其双亲结点的下标是A。
A、(k-1)/2B、(k+1)/2C、k/2D、k-16、权值分别为3,8,6,2,5 的叶子结点生成一棵霍夫曼树,它的带权路径长度为A。
A、53 B、48 C、72 D、247、设I 和O 分别表示入栈和出栈操作,栈的初态和终态都为空,则下列操作序列合法的有_ D_ _。
A、IOIOOIOIB、IOOIOIIOC、IIIOIOIOOD、IIOIIOOO 8、二叉树的前序序列为EFHIGJK,中序序列为HFIEJKG,则二叉树的根为C 。
A、K B、G C、E D、H 9、对有序表{ -1, 0, 1, 3, 4, 6, 8, 10, 12 }进行折半查找,则查找12 需要比较的次数为 B 。
A、3 B、4 C、5 D、6 10、在一个单链表中,若q 结点是p 结点的前驱结点,若在q 与p 之间插入结点s,则执行 D 。
A、s→link = p→link; p→link = s; B、p→link= s; s→link = q; C、p→link = s→link; s→link = p; D、q→link = s; s→lin k = p; 11、一个栈的入栈序列为a,b,c,则出栈序列不可能的是C 。
计算机软件技术基础所有题目答案自学.doc

数据结构习题答案 2 第一节概论 2 第二节线性表 5 第三节栈和队列16 第五节树19 第七节查找25 第八节排序29 操作系统练习题参考答案32数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点~B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑存储 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储~D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
~A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性~B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的~D.连续不连续都可以9.在以下的叙述中,正确的是( )。
计算机软件技术基础教程(第二版)习题及答案

第1章习题部分答案1. 操作系统的发展分为那几个阶段?解:操作系统的发展经历了三个阶段:操作系统的酝酿阶段、操作系统的形成阶段、操作系统的理论化和标准化阶段。
2. 计算机软件技术开发系统包括那几个阶段?解:计算机软件开发系统的发展经历了四个阶段:机器语言阶段、汇编语言阶段、高级语言阶段、面向对象语言和可视化语言阶段。
3. 计算机软件技术的主要范畴是什么?解:计算机软件技术的主要范畴包括软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、实时软件技术、网络软件技术、与实际工作相关的软件技术等八个领域的内容。
4. 从软件技术的发展现状来看有哪些值得我们注意的问题?解:从软件技术的发展现状来看有以下几个值得我们注意的问题:1)软件危机2)软件技术标准,软件版权和软件价值评估3)软件技术的基础研究。
1第2章习题部分答案1. 什么是软件危机?软件危机的表现有哪些?解:软件开发技术的进步为能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来形成了尖锐的矛盾,导致了软件危机。
2. 软件危机产生的原因是什么?解:造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。
1)软件规模越来越大,结构越来越复杂。
2)软件开发管理困难而复杂。
3)软件开发费用不断增加。
4)软件开发技术落后。
5)生产方式落后。
6)开发工具落后,生产率提高缓慢。
3. 常见的软件过程模型有哪些?解:常见的软件过程模型有瀑布模型、增量模型、演化过程模型、敏捷开发4. 如何对软件质量进行评价?解:软件质量的评价主要围绕可维护性、可靠性、可理解性和效率这几个方面进行。
2第3章习题部分答案1. 软件可行性研究的目的是什么?软件可行性研究的任务又是什么?解:软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。
“软件技术基础”分科考题(含答案)

《操作系统》一、判断题:(bs30)√1. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
(bs30)√3. 在操作系统中,进程是一个具有独立运行功能的程序在某个数据集合上的一次运行过程。
(bs30)×4. 操作系统的存储器管理部分负责对进程进行调度。
(bs30)√5. 分时操作系统通常采用时间片轮转策略为用户服务。
(bs30)√6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
(bs29)×1. 在设备管理中通道是处理输入、输出的软件。
(bs29)√3. 若无进程处于运行状态,则就绪队列为空。
(bs29)√4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。
(bs29)×5. 分页存储管理中,页面不能映射到不连续的内存块中。
(bs28)×3. Windows是多用户多任务操作系统。
(bs28)√4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
(bs28)√6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
(bs28)×8. 中断控制方式适用于外存同CPU之间进行大量数据交换。
(bs27)√3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。
(bs27)√4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。
(bs27)√6. 分页存储管理中,页面可以映射到不连续的内存块中。
(bs27)√7. 通道方式能实现外设与CPU之间直接进行数据交换。
(bs26)×1. Windows是多用户多任务操作系统。
(bs26)√4. 在计算机系统中,操作系统是处于裸机之上的第一层软件。
(bs26)×7. 中断控制方式适用于外设同CPU之间进行大量数据交换。
(bs26)×9. 进程把程序作为它的运行实体,没有程序也就没有进程。
(bs25)×1. 在操作系统中,作业调度和进程调度没有区别。
《计算机软件技术基础》试题答案

《计算机软件技术基础》试题答案一、选择题(每题5分,共30分)1. 下列关于软件工程的描述,错误的是(D)。
A. 软件工程是计算机科学的一个分支B. 软件工程的目标是提高软件质量和生产率C. 软件工程包括软件开发、维护和管理等方面D. 软件工程只关注大型软件的开发2. 下列哪种编程范式主要用于描述程序逻辑和数据的结构?(B)A. 面向过程编程B. 面向对象编程C. 函数式编程D. 逻辑编程3. 下列关于软件测试的描述,错误的是(C)。
A. 软件测试是软件开发过程中的重要环节B. 软件测试的目的是发现和修正软件中的错误C. 软件测试无需考虑软件的性能和稳定性D. 软件测试分为单元测试、集成测试和系统测试等阶段4. 下列关于软件维护的描述,正确的是(B)。
A. 软件维护是指对软件进行升级和优化B. 软件维护包括纠正软件错误、改进软件性能和增加新功能等C. 软件维护不需要考虑软件的可维护性D. 软件维护仅限于软件开发完成后5. 下列关于软件项目管理工具的描述,错误的是(D)。
A. 软件项目管理工具可以协助项目经理进行项目规划B. 软件项目管理工具可以协助项目经理进行项目监控C. 软件项目管理工具可以协助项目经理进行项目沟通D. 软件项目管理工具无法协助项目经理进行项目风险管理二、填空题(每题5分,共30分)1. 软件生命周期可以分为______、______、______、______和______五个阶段。
答案:需求分析、设计、实现、测试、维护2. 在面向对象编程中,一个对象通常包括______和______两部分。
答案:属性、方法3. 软件测试的目的是______、______和______。
答案:发现错误、修正错误、提高软件质量4. 软件维护的类型包括______、______、______和______。
答案:纠错性维护、适应性维护、完善性维护、预防性维护5. 软件项目管理工具主要包括______、______、______和______。
软件技术基础考试复习题(含答案)

1、计算机系统与软件的关系:软件是计算机系统的一部分,体现了计算机应用能力与水平2、软件的三层含义?个体含义:特指具体的软件;整体含义:个体含义的全体;学科含义:软件理论、方法与技术所组成的学科。
3、软件特性:抽象性、知识性、复杂性、复用性。
4、软件分类?软件理论:算法理论与数据理论;软件系统:应用软件、支撑软件与系统软件;软件开发:软件工程。
第二章5、算法是一类问题过程的一种求解方法,该方法可用一组有序的计算机步骤或过程表示。
6、算法不是程序,算法高于程序。
算法是程序的框架与灵魂,而程序是算法的实现。
7、算法的五大特征:能行性、确定性、有穷性、输入、输出。
8、算法的两大基本要素?算法的操作:四种基本操作(算法、逻辑、比较、传输);算法的控制:三种基本控制(顺序、选择、循环)。
9、四种常用的算法设计方法?枚举法:穷举所有可能的方法;递归法:自己调用自己的方法;分治法:将问题分解成若干的方法;回溯法:试探性的求解方法。
10、算法的评价:算法的正确性;算法的时间效率分析;算法的空间效率分析。
11、算法的时间效率分析,用T(n)=O(f(n))表示,常用六种:常用阶O (l);对数阶O(log2 n);线性阶O(n);线性对数阶O(n log2 n).;平方阶(立方或K方阶)O(n2),O(n3),O(nk);指数阶O(2n)。
12、六个完整算法表示:算法名、算法输入、算法输出、算法流程、算法正确性、算法分析第三章13、数据是按一定规则组织的符号串,并被识别。
14、数据是由数据结构与数据值组成。
15、数据的三个结构层次?客观世界:事物与事物之间的关联;逻辑世界:数据逻辑结构与逻辑值;物理世界:数据物理结构与物理值。
16、数据元素是命名的数据单位。
17、数据操作:数据操作的总称。
18、数据操作分为?数据值操作:定位、读及增加、删除、修改操作;数据结构操作:创建、删除、查询、修改操作。
19、数据结构:以(狭义)数据结构为核心所构成的数据与数据操纵的结合体,也广义结构。
软件技术基础考试复习题(含答案)

1、计算机系统与软件的关系:软件是计算机系统的一部分,体现了计算机应用能力与水平2、软件的三层含义?个体含义:特指具体的软件;整体含义:个体含义的全体;学科含义:软件理论、方法与技术所组成的学科。
3、软件特性:抽象性、知识性、复杂性、复用性。
4、软件分类?软件理论:算法理论与数据理论;软件系统:应用软件、支撑软件与系统软件;软件开发:软件工程。
第二章5、算法是一类问题过程的一种求解方法,该方法可用一组有序的计算机步骤或过程表示。
6、算法不是程序,算法高于程序。
算法是程序的框架与灵魂,而程序是算法的实现。
7、算法的五大特征:能行性、确定性、有穷性、输入、输出。
8、算法的两大基本要素?算法的操作:四种基本操作(算法、逻辑、比较、传输);算法的控制:三种基本控制(顺序、选择、循环)。
9、四种常用的算法设计方法?枚举法:穷举所有可能的方法;递归法:自己调用自己的方法;分治法:将问题分解成若干的方法;回溯法:试探性的求解方法。
10、算法的评价:算法的正确性;算法的时间效率分析;算法的空间效率分析。
11、算法的时间效率分析,用T(n)=O(f(n))表示,常用六种:常用阶O(l);对数阶O(log2n);线性阶O(n);线性对数阶O(n log2n).;平方阶(立方或K方阶)O(n2),O(n3),O(n k);指数阶O (2n)。
12、六个完整算法表示:算法名、算法输入、算法输出、算法流程、算法正确性、算法分析第三章13、数据是按一定规则组织的符号串,并被识别。
14、数据是由数据结构与数据值组成。
15、数据的三个结构层次?客观世界:事物与事物之间的关联;逻辑世界:数据逻辑结构与逻辑值;物理世界:数据物理结构与物理值。
16、数据元素是命名的数据单位。
17、数据操作:数据操作的总称。
18、数据操作分为?数据值操作:定位、读及增加、删除、修改操作;数据结构操作:创建、删除、查询、修改操作。
19、数据结构:以(狭义)数据结构为核心所构成的数据与数据操纵的结合体,也广义结构。
《计算机软件技术基础》复习题及答案(完美打印版)

《计算机软件技术基础》试题1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。
A. 所有的操作算法实现简单B. 便于随机存取C. 便于插入和删除D. 便于利用零散的存储器空间2.线性表是具有n 个 C 的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项E. 信息项3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。
(1≤I ≤n+1)A. O(0)B. O(1)C. O(n)D. O(n 2)4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为 A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为)1()(2+-n n i n ,则平均每插入一个元素所要移动的元素个数为 C ; A.21-n B. 2n C. 312+n D. 413+n5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。
A. lognB. nlognC. 2n/2D. n!6.A. s->next=p+1; p->next=s;B. (*p).next=s; (*s).next=(*p).next;C. s->next=p->next; p->next=s->next;D. s->next=p->next; p->next=s;7.将两个各有n 个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。
A. nB. 2n-1C. n-1D. 2n8.下面的程序段是合并两个无头结点链表(ha 和 hb)为一个无头结点链表ha 的过程,作为参数的两个链表都是按结点的data 域由大到小链接的。
合并后新链表的结点仍按此方式链接。
请填写下述空框,使程序能正确运行。
#define NULL 0typedef struct node{int data;struct node *next;}node, linklisttype;void combine(linklisttype *ha, linklisttype *hb){linklisttype *h, *p;h = (linklisttype *)malloc(sizeof(linklisttype));h->next = NULL;p = h;while(ha != NULL && hb != NULL)if(ha->data>=hb->data){ /*较大的元素先插入*/p->next = (1) ;p = (2) ;(3) ;}else{p->next = (4) ;p = (5) ;(6) ;}if(ha==NULL) (7) ;if(hb==NULL) (8) ;ha = h->next;free(h);}参考答案:(1) ha (2) p->next (3) ha=ha->next(4) hb (5) p->next (6) hb=hb->next(7) p->next=hb (8) p->next=ha9.如果表A中所有元素(a1,a2,…,a n)与表B的一个顺序子表(b k,b k+1,…b k+n-1)完全相同(即a1=b k,a2=b k+1,…a n=b k+n-1),则称表A包含在表B中。
软件技术基础试题及答案图文稿

软件技术基础试题及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)软件技术基础班级姓名成绩1分,共25分)1.数据结构作为一门学科,主要研究数据的、存储结构以及三方面内容。
2.当对一个线性表经常进行插入或删除操作时,则宜采用存储结构;而经常进行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。
3.在线性结构中,首结点有个前驱结点,其余每个结点有且只有个前驱结点。
4.限定在表的一端进行插入,在表的另一端进行删除的线性表称为;限定在表的一端进行插入和删除运算的线性表称为。
5.一个8阶的下三角矩阵B按行优先顺序压缩存储在一维数组中,则数组的大小应设为。
6.按照二叉树的定义,具有3个结点的二叉树形态有种;具有65个结点的完全二叉树其深度为 ; 深度为10的完全二叉树最多有个结点7.在长度为n的顺序表的第i个位置上插入一个元素,元素的移动次数为;删除第i个元素时,需要从前向后依次前移个元素。
(1≤i≤n+1)8.顺序存储结构的循环队列中,设front 和rear分别为队头和队尾指示器,该队列中能存放的最大元素的个数为M AX-1,则判断队列为满的条件为,而判断队列为空的条件是。
9.设D={A,B,C,D,E},R={<A,B>,<C,D>,<D,B>,<C,E>},结构(D,R)描述的数据结构是。
10.系统出现死锁一定是同时保持了,,和环路条件这四个必要条件。
11.操作系统通过记载、跟踪、控制进程的执行,它是进程存在的唯一标志。
作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。
12A.软件生命周期瀑布模型一般可分为问题分析、、、和软件维护五个阶段。
,二、选择题(每小题1分,共10分)1.已知: int x; 下列语句正确的是()。
A. int *p=&x;B. int *p=x;C. int p=&x;D. int *p=*x;2.int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不正确的语句是()。
“软件技术基础”考题(含答案)

第三十二次一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。
( 1 )2. 软件测试的目的是为用户提供没有错误的程序。
(2 )3. 栈顶的位置只能进行进栈操作不能进行退栈操作。
( 3 )4. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。
( 4 )5. 线性表若采用链式存储表示时其结点之间的存储单元地址可以不连续。
( 5 )6. 在进行插入排序时,其数据比较次数与数据的初始排列有关。
( 6 )7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。
( 7 )8. 在操作系统中,进程最基本的特征是静态性和并发性。
( 8 )9. 软件危机是由于软件产品过多而产生的。
( 9 )10.面向过程系统需求分析使用的主要工具是数据流图和数据字典。
( 10 )参考答案:ABBBA AABBA二、选择题(每小题1分,共5分)1. 进程从运行状态进入就绪状态的原因可能是( 11 )。
11 (A)时间片用完 (B) 等待某一事件(C) 等待的事件已发生 (D) 被选中占有处理机2. 需求分析中开发人员主要从用户那里了解( 12 )。
12 (A) 软件怎样做(B)软件做什么(C) 输入的信息 (D) 软件的测试3. 队列的操作原则是( 13 )。
13 (A) 先进后出(B)先进先出(C) 只进不出 (D) 只出不进4. 在需要经常查找结点的前驱后后继的情况下,使用( 14 )比较合适。
14 (A) 单链表 (B) 循环链表(C)双链表 (D) 顺序表5. 任何两个并发进程之间( 15 )。
15 (A) 一定存在互斥关系 (B) 一定存在同步关系(C) 一定彼此独立无关(D)可能存在同步或互斥关系参考答案:ABBCD第三十一次一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数据在计算机内存中的表示是指数据的存储结构。
软件技术基础习题答案

软件技术基础习题答案【篇一:软件技术基础试题库】>课程名称:软件技术基础适用专业:软件技术、计算机应用、网络、信息等计算机相关专业第一章概述第二章数据结构一、单项选择题1.若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前移动_______个数据元素。
( )a. n-ib. n+ic. n-i-1d. n-i+1答案:a2.在单链表中,已知q指的结点是p指的结点的直接前驱结点,若在q和p指的结点之间插入一个由s指的结点,则需执行________。
( )a. link(s)←link(p),link(p)←sb. link(q)←s,link(s)←pc. link(p)←link(s),link(s)←pd. link(p)←s,link(s)←q答案:b3.高度为h(h0) 的二叉树最少有________个结点。
()a. hb. h-1c. h+1d. 2h答案:a4.n个顶点的带权无向连通图的最小生成树包含 ________ 个顶点。
()a.n-1b.nc.n/2d.n+1答案:b5.采用拉链法解决冲突的散列表中,查找的平均查找长度( )。
a. 直接与关键字个数有关b. 直接与装填因子 a 有关c. 直接与表的容量有关d. 直接与散列函数有关答案:d6.树型结构最适合用来描述()a.有序的数据元素b.无序的数据元素c.数据元素之间的具有层次关系的数据d.数据元素之间没有关系的数据答案:c7.若二叉树中度为2的结点有15个,度为1的结点有10个_______个叶结点。
()a.25b.10c.16d.41答案:c度0的结点比度2的结点多18.若深度为6的完全二叉树的第6层有3个叶结点,则该二叉树一共有______个结点。
(a.32b.33c.34d.25答案:c9.若某完全二叉树的深度为h,则该完全二叉树中至少有______个结点。
()a.2h )b.2h-1c.2h-2d.2h-1+1答案:c10.在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该( )a.只有左子树上的所有结点b.只有左子树上的部分结点c.只有右子树上的所有结点d.只有右子树上的部分结点答案:a11( )a.对应于一组权值构造出的哈夫曼树一般不是唯一的b.哈夫曼树具有最小带权路径长度c.哈夫曼树中没有度为1的结点d.哈夫曼树中除了度为1的结点外,还有度为2的结点和叶结点答案:d12.数据结构是一门研究计算机中(a. 数值运算b.非数值运算c.集合d.非集合答案:b13.数据结构的定义为(k,r),其中k是的集合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章2.1 什么是数据结构?它对算法有什么影响?数据结构是指同一数据对象中各数据元素间存在的关系。
数据结构对算法的影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。
一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。
它是算法和程序设计的基本部分,它对程序的质量影响很大。
2.2何谓算法?它与程序有何区别?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
计算机算法是通过计算机能执行的算法语言来表达的。
和程序的区别:一个程序包括两个方面的容:(1)对数据的描述,即数据结构。
(2)对操作的描述,即算法。
所以算法是程序的一个要素。
2.12试编写算法求已知单链表长度,并考虑表空的情况。
p = head i = 0While(p!=nil) //表不为空P<-- next(p)//移动到下一个元素 i++ End(while)Return i //返回数据的个数head2.14 已知一循环链表中数值已按递增有序排列现要插入一个新结点,并使插入一个新节点,并使插入后链表仍为有序序列Link ST (head ,b){Get node (p);data(p)←b;If(head=nil) then{ head←head;head←p;return;}If(b<data (head)) then {next(p)←head ;head←p;return;}q←headWhile(next(q)≠nil)and(b>data(next(q)))doq←head(q)If(next(q)≠nil)then{next(p)←next(q);next(q)←p;}Else{ next(q)←p;next(p)←nil;}return}2.30 设一颗二叉树其中序和后序遍历为中序:BDCEAFHG后序:DECBHGFA答案:ABCDEFHG2.33.给定一组权值W={8,2,5,3,2,17,4},画出由此生成的哈夫曼树。
412417159458734222.34.有一图如题图2.4所示:(2)V1作深度优先搜索:V1作广度优先搜索:2.42 对给定的一组关键字:41,62,13,84,35,96,57,39,79,61,15,83.2.42 对于给定的一组关键字:41,62,13,84,35,96,57,39,79,61,15,83。
分别写出:插入排序、简单选择排序、堆排序、冒泡排序、快速排序、二叉排序树的排序过程,并对各排序方法进行分析。
简单选择排序:41,62,13,84,35,96,57,39,79,61,15,83第一趟:13,62,41,84,35,96,57,39,79,61,15,83第二趟:13,15,41,84,35,96,57,39,79,61,62,83第三趟:13,15,35,84,41,96,57,39,79,61,62,83第四趟:13,15,35,39,41,96,57,84,79,61,62,83第五趟:13,15,35,39,41,96,57,84,79,61,62,83第六趟:13,15,35,39,41,57,96,84,79,61,62,83第七趟:13,15,35,39,41,57,61,84,79,96,62,83第八趟:13,15,35,39,41,57,61,62,79,96,84,83第九趟:13,15,35,39,41,57,61,62,79,96,84,83第十趟:13,15,35,39,41,57,61,62,79,83,84,96第11趟:13,15,35,39,41,57,61,62,79,83,84,96堆排序:41,62,13,84,35,96,57,39,79,61,15,83输出输出61:输出83: 输出84: 输出79: 调整成堆: 调整成堆: 输出96:线性插入排序:41,62,13,84,35,96,57,39,79,61,15,83第01趟:41,62,13,84,35,96,57,39,79,61,15,83第02趟:13,41,62,84,35,96,57,39,79,61,15,83第03趟:13,41,62,84,35,96,57,39,79,61,15,83第04趟:13,35,41,62,84,96,57,39,79,61,15,83第05趟:13,35,41,62,84,96,57,39,79,61,15,83第06趟:13,35,41,57,62,84,96,39,79,61,15,83第07趟:13,35,39,41,57,62,84,96,79,61,15,83第08趟:13,35,39,41,57,62,79,84,96,61,15,83第09趟:13,35,39,41,57,61,62,79,84,96,15,83第10趟:13,15,35,39,41,57,61,62,79,84,96,8384,96冒泡排序:41,62,13,84,35,96,57,39,79,61,15,83第01趟:41,13,62,35,84,57,39,79,61,15,83,96第02趟:13,41,35,62,57,39,79,61,15,83,84,96第03趟:13,35,41,57,39,62,61,15,79,83,84,96第04趟:13,35,41,39,57,61,15,62,79,83,84,96第05趟:13,35,39,41,57,15,61,62,79,83,84,96第06趟:13,35,39,41,15,57,61,62,79,83,84,96第07趟:13,35,39,15,41,57,61,62,79,83,84,96第08趟:13,35,15,39,41,57,61,62,79,83,84,9684,96第10趟:13,15,35,39,41,57,61,62,79,83,84,96第11趟:13,15,35,39,41,57,61,62,79,83,84,96快速排序:41,62,13,84,35,96,57,39,79,61,15,83 x=41第一次划分:15,39,13,35,41,96,57,84,79,61,62,83二叉排序树:41,62,13,84,35,96,57,39,79,61,15,83第三章3.1 操作系统的基本功能是什么?它包括哪些部分?基本功能:操作系统应该具有处理器管理,存储管理,设备管理和文件管理功能,同时,为了使用户能方便地使用机器,操作系统还应提供用户接口功能。
构成部分:(1). 对CPU的使用进行管理的进程调度程序。
(2). 对存分配进行管理的存管理程序。
(3). 对输入输出设备进行管理的设备驱动程序。
(4). 对外存息进行管理的文件系统。
3.7 存储管理器的功能是什么?为什么要引入虚拟存储器的概念?虚存的容量由什么决定?存储管理的功能主要分为:存分配、地址转换、存储保护和存扩充。
虚拟存储器能提供给用户一个比实际存大得多的存储空间,使用户在编制程序时可以不必考虑存储空间的限制。
虚存的容量受两个条件约束:指令中地址场长度的限制、外存储器容量的限制。
3.12 什么是进程的同步和互斥?什么是临界区?“同步”是指两个事件的发生存在某种时序上的关系,如果系统中有若干个进程要共同完成某一任务,那么它们相互之间必须协调配合。
“互斥”是指当多个进程要求共享系统中某些硬件或软件资源,而这些资源却又要求排它性使用时,这样往往引起由于多个进程竞争同一资源使运行结果出现问题。
如果在两个进程P1、P2中加入P、V操作后,可以实现对公用变量count的互斥使用。
其中P(s)、V(s)之间的程序段称为临界区。
3.16 死锁产生的必要条件是什么?死锁的预防、避免和检测各有什么不同?各举一种相应的方法。
死锁产生的必要条件有:1.所涉及的资源是非共享的;2.进程在等待新资源时,继续占用已分配到的资源;3.一个进程占有的资源不能被别的进程强行抢占;4.一个进程获得的资源同时被另一个进程所请求,从而形成一个进程的循环链。
死锁的预防是研究如何破坏产生死锁的必要条件之一,从而达到不使死锁发生地目的。
死锁的避免与死锁的预防区别在于,死锁的预防是严格破坏形成死锁的必要条件之一,使得死锁不在系统中出现。
预防方法之一,采用假脱机技术将非共享设备变成共享设备来实现。
而死锁的避免并不严格限制必要条件的存在,因为必要条件存在并不一定产生死锁。
而进程推进顺序不当,也可以导致系统发生死锁,因此死锁的避免是考虑万一当死锁有可能出现时,就小心地避免这种情况的最终发生。
避免方法有采用相应的银行算法和方法。
死锁的检测和恢复,这是一种变通的方法,它允许死锁的发生,但能在适当时间检测出来,并设法进行恢复。
利用化简进程-资源有向图的方法来检测系统在某一特定状态时是否处于死锁状态。
3.22 什么是文件目录?有几种目录结构形式?各有什么特点?为了便于对文件进行存取和管理,所有计算机系统都设置一个文件目录,每个文件目录中都有一个表目,存放描述该文件的有关信息。
通常有一级目录、二级目录和多级目录结构。
一级目录:把系统中所有文件都建立在一目录表中,整个目录结构是一个线性表,所以查找的时间会增加,不允许用户对不同的文件取相同的名字,主要用于单用户的操作系统中。
二级目录:在主目录文件中每一个用户有一个表目,指出各用户文件目录的所在位置,而各用户文件目录才指出其所属各具体文件的描述信息,不同用户的文件可以起相同的名字。
多级目录:是树形结构,每一个结点出来的分支可以是文件,也可以是下一级,在一定时间以某一级目录作为当前目录,用户只需从“当前目录”查看即可。
3章设备独立性?好处?设备独立性,即应用程序独立于具体使用的物理设备。
为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。
优点:在实现了设备独立性的功能后,可带来以下两方面的好处。
1) 设备分配时的灵活性2) 易于实现I/O重定向3)X窗口系统是个分布的,网络透明的,独立于设备的多任务窗口和图形系统,它采用顾客/服务员模式,把画窗工作分面二部分,从而取得了设备独立性,它提供了在网络上传送图形信息的标准协议,X窗口系统是网络图形工作站和高档PC机理想的窗口系统。
4.7(5)查询工程号J1提供零件号P1的供应商SNOSelect SNO from SPJWhere PNO=’p1’And JNO=’j1’(6)查询提供零件名PN3的供应商SNOSelect sno from spj inner join part on spj.pno=part.pname='pn3' group by sno(7)查询供应商S3提供的零件名PNAMESelect pname from part inner join spj on spj.pno=part.pno,andspj.sno='S3'group by pname(8)查询为工程号j1和j2提供零件的供应商号SNOSelect SNO from SPJWhere JNO=’j1’Or JNO=’j2’(10)取出供应商为在的工程提供零件的所有供应商号SNO Select JNAME from J,S,P,SPJWhere J.JNO=SPJ.NOAnd SPJ.SNO=S.SNOAnd S.city=’’And p.city=’’(11)取出供应商不提供红色零件的供应商号SNOSelect SN from SPJWhere JN in( select JN from JWhere city=’’)And PN in(select PN from PWhere color<>’红色’)(12)取出至少一种由S1供应商提供零件的工程号JNO SELECT JN FROM SPJ WHERE SN='S1'4.8工厂产品生产管理系统 (1)工人与产品管理子系统(2)产品与零件、材料资管理系统(3)零件与材料子系统n m(4m n n m。