1、第十六章 数据结构与操作系统,16.1数据结构16.2 操作系统16.3软件工程,16.1 数据结构 一、数据结构的基本概念 数据是描述客观事物并能为计算机加工处理的符号的集合。 数据元素是数据的基本单位,即数据集合中的个体。有时也称结点、记录。一个数据元素可以由一个或多个数据项组成。数据项是具有独立含义的数据最小单位。有时也称域、字段等。 数据结构是讨论计算机系统中数据的组成形式及相互关系的一门学科 数据逻辑结构分为两大类 ()线性结构()非线性结构 数据的存储结构,也称为物理结构,存储方法他为四类:()顺序存储方法 ()链结存储方法() 索引存储方法 ()散列存储方法 常用数据处理与运算
2、()遍历:在数据结构的各个元素中移动,或查看所有数据元素 ()插入:往数据结构添加新的元素 ()更新:修改或替代数据结构中的一个或多个数据项(字段值) ()删除:把指定的数据元素从数据结构中去掉 ()查找:在数据结构中查找满足条件的数据元素 ()排序: 在保持数据结构中数据元素不变的条件下,把元素按指定的顺序重新排列一般是建立在线性逻辑结构的基础上,二、线性结构 、线性表ai-1为前趋结点, Ai+1为后继结点,a1 没有前趋结点,an 没有后继结点. 存储方式:顺序存贮与链式存贮 基本操作: 初始化 求表长取元素定位插入删除 线性表有两种a 顺序存储结构的顺序表 b 链式存储结构的链表 (1
3、)顺序表:数据元素按其逻辑次序依次存放在一组地址连续的存储单元里。 (2)线性链表:链表是用一组任意的存储单元来存放线性表的数据元素,这组存储单元既可以是连续的,也可以是不连续的,甚至可以零散分布在内存中的任何位置上。,A 单向链表,B 双链表,C 循环链表,2 栈与队列 1)栈 特点:栈顶插入与删除,后进先出,先进后出 栈是运算受限的线性表,数据的插入和删除只能在表的一端进行,这一端称为栈顶,另一端称为栈底。 基本运算有五种:a 置栈空; b 判栈空; c进栈;d 出栈; e 取栈顶。 栈是线性表 存储方式: a采用顺序存储结构的顺序栈;b采用链式存储的链栈。 (1)顺序栈:利用一组地址连续
4、的存储单元依次存放从栈底到栈顶的若干数据元素。 (2)链栈:是受限的单链表,其插入和删除仅限制在栈顶进行。,2)队列 特点:队首删除,队尾插入,先进先出(FIFO) 基本运算有五种:a 置空队列; b 判空队列; c入队列;d 出队列; e 取队头元素。 存储方式: a采用顺序存储结构方式;b采用链式存储结构方式。,三、树的结构 1 树树是一个或多个结点元素组成的有限集合T,且满足条件如下:(1)有且仅有一个结点没有前趋结点,称为根的结点(root).(2)除根结点外,其余所有结点只有一个直接前趋结点 .(3)包括根结点在内,所有结点可以有多个直接后继结点.叶子:没有后继结点的结点(如K,L,
5、F,G,M,I,J)分支结点:非叶子结点.结点的度:一个结点的子树的数目(如B、E的度为2,C为1,D的度为3,I、J、F、G度为0)树的度:树中各结点的度的最大值。子结点:某结点的子树的根称为该结点的子结点。(KL是E的子结点)父结点:相对于某结点的子树的根,称为该结点的父结点。(B是EF的父结点,D是HIJ的父结点)兄弟:同一父结点的子结点。结点层次:根结点的层次是1,其它结点的层次等于它的父结点的层次加1。树的深度:一棵树中,结点的最大层次数就是树的深度。森林:N棵树的集合(N0),任何一棵树,删去了根结点,就成了森林。对树中的每个结点来说,其子树的集合就是一个森林。有序树和无序树:如果
6、一棵树中各结点的各子树从左到右是有序的,即若交换各子树的相对位置,则成了不同的树,就是 有序树;反之是无序树.,2 、二叉树1) 二叉树的定义二叉树的特点是:它的每个结点最多只有两颗子树,子树有左右之分,有五种形态。 树与二叉树的区别: A、树至少有一个结点,而二叉树可以为空; B、二叉树是有序树,其结点的子树要区分左子树和右子树,即使某子树只有一颗子树也如此。,数据结构图例,16.2 操作系统 一、操作系统的功能: 1)、处理机管理 2)、存贮器管理 3)、设备管理 4)、文件管理 5)、用户接口(作业管理) 主要是:1)提供接口 ;2)管理软硬件资源; 3)提高计算机性能。 操作系统的类型
7、:1)批处理操作系统;2)分时操作系统;3)实时操作系统 ;4)网络操作系统;5)分布式操作系统 DOS、WINDOWS、UNIX、LINUX 二、进程 1 进程的定义 进程:是可并发执行的程序在给定数据集合上的一次执行过程,它是资源分配和调度的一个独立的基本单位和实体。(1)进程是程序的一次执行;(2)进程是可以和别的计算并发执行的计算;(3)进程可定义为一个数据结构及能在其上进行操作的一个程序;,(4)进程是一个程序及其数据在处理机上顺序序执行时所发生的活动(5)进程是程序在一个数据集合上的运行过程是系统进行行资源分配和调度的一个独立单位。(6)进程由程序、数据集合、(进程控制块)组成。
8、2、进程的特征 (1)动态性能超群(2)并发性 (3) 独立性 (4)异步性 3、进程的基本状态 如下所示,三、进程控制:主要任务是创建和撤消进程,以及实现进程的状态转换. 四、进程调度:确定什么时候分派处理器,并确定分派给那一个进程。 1、方式 1)剥夺式:就绪队列中一旦有高优先级的进程出现立即剥夺正在执行的进程的CPU使用权,将CPU转让给高优先权的进程。 2)非剥夺式:一旦把CPU分配给某个进程,该进程将一直占有CPU,直到时间片或是进程自己进入阻塞状态才让出CPU。 2、功能 1)记录所有进程执行情况; 2)确定分配处理机的原则; 3)处理机的分配与回收。 五、进程通信:进程之间的信息
9、交换。 方式: 1)消息缓冲通信 2)管道通信 3)信箱通信 六、死锁:如果一个进程正在等待一个不可能发生的状态,则该进程处于死锁状态。,1、产生原因 1)争夺资源而引起的死锁; 2)进程推进顺序不当而引起的死锁。 2、死锁的必要条件 1)、互斥条件 ;2)、不可剥夺条件; 3)、部分分配条件;4)环路条件。 3、死锁的预防(进程执行时) 1)采用资源的静态预分配策略,破坏“部分分配条件” 2)允许进程剥夺使用其它进程占有的资源,从而破坏“不可剥夺条件” 3)采用资源顺序使用法,破坏“环路条件” 4、避免死锁(资源分配时) 破坏产生死锁的必要条件之一,严格限制产生死锁的必要条件存在。 5 死锁
10、的检测及解除常采用两种方法 1)撤消进程法 2)资源剥夺法,七、存储器管理 1、存储器管理的任务:是为多道程序的运行提供良好的环境,方便方便用户提供使用存贮器,提高存储器的利用率,以及从逻辑上来扩充内存。 1)内存分配与回收 (1)管理内存分配表;(2)制定内存分配策略;(3)内存区域的划分方式 2)内存空间共享 3)内存保护 4)地址映射 (1)地址空间与存储空间; (2)重定位 A、静态重定位 B、动态重定位 5)内存扩充 通过覆盖技术与对换技术实现;主要是虚拟存储技术来实现。 2、存储器管理方式,1)分区存储管理(1)固定管理;(2)可变分区(3)存储分配策略 A、首次适应算法FF(fi
11、rst fit);B、最佳适应算法BF(best fit);C、坏适应算法(worst fit) 2)覆盖与交换技术(1)覆盖 覆盖就是把一个作业的若干程序段,或几个作业的某些部分共享某一内存区域,即是一个内存区可以先后被不同的程序段重复使用,当某程序段不再需要该内存区域时另一程序段可以占用。(2)交换:交换技术指内外存之间交换程序和数据。 3)虚拟存储管理:用大量的外存来扩充内存,形成比实际内存大得多的虚拟内存。 4)分页存储管理 5)段式存储管理(1)分段存储分配;(2)动态地址转换;(3)分段的动态链结;(4)分段的共享与保护。,6)段页式存储管理; (1)逻辑地址结构;(2)地址变换。
12、 八、设备管理 1、设备管理的任务:完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O的利用率、提高I/O速度、以及方便用户使用I/O设备。包括:缓冲管理、设备分配、设备处理、设备独立性和虚拟设备。 2、功能 1)建立统一的且独立设备的接口 2)按照设备类型和相应算法,进行设备的分配与回收 3)进行设备驱动,实现真正的I/O操作及设备间并行操作。 4)实现输入输出缓冲区管理,解决高速CPU与慢速设备速度不匹配问题。 5)实现虚拟设备管理。 3、缓冲技术 在内存中开辟一外或多个专用区域(缓冲区),作为CPU与I/O设备之间信息传输的集散地。,4、设备分配:为设备分配确定相关的数据
13、结构,分配原则及分配策略和算法 1)设备分配的数据结构 2)分配原则及方式 原则:既要发挥设备的效益,又要防止由于不合理分配造成死锁。 方式: (1)独占设备的分配 (2)共享设备的分配 5、虚拟设备管理与SPOOLING(外围设备同时联机操作)技术 当用户进入系统时,由SPOOLING系统的预输入程序将作业信息从物理输入设备送入输入井;然后输出程序再依次将输出井上的数据送到物理的输出设备上。 6、I/O管理 1) I/O控制系统 把从用户进程的输入/输出请求开始,给用户进程分配设备和启动有关的设备进行I/O操作,以及在I/O操作完成后响应中断,进行善后处理的全过程 )设备驱动程序,包括启动过
14、程与断续过程,后者的具体内容有: ()服务请求校验;()确认设备状态;()启动请求;()中断处理;()完成请求,九、文件管理 1、文件管理的功能1)统一管理文件的存储空间(外存),实施存储 空间的分配与回收2)确定文件信息的存放位置及存放形式3)实现文件从名字空间到外存地址的映射,即实现文件的按名存取。4)实现对文件的控制操作(建立、撤消、打开、关闭)和存取操作(如读、写、修改、复制等)5)实现文件信息共享,并提供可靠文件保护与保密措施。 2、文件的组织1)文件的逻辑结构 (1)流式文件:无结构流式文件是相关有序字符的集合。如源程序文件、目标代码文件等属于流式文件。 (2)记录式文件:记录式文
15、件是一种有结构的文件,它由逻辑记录组成,第个逻辑记录由彼此相关的数据项(域)构成。又分定长记录文件和变长记录文件。 (3)文件的存取方式:顺序存取方式和随机存取方式。,2)文件的物理结构 (1)连续文件,也称顺序文件,是将逻辑文件的信息依次存放要连续编号的物理块中。 (2)链结文件:把逻辑上连续的文件分散地存放在不连续的物理块中。块与块之间通过指针链接起来。 3 文件目录 1)文件控件块(FCB) (1) 文件名:即文件的符号名; (2)文件类别:文件属于那一类; (3)文件的物理位置:指出文件内容在外存的起始块号及所占的块数; (4)文件长度及逻辑结构:指出是流式文件或记录式文件。对于记录文
16、件,给出记录个数和每个记录长度;对于流式文件,则长度以字符为单位; (5)文件的物理结构; (6)文件存取权限:指出各类文件分别 具有读、写、执行等那类操作权限; (7)文件建立的日期、时间,最近一次修改文件的日期和时间,最近一次读文件的日期和时间等。,2)文件目录结构 (1)一级目录结构;(2)二级目录 结构;(3)多级目录结构。 3)文件目录管理:做法是当使用打开命令打开某个文件时,将该项文件涉及的目录调入指定的内存缓冲区,文件操作期间,该目录 一直驻留内存,直到使用关闭命令关闭该文件为止。 4、文件的共享、保护和保密 1)文件的共享方式: (1)将目录项连接到一文件目录的结点上,即可共享
17、被连接的目录及其各子目录所包含的全部文件;(2)只对单个普通文件连接,即连接到叶子结点上。 2)文件的保护和保密 文件的共享与保护和保密是矛盾的两个方面,文件系统必须提供安全可靠的保护与保密措施,以防止由于误操作而对文件造成的破坏,防止未经授权的用户对文件的访问。 (1)存取控制表 采用两级控制:第一级是访问识别;第二级存取识别。 (2)口令 (3)密码 5、常用文件系统调用功能 1)创建文件;2)打开文件;3)读文件;4)写文件;5)关闭文件。,16.3 软件工程 软件工程:是指导计算机软件开发和维护的工程科学。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理
18、技术和当前能够得到的最好方法结合起来,这就是软件工程。 一、软件与软件生存周期 1、软件:程序以及开发、使用和维护程序所需的各种文档。 包括四个部分: 1)应用程序;2)系统程序;3)面向用户的文档;4)面向开发者的文档。 2、软件工具:用来辅助软件开发、运行、维护、管理、支持等过程中活动的软件称为。 3、软件生命周期:一个软件从定义、开发、使用和维护到最终被废弃所经历的时间。 软件开发模型包括:瀑布型模型(常用)、演化模型、螺旋模型、喷泉模型,1)瀑布型模型 (1)问题定义;重点考虑”做什么”;理解用户需求;时间最短. (2)可行性研究; 技术可行性;经济可行性;操作可行性.在前两项可行的基
19、础上写出软件任务计划书.包括: 软件项目目标; 主要功能性能 系统的高层逻辑模型; 系统界面; 可供使用的资源 进度安排与成本预算 (3)需求分析; 明确用户要求软件的所有功能性能和限制,解决软件”做什么”的问题. A、需求说明书 a、概述; b、需求说明:需求功能、性能说明;c、数据描述:数据流图、数据字典、接口说明;d、运行环境:设备要求、支持软件。 B、结构化分析方法(structured analysis),它是需求分析中最常用的分析方法,简称SA方法,常同SD(结构化设计方法)联合使用。 a、SA方法的基本原理 SA方法是通过分解与抽象,建立三个模型:数据模型、功能模型、行为模型,以
20、说明软件需求,并得到准确的软件需求规格说明。 基本方法为图形法。 b、 SA方法的分析工具 数据流图(DFD):描述系统中流程的图形工具。 数据字典(DD):放置数据流图中所包含的所有元素的定义。 结构化语言:介于自然语言与形式化语言之间的一种类自然语言。通常有顺序、选择、重复三种控制结构构成。 判定表:用于简洁而无歧义在描述逻辑规则。 C 、SA方法导出有分析模型 数据字典:核心,对系统所有数据对象的描述。 实体-关系图:数据对象之间的关系,是系统的数据模型。 数据流图:数据的流动和处理,是功能建模的基础。 状态转换图:系统各种行为模式及其转换是行为建模的基础。,(4)设计; A、总体设计,
21、也叫概要设计。 目标是采用结构化分析的成果,由数据模型、功能模型、行为模型描述的软件需求,按一定的设计方法,完成数据设计、体系结构设计、接口设计和过程设计。 遵循的主要原则是程序模块化原则。总体设计的结果常以层次图或结构图表示。表示的工具有层次图、HIPO图。 B、详细设计 亦即模块设计。它是在算法设计和结构设计的基础上,针对每个模块的功能、接口和算法定义,设计模块内部的算法过程及程序的逻辑结构,并编写模块设计说明。 方法有: 结构化程序设计技术,即只有三种控制结构进行连接,且每个代码块中只有一个入口和出口。主要工具有:程序流程图(程序框图)、方框图(N-S图)、问题分析图(PAD图)、伪码语
22、言(PDL图)等。 面向数据结构的设计方法。 面向对象的程序设计方法,(5)编码; 根据详细设计的结果,选择一种适合的程序设计语言,把详细设计的结果翻译成程序的源代码。 (6)测试;包括单元测试与综合测试。 (7)运行与维护。 2)快速原型 首先建立一个能反映用户主要需求的原型,使用户通过该原型提出其修改意见,然后根据用户意见对原型进行改进,如此反复多次,最后建立起符合用户要求的新系统。 二、面向对象设计方法 1、基本概念 1)对象:是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体有可以唯一地标识它的名字,而且向外界提供一组服务(即公有的操作)。 2)类:对具有相同数据和相
23、同操作的一组相似对象。 3)消息:是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。一个消息由三部分组成。(1)、接收消息的对象;,(2)、消息选择符(消息名);(3)、零个或多个变元。 例如:MYCIRCLE.SHOW(GREEN)其中MYCIRCLE是接收消息的对象的名字 ,show是消息选择符,green是消息的变元 4)方法:对象所能执行的操作,也是类中所定义的服务。 5)继承:是子类自动地共享基类中定义的数据的方法的机制。 6)多态性:子类对象可以像父类对象那样使用,同样的消息既可以发送给父类也可以发送给子类对象,而不同层次每个类却按照自己的需求来实现的行为。 2、面向
24、对象程序设计与结构化程序设计方法 1)模块与对象 结构化程序设计中,模块是对功能的抽象,每个模块都是一个处理单位,它有输入和输出;而对象是包括数据和功能的抽象象和统一可以说,对象包括了模块 )过程调用与消息传递 结构化程序设计中,过程为独立实体,对于相同的输入参数,每一次过程调用,其输出结果是相同的,面向对象程序设计中,方法(过程或操作)是隶属于对象的,它不是独立存在的实体,而且是对象的功能的体现从对象实现机制看,对象是一台自动机,其中私有状态表示了对象的状态,该状态只能由对象操作改变它 发送消息和过程调用的意义是不同的,发送消息只是触发自动机,同样的输入参数,可能因自动机状态不同,其输出结果
25、也不同因此,同一消息的多次发送可能产生不同的结果 )类型与类 类所定义数据集(包括数据与操作)比常规语言的类型所在地定义的数据集要复杂得多 )模块的可重用性 前者有良好的可重用性,后者较差 、面向对象与软件 )软件的概念 它是一种集成机制,可以将已经成熟的软件单元制成一个相对独立的实体,使它们可以不加改动或很少改动就可以用于新的软件系统中“软件”是一种可重用模块,)软件可重用性问题 软件开发中,编程人员一次又一次在重复编制:分类、搜索、读写、分配、同步、比较等基本模式,尽管这些模式对具体应用的实现可能的有一定的变化,然而,如何使用和组合这些共同模式,是构造可重用模块需要解决的技术问题。 )软件
26、的特征 ()模块性好;()可靠性好;()连接简单;()封装性好;()内部功能的高效实现;()清晰、简明的说明。 )类概念支持“软件”技术 类具有如下特点: ()类是对象的统一模板; ()类的可靠性表现在一个类出错不会传播到其它类中,一个系统的类出错,可以将其删除,而不会将整个系统瘫痪。 ()类是对象一级抽象,它将一类对象的数据结构描述和功能实现封装起来,使得外界不必了解内部实现,只要从它的说明中了解其基本功能就可以使用它。,()类之间的连接只有继承性描述和一组外部消息,因而清晰、明了。 类支持代码共享、类中的代码均是可再入的,这也支持了可重用性。 软件测试 )基本概念 软件测试是为了发现错误而
27、去执行程序的过程。或者说,软件测试是根据软件开发各个阶段的规格说明和程序员内容结构而精心设计一批测试用例(即输入数据及预期的输出结果),并应用这些测试用例去运行程序,以发现错误的过程。 )目标与原则 (1)软件测试的目的可以归纳为: 、测试是为了发现软件中的错误而去运行软件的过程。 、好的测试方案是极有可能发现迄今尚未发现的错误的测试方案。成功的测试是发现了至今尚未发现的错误的测试。,(2)软件测试的基本原则: A不要抱有“软件不会有错或认为查不出错”的幻想。 B设计测试用例时,应同时确定输出结果。 C设计测试用例时,应包括合理的输入数据和不合理的输入数据。 D软件设计者应避免测试自己的程序。
28、 E严格全面执行测试计划。 3)测试方法 (1)人工测试 人工测试是由人工对软件进行阅读和检查。 )目标与原则 (1)软件测试的目的可以归纳为: 、测试是为了发现软件中的错误而去运行软件的过程。 、好的测试方案是极有可能发现迄今尚未发现的错误的测试方案。成功的测试是发现了至今尚未发现的错误的测试。,(2)动态测试:动态测试就是上机测试,用设计好的测试用例作为输入,执行程序,以发现软件中的错误。(3)自动测试:自动测试就是利用一些测试工具,代替人工进行静态分析和动态测试。这些测试工具分为:静态分析工具、动态分析工具和测试评估工具。4)常用测试方法(1)、白盒测试法(透明) (结构测试)测试人员可
29、以了解内部结构及有关信息来设计测试用例。(2)黑盒测试法(不透明)(功能测试)测试人员不考虑内部结构和特性,只能根据外部特征来设计测试用例。,第四部分:软件技术练习题 一、是非题 1、在软件的概念中,包括系统程序、应用程序发及用户和开发者所需的各种文档。 2、所谓结构化算法是开发者认为使程序很好的算法,没有固定的程序结构。 3、程序流程图是结构化程序设计(SD法)的一种工具,其流程线可以没有箭头。 4、面向对象程序设计中的类的概念就是指数据类型的定义。 5、常用的软件测试有白盒测试(结构测试)和黑盒测试(功能测试)。 6、数据的物理结构的存储方法可分为顺序存储、链接存储、索引存储和散列存储等4
30、 种。 7、单向链表是一种线性结构:每个数据元素由两部分组成即该元素和后继元素的数据域。 8、栈是受限的线性表,它只能采取顺序存储的结构。 9、二叉树与树的主要区别有两点:前者允许为空,后者不允许;前者的结点的子树一定要区分出左子树还是右子树(即使只有一颗子树),后者无此区分。 10、将若干个数据元素按从小到大的顺序排序,可以使用选择法和冒泡法。两种方法都江堰市需要若干趟比较与交换。其主要区别这一是第一趟完后,前者得到一个最小的元素放在最前面,而后者得到一个最大元素放在最后面,在以后数趟中,两者的效果类推。,11、分时操作系统和实时操作系统都具有及时性和交互性,前者对及时性要求更强,而后者对交
31、互性更强。 12、进程调度的方式分剥夺式和非剥夺式。“剥夺”的概念是针对占有CPU的使用权而言的。 13、逻辑地址和物理地址所占用的空间统称为地址空间。 14、缓冲区是CPU与I/O设备间传输数据期间,专用于暂时存放的数据的一个或多个主存区域。 15、为保存计算机的数据安全,常采用口令和密码两种方式。其中口令仅用于进入计算机系统时使用,而密码仅用于创建文件时使用。 16、一个好的软件工程环境,不但要具有支持开发的工具,而且要具有支持管理的工具。 17、软件的生存周期是指软件从卖出后到丧失经济或实用价值的这一段时间。 18、数据流图和数据字典相辅相成,共同构成系统的逻辑模型。 19、任何程序的流
32、程图都江堰市可以用方框图(N-S图)来描述。 20、软件“IC”又称软件集成,它是一种可重用模块。 21、数据结构的主要内容是讨论数据的逻辑结构和物理结构。,22、栈是运算受限的线性表,其规定是在一端插入数据,而在另一端删除数据。 23图是由顶点集合V要求V和E都江堰市是非空顶点偶对(称为边)的集合E组成,其中要求V和都是非空集合。 24、内部排序是指排序过程全部都在内存中进行,而外部排序则还要使用外部存储器。 25、分块查找要求所有数据分成若干块,按关键字来说其特点是块内无序、块之间有序。 26、操作系统为用户服务是通过提供一组操作命令或一组系统调用命令这两种方式进行的。 27、进程可以看作
33、是并发执行程序在给定数据集合上的执行过程,它的状态是不能被改变的。 28、发生“死锁”现象仅仅因为进程争夺资源引起。 29、存储管理中的覆盖技术是指一个内存区域可以先后被除数不同的程序段重复使用。 30、口令仅仅是用于保护计算机系统的一种安全措施,只有密码才是保护文件的一种安全措施。,二、单项选择题 1、在软件生存周期中需要软件开发者和用户合作,最需用户介入的是( )工作阶段。 A 需求分析 B 软件设计 C 程序编码 D 软件测试 2、下面程序设计的优点中,结构化程序设计方法(SD法)欠缺的是( ) A自顶向下、逐步求精符合思维规律 B 层次结构清晰,易读易懂 C易于验证程序设计的正确性 D
34、 模块可重用性能好 3、下面几种对于“对象”的描述较为准确的是( )。 A具有名字的一个程序 B定义类型的一组变量 C数据以及其定定义了一组操作的实体 D对程序所在地处理的具体问题的简称 4、面向对象和程序系统,有一些主要特征,下面性质中不属于这些特性的是( ) A 封装性 B适应性 C继承性 D多态性 5、下面关于软件测试的说法中,说法( ) 是错误的。 A测试是为了发现错误而运行软件的过程 B测试的成绩是发现了尚感未发现的错误 C设计者应避免测试自己的程序 D成功的测试是将所有错误都查出来的测试,6、下面结构中,不属于 数据的逻辑结构的是( ) A树结构B线性结构C链式结构D图结构 7、下
35、列关于线性表主要的基本操作(运算)的说法中,完全正确的是( ) A求表长、多个表的合并、表的删除 B插入新元素、取表中元素、置空表 C置空表、多个表的合并、表的删除 D求表长、表中元素的定位、表的存储 8、下面关于栈与队列的特点的说法中,说法( )是队列所在地特有的。 A 有两端,插入和删除分别不同端进行B存储结构有顺序和链式两种 C属于线性结构 D 有置空、判空、进、出和取5种基本运算 9、在树结构的概念与下面特点相冲突的是( ) A有且仅有一个根结点 B 结点的子树个数为结点的度 C根结点之外的结点可以同属于一个子树 D所在地有结点呈层次分布 10二分查找与顺序查找相比较,主要优点是( )
36、 A方法简单,易于实现 B查找表中的数据按关键字有序 C 一般而言,查找次数较少 D占用内存空间少,11、下面几种状态中的状态( )不是进程在其存在 过程中的基本状态。 A就绪状态 B空闲状态 C执行状态 D阻塞状态 12、下面关于“死锁”的说法中,说法( )是错误的。 A主要是由用户的误操作而引起的 B是由进程或剥夺资源而引起的 C 是由进程推进顺序不当而引起的 D撤消进程或剥夺资源可解除死锁 13、下面存储管理技术的特点,那一个是覆盖技术特有的?答案是( )。 A变相对地址为绝对地址 B内外存之间交换程序和数据 C若干个程序段先后共享同一内存区域D 使用的地址空间大于实际的主存空间 14、
37、SPOOLING技术是设备管理使用的主要技术之一,它的中文意思同时的外部设备联机操作。下面的描述中,较为准确的是( ) A多台设备同时操作 B专门为需要较长时间独占设备的进程而设置的 C该技术解决了资源不足的问题也节约了CPU的资源 D该技术利用了中间介质,模拟构成适于独占使用的设备,15 、关于文件目录,那一种说法是错误的?答案是( ) A文件目录是一个文件,称为目录文件 B文件目录 实际上是文件控制块 C文件目录结构是一种树型目录结构 D文件目录结构分为一级、二级和多级等3 种形式 16、以下名词中那个不属于面向对象程序设计中所特有概念,答案是( ) A 对象B 消息 C方法 D 数据类型
38、 17、结构化程序设计中的模块与面向对象程序设计中的对象的主要区别应当是( ) 模块化描述功能,而对象则专门描述数据 模块中数据与功能是分别处理的,而对象则把数据及其功能作为一个整体来处理 模块与对象本质上是相同的,只是分属结构化程序设计和面向对象程序设计的两个概念 模块包含数据的输入输出,而对象可以没有数据的输入输出 18、不属于结构化程序设计的优点是( ) A 自顶向下、逐步求精符合解决问题的普遍规律 B开发过程层次结构清晰、易读易懂 C能体现各种数据结构,可重用性好易于软件集成 D分模块设计易于测试仪程序的正确性,19、用设计好的测试用例,通过运行程序发现软件中的错误的测试应归为( )类
39、最恰当。 A静态方式B动态方式C自动方式D人工方式 20下面关于类的说法中,说法( )是正确的。 A类是对象一级的抽象,它具有很强的重用性和封装性 B程序的类一经定义,在运行过程中所在地占用的单元不会被释放 C类对于程序系统十分重要,一旦它出了错,将会使整个系统瘫痪 D类是数据类型的简称 21在下面的存储方法中,( )不作为物理存储方法之一. A顺序存储 B链接存储 C索引存储 D分块存储 22、线性表中的结点(数据元素)一般有3种信息:直接前趋、数据域、和直接后继,下面( ) 是属于单向链表所在地独有的。 A直接前趋、数据域数 B据域、和直接后继 C直接前趋、直接后继 D直接前趋、数据域、和
40、直接后继 23、在下面4 对存储方式中,( ) 最适合队列和栈。 A顺序,链式 B链式,索引 C顺序,散列 D索引,散列,24任一个二叉都由根结点、左子树、右子树组成,它们分别记为D,L,R。遍历一棵二叉树常用先序遍历算法。,其遍历次序为( )A、 LDR B、 LRD C、DLR D、RDL 25、简单插入排序是将n 个待排序元素分为a1,ai-1和ai an两个序列,第一个有序,第二个无序。排序过程为:每一步选择ai插入到第一个序列中,使其仍有序,取i=2,n。试用此法将士,4,5,3,6这5 个数从小到大排序的第2 步(i=3)完成任务后,这5 个数的顺序为( ) A 4,3,5,6,8
41、 B 4,5,8,3,6 C 3,4,5,8,6 D 3,4,5,6,8 26不属于 操作系统 的功能是( ) A为用户与计算机提供接口 B直接为用户开发应用软件服务 C控件管理计算机的软硬件资源 D合理调度计算机工作流程,改善计算机系统性质 27属于进程调度的功能是( ) A确定处理机的分配原则 B管理内存的分配与回收 C管理输入输出设备 D 管理并发进程的信息交换,28、进程控制是组成操作系统内核的各原语实现的,下面关于原语的说法,( ) 是错误的 A它是机器指令的延伸B它不是进程模块 C原子能语操作可以自动中断D创建进程撤消进程均由相应烦扰语实现 29、在以下I/O设备驱动程序执行过程中
42、,( )可以中断一个进程,即发妯中断信号. A服务请求校验B确认设备状态C启动I/O请求D中断处理 30、下面关于文件控制块(FCB)的说法中,( )是正确的 A每一个子目录都有一个FCB BFCB包括文件说明和文件块 C FCB的信息中不包含文件的物理结构 D撤消FCB当且仅当撤消相应的文件 答案 一、1A2B3B4B5A6A7B8B9A10A11B12A13B14A15B16A17B18A19B20A21B22B23B24A25A26A27B28B29A30B 二 、1A2D3C4B5D6C7B8A9C10C11B12A13C14D15B16D17B18C19B20A21D22B23A24C25B26B27A28C29A30D,