计算机软件技术复习资料
计算机软件技术基础复习题和思考题答案
计算机软件技术基础复习题和思考题答案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),是一种软件开发人员用于创建、调试、维护其他程序和应用软件的软件工具。
软件工程导论复习重点总结很全第六版
第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。
软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。
1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。
认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。
应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。
应当开发和使用更好旳软件工具。
总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。
1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。
采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。
(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。
软考计算机基础知识
软考(计算机技术与软件专业技术资格(水平)考试)涉及广泛的计算机基础知识,以下是一些主要的考点:
1. 计算机系统基础知识:包括计算机硬件系统的组成和功能,如CPU、内存、硬盘、输入输出设备等;计算机软件系统的组成和功能,如操作系统、数据库管理系统、网络软件等。
2. 数据结构与算法:包括线性表、树、图等基本数据结构,以及排序、查找等常见算法。
3. 操作系统知识:包括操作系统的基本概念、功能、分类以及常见操作系统的特点和使用方法。
4. 数据库知识:包括数据库的基本概念、数据模型、数据库设计和管理等方面的知识。
5. 网络知识:包括计算机网络的基本概念、分类、拓扑结构以及网络协议等。
6. 软件工程知识:包括软件生命周期、软件开发模型、软件测试方法以及软件质量管理等方面的知识。
7. 信息安全知识:包括信息安全的基本概念、加密技术、防火墙技术、入侵检测技术等。
8. 多媒体技术知识:包括音频、视频、图像处理等多媒体技术的基本概念和应用。
此外,软考还涉及一些与计算机相关的法律法规和标准化知识,如知识产权、计算机软件保护条例、标准化基础知识等。
在备考软考时,建议考生根据考试大纲的要求,系统学习相关知识点,并结合实际案例进行练习,以提高自己的应试能力。
同时,也可以参加一些培训课程或模拟考试,以检验自己的学习成果和应试水平。
请注意,以上只是软考涉及的一些主要计算机基础知识考点,具体考试内容和要求可能会因考试科目和级别的不同而有所差异。
因此,在备考时,建议考生仔细阅读相关科目的考试大纲和要求,以确保自己能够全面、准确地掌握所需的知识点和技能。
计算机软件工程复习要点(计算机科学与技术)
一、术语解释软件工程、需求工程、软件生命周期、测试用例、软件复用、软件可维护性、CASE、软件工程过程二、基本知识要点1. 软件危机的主要表现。
软件工程主要研究与软件开发和维护有关的四个方面的内容:方法和技术、工具和环境、管理技术、标准和规范。
2. 生命周期模型。
典型瀑布模型生命周期的六个阶段。
各阶段产生的文档的名称及承担的人员。
螺旋模型综合了传统瀑布模型直线式的特点和快速原型模型的迭代思想,同时增加了一个重要特征,即风险分析。
螺旋模型在4个象限定义了4个主要活动。
螺旋模型的基本思想和主要特点。
原型模型的基本思想及分类。
喷泉模型是面向对象的模型,体现了迭代和无间隙的特点。
3. 需求分析的主要方法(结构化方法SA、面向对象的方法OOA、形式化方法等)。
结构化分析方法SA、结构化设计方法SD的主要任务、结束文档及内容。
SA得到分层DFD及DD;SD得到模块结构图SC及模块功能说明书。
SD是实现了DFD→SC。
需求规格说明书的主要内容。
软件设计的分类。
E-R图的基本构成要素。
软件系统需求的分类,需求管理的主要任务。
4. DFD的四个构成要素及各自可以表达的内容。
常用加工说明的描述工具(结构化语言、判定表、判定树)。
根据问题结构的不同,可以使用变换分析及事务分析得到初始的SC(分别对应变换型DFD和事务型DFD)。
画DFD的基本原则。
5. 分解、信息隐藏和模块独立性是实现模块化设计的重要指导思想。
模块化设计的核心——模块独立性,由内聚和耦合度量(熟练掌握七种内聚、七种耦合以及控制软件耦合度的方法)。
扇入、扇出。
作用域控制域原则。
程序模块优化的启发式规则。
6. 对象的三个构成要素(对象标识、属性和方法)。
面向对象分析过程中,系统的问题域由概念模型描述,即使用类图表示概念模型;使用用例图描述角色可见的系统功能;使用顺序图和协作图描述对象的行为。
顺序图和协作图的区别。
7. UML的缩写,来自于三个方法(Booch、OMT、OOSE)。
软件技术复习提纲
复习大纲:一、 VB1。
熟悉VB环境。
2。
熟悉VB常用控件,知道他们的属性、事件和方法。
3。
熟悉VB语言,能读懂顺序、分支和循环语句。
4。
熟悉VB语言,知道变量,过程等术语的使用方法。
二、数据库基础和SQL1。
数据库的基础知识。
(抽取数据,ER图)2。
关系数据库的基础知识。
(关系数据模型,三层体系结构,范式(1,2,3范式)) 3。
SQL语言的基础知识(数据查询,select语句)应用技能要求:(1)学会从现实世界中提取信息并存到计算机中。
(2)学会使用SQL语句操纵数据库。
(增删改查)三、 VB和数据库链接1。
会使用三种方法与VB界面进行链接。
DC,ADODC,ADO2. 知道这三种控件或者对象常用的属性、事件和方法。
3。
任意一种方法浏览、增删改查的方法。
例题:概述:计算机软件是指【_C____】的总称。
A)算法及数据结构B)程序和数据C)计算机程序、方法、规则、有关文档以及数据D)可写光盘VB:算法必须具有输入、输出和【】等特性。
A)可行性、可移植性和可扩充性B)可行性、确定性和有穷性C)确定性、有穷性和稳定性D)易读性、稳定性和安全性【】是图形用户界面的本质。
A、GUIB、事件驱动机制C、WYSIWYGD、WIMP要让程序在按了“ESC”键后执行CommandButton_Click事件中的代码,应将CommandButton 的【_C____】属性设为True。
A)TableStopB)DefaultC)CancelD)EnabledVB读程序:中途跳出Do循环可使用的语句为【_B____】。
A)Exit ForB)Exit DoC)End ForD)End Do下列程序段循环执行了【 D 】次。
Int2=0For int1=-9 to 9 step 3Int2=int2+1NextA)3B)4C)5D)6数据库和sql:.数据库的三级结构和SQL的体系结构的对应关系为【_B____】。
大学计算机软件技术基础考试技术复习题
线性表采用链式存储时,结点的存储地址()A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是()A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.7一棵含18个结点的二叉树的高度至少为( C )A.3B.4C.5D.6已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( D ) A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA无向图中一个顶点的度是指图中( B )A.通过该顶点的简单路径数B.与该顶点相邻接的顶点数C.通过该顶点的回路数D.与该顶点连通的顶点数设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。
若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( B )A.21B.23C.41D.62在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储(或存储结构)无关,是独立于计算机的。
《计算机软件技术基础》复习题(含答案)
《计算机软件技术基础》复习题1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。
A. 所有的操作算法实现简单B. 便于随机存取A. 表元素B. 字符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+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。
A. log nB. nlog nC. 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中。
第三章计算机软件
第三章计算机软件南大专转本复习资料(第三章)严禁复印传播3.1概述(1.什么是计算机软件;2.计算机软件的特性;3.计算机软件的分类)4.一个完备的计算机系统至少由4个基本部分共同组成,即为软件、硬件、多媒体和网络。
(______)“软件使用手册”不属于软件的范畴。
(______)程序就是软件的主体,单独的数据和文档通常不指出就是软件。
(______)提示信息:(或指令)5.计算机软件包括软件开发和使用所涉及的资料。
6.软件产品的设计7.8.软件虽然不是物理产品而是一种无形产品,体进行存储和传赢。
(______)9.软件指的是能指示(指挥)的、以电子格式存储的程序、数据和相第一关文档,这里的有关文档专提示信息:iso牵涉的资料(例如设计报告、保护手册和采用指)在过程中,一定必须特别注意留存完备、规范的有关文档做为软件10.重要组成部分。
(______)11.用户出售软件后,的版权,可以随意展开软件拷贝和递送。
(______)12.软件必须依附于一定环境,否则它可能无法正常运行。
(______)13.它不。
(______)14.,且通常以电、磁、光等形式存储和传输的,因而很容易被复制。
15.linux源代码就是官方的,它就是一种“自由软件”。
(______)16.linux和都是文字处理软件。
(______)17.unix就是一种应用软件。
(______)18.windows系列软件和office系列软件都是目前流行的操作系统软件。
(______)提示信息:windows系统就是目前最为普及的系统软件,office系列就是微软公司研发的目前最为盛行的办公应用软件。
19.自由软件(freeware)不允许随意拷贝、修改其源代码,但允许自行销售。
(______)1.excel属________软件。
a.电子表格b.文字处理c.图形图像d.网络通信南大专转本复习资料(第三章)不得影印传播2.程序设计语言的编译程序或解释程序属于__________。
计算机软件复习题
一、单选题(60分,每小题1分)1. 能把高级语言编写的源程序进行转换,并生成机器语言形式的目标程序的系统软件称为__?__。
A. 连接程序B. 汇编程序C. 解释程序D. 编译程序2. 系统软件是给其他软件提供服务的程序集合,下面的叙述中错误的是__?__。
A. 系统软件与计算机硬件有关B. 在通用计算机系统中系统软件几乎是必不可少的C. 操作系统是系统软件之一D. IE浏览器也是一种系统软件3. 条件选择结构语句,例如if (P) A; 属于高级语言中的__?__成分。
(P表示条件,A表示操作)A. 数据B. 运算C. 控制D. 传输4. 计算机软件的发展受到应用和硬件发展的推动和制约,大致经历了三个阶段,下面的叙述中错误的是__?__。
A. 第一阶段主要是科学与工程计算,使用低级语言编制程序B. 第二阶段使用高级程序语言编制程序,并产生了操作系统和数据库管理系统C. 20世纪80年代初期,出现了"软件"术语,软件技术走向成熟D. 为适应开发大型软件的需要,第三阶段提出了"软件工程"的概念5. BIOS的中文名叫做基本输入/输出系统。
下列说法中错误的是__?__。
A. BIOS是固化在主板上ROM中的程序B. BIOS中包含系统自举(装入)程序C. BIOS中包含加电自检程序D. BIOS中的程序是汇编语言程序6. 程序设计语言分成3类,它们是机器语言、汇编语言和__?__。
A. 高级语言B. 自然语言C. 数学语言D. 置标语言7. 用于解决各种不同具体应用问题的专门软件,称为应用软件,应用软件又分为通用应用软件和定制应用软件两类。
下列软件中全部属于通用应用软件的是__?__。
A. WPS、Windows、WordB. Powerpoint、SPSS、UNIXC. ALGOL、Photoshop、FORTRAND. Powerpoint、Excel、Word8. UNIX和Linux是使用较为广泛的多用户交互式分时操作系统。
第三章 计算机软件复习资料
第三章计算机软件【知识点1】计算机系统的概念(1) 计算机系统的基本组成:①计算机硬件:组成计算机各种物理设备的总称②计算机软件:是指示计算机完成特定任务的,以电子格式存储的程序、数据和相关的文档。
程序:计算机如何完成任务逐步执行的命令;数据:程序所处理的对象及处理过程中使用的参数;文档:程序开发、维护和使用所涉及的资料。
(2)软件的三层含义(从科学概念上讲):①个体含义:即上面所说的计算机系统中的程序、规程、规则及其文档。
②整体含义:指在特定计算机系统中所有个体含义下的软件的总体。
③学科含义:即指软件在研究、开发、维护以及使用中所涉及的理论、方法、技术所构成的学科,在这一意义上称为软件学。
【典型例题】55.计算机软件指的是能指示计算机完成特定任务的、以电子格式存储的程序、______和相关的文档的集合。
【知识点2】软件的分类从应用的角度出发,通常将软件分为:系统软件、应用软件(1) 系统软件①系统软件:是给其他程序提供服务的程序的集合.(如各种操作系统、编译程序、磁盘清理程序等)②系统软件的主要特征:与计算机硬件系统有很强的交互性,对计算机的硬件资源进行统一的控制、调度、管理。
具有通用性,任何计算机系统必不可少。
购买计算机时,厂商必须提供一些基本的系统软件(2)应用软件①应用软件:泛指专门用于解决各种具体应用问题的软件。
②应用软件分类:按软件的开发方式和适用范围分为:通用应用软件:可以在许多行业和部门共同使用如:word、excel、绘图软件、媒体播放软件定制应用软件:按照不同领域用户的特定应用要求而专门设计的软件如:某大学的教务管理系统、某超市的销售系统③主要通用应用软件类别和功能【典型例题】8.下列软件中,_____是专门的网页制作软件。
A .FrontPage 2000B .Visual BASIC 6.0 C .Excel 2000D .PowerPoint 2000 11.在计算机的软件分类中,应用软件和系统软件的相互关系是______A .前者以后者为基础B .后者以前者为基础C .每一类都不以另一方为基础D .每一类都以另一方为基础11.在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_______。
软件工程复习资料-完整版
一、选择题:1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。
A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。
计算机复习要点(第三讲)-计算机软件
计算机复习要点(第三讲)计算机软件一、关于软件1、计算机系统:由硬件与软件两部分构成。
2、软件的地位:是人与硬件之间的接口。
软件指挥与控制硬件的工作过程。
没有软件,计算机系统没有用途。
3、程序与数据的关系程序:指令的序列。
完成对某一类问题的解决,而不是一个特定问题的解决。
与数据的关系:对输入的不同数据,可以产生不同的结果数据。
输入的是垃圾数据,输出的必然是垃圾数据。
4、软件:程序、数据、文档资料(即一切与程序相关的资料均是)。
记住:文档资料是属于软件的组成部分。
5、软件与程序的关系:程序是软件的主体。
理解:没有程序,只有数据或文档,不是软件。
6、软件有哪些特性?①不可见性:看不见、摸不着。
②适用性:具有功能,能解决用户的问题。
③依附性:在特定的硬件或软件平台上运行。
如:WORD软件在WINDOWS操作系统下运行。
④复杂性:不可见性及规模大(代码行数很多)、功能复杂。
⑤无磨损性:软件是二进制,可复制任意多次而没有损耗。
⑥易复制性:是二进制代码。
容易复制。
⑦不断演变性:如WINDOWS从3.1版本不断演变到WINDOWS 7⑧有限责任:软件不做任何保证。
后果自负。
⑨脆弱性:由于是二进制代码,很容易修改二进制代码。
7、分类①按软件权益的处置分:1)商品软件:需要付费,是到软件的使用权。
违犯版权使用软件是盗版。
将一个软件复制到多台机器上使用是非法的。
除非另外购买了软件的软件许可证(如:购买了100个用户的许可证,就可以复制到100台机器上或者在网络上,安装的一份软件,同时允许100个用户使用软件)。
2)共享软件:具有版权。
试用期间,可任意使用、拷贝、分发(不可署名、不可修改后分发)。
交了注册费,成为注册用户后,就只有使用权了。
3)自由软件:任意使用、任意拷贝、任意修改、免费、任意分发、允许销售。
限制是:对软件源代码的任何修改,都必须向所有的用户公开,而且必须允许此后的用户进一步修改和拷贝的权利。
因此,自由软件不是绝对自由。
第一章计算机软件技术概述(精)
第一章计算机软件技术概述⏹了解以下知名公司的发展历史,掌握公司业务范围及主流产品的应用领域Microsoft、Apple、IBM、Oracle(Sun、Google、Adobe、Amazon、Symbian1.1 软件的组成要素1.2 软件技术的组成体系1.3 软件的主要属性与特点1.4 软件的工作与存储空间1.1 软件的组成要素⏹引子:使用计算机就是使用软件,我们会用到许多感兴趣的应用软件,而应用软件还需要一个“看不见的引擎”的支撑和驱动。
我们不能真正看到或触摸这个“引擎”—也称软件平台,但在现代产品中它却无处不在,有的甚至家喻户晓1、软件(Software的三要素⏹计算机软件:程序、数据及相关文档组成•文档(Document:指软件开发、维护和使用相关的图文资料,包括对软件程序和数据的描述等2、软件与程序⏹软件的组成中,程序和数据是主体,核心是程序。
有时软件和程序可以相互替换使用,并不严格区分,也有称软件程序⏹但要了解,两者区别是很明显⏹程序侧重描述软件实现的指令代码,并且源程序中的代码通常是可以阅读的,但是不能被计算机直接执行,而可执行程序的代码通常是无法被阅读的,但可以提交计算机执行。
从这个角度,我们所购买的软件只是程序的可执行版本而不是(软件的源代码⏹软件包含程序,其内涵与外延更广泛⏹计算机系统由软件与硬件组成。
硬件(Hardware作为有形、可触摸的物理设备构成一个“裸机”,须加载软件(即装入程序才能构成可以运行和发挥功用的计算机系统以服务于用户⏹计算机软硬件协同工作、相互支持、相互制约,推动着计算机应用的发展1.2 软件技术的组成体系⏹计算机软件技术是与软件开发及软件使用相关的理论和技术的总称。
软件使用体现软件在各行各业的具体应用⏹从学科角度,软件技术体系非常丰富、广泛,可概括为软件理论、软件系统及软件开发三大组成部分⏹软件系统由系统软件、支撑软件及应用软件组成,涉及软件整体含义的内容组成,不同软件根据其作用按不同的层次环绕硬件。
软件工程复习要点
题型1、名词说明2、问答题3、应用题(看图题,分析题,计算题)学问点:1、什么是软件及软件特点,软件的分类软件是计算机系统中和硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合软件的特点(1)软件是一种逻辑实体。
(2)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。
(3)软件维护和硬件的修理有着本质的差别。
(4)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依靠性。
(5)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。
(6)软件的开发是一个困难的过程。
(7)软件的成本特殊昂扬软件的分类1.基于软件功能的划分系统软应用软件支撑软件2.基于软件工作方式的划分实时处理软件分时软件交互式软件批处理软件2、什么是软件危机,起因一方面软件特殊困难,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去限制。
我们称软件开发和维护过程中所中遇到的这一系列严峻问题为软件危机。
软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
3、什么是软件工程,它的基本目标,要素,原则(1)软件工程是指探讨软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既牢靠又能在实际机器上有效运行的软件。
(2)软件工程学探讨的基本目标是:定义良好的方法学,面对支配,开发维护整个软件生存周期的方法学;确定的软件成分,记录软件生存周期每一步的软件文件资料,按步显示轨迹;可预料的结果,在生存周期中,每隔确定时间可以进行复审(3)软件工程的原则:分解;抽象和信息隐藏;一样性;确定性4、什么是软件生命周期,每个阶段的意义理解如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生命周期。
1.软件定义时期(1)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题是什么。
软件工程复习知识要点
1 软件和软件工程概念软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。
2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。
程序的最小单位是类。
3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。
5.什么是软件工程?(课后题)软件工程是指导计算机软件开发和维护的工程学科。
接受工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
6.可以用功能性、牢靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。
功能性是指软件所实现的功能达到它的设计规范和满意用户需求的程度。
可移植性是指软件从某一环境转移到另一环境时所作努力得程度。
7.软件生存期由软件定义、软件开发和运行维护三个时期组成。
开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。
开发过程中的典型文档包括:项目支配、软件测试支配、软件设计说明书、用户手册。
8.需求分析的基本任务?(1)建立分析模型,了解系统的各种需求微小环节。
(2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试支配和初步的系统用户手册,并提交管理机构进行分析评审。
2 软件工程方法和工具1.面对对象方法的动身点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类相识问题和解决问题的方法和过程,从而使描述问题的问题空间和其解空间在结构上尽可能一样。
2.形式化方法的主要特点是:(课后题)(1) 软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(2) 设计、实现和单元测试等开发过程由一个变换开发过程代替。
通过一系列变换将形式的规格说明细化成为程序。
3.面对对象 = 对象 + 类 + 继承 + 消息通信。
软件工程复习纲要
软件工程复习纲要第一章、概述1、软件危机的概念与主要原因(1)软件危机是指在计算机软件开发与维护时所遇到的一系列问题。
(2)软件危机产生的原因:软件规模、方法、技术、软件开发人员;客观:规模,环境,需求变化;主观:开发技术,管理。
✓软件产品规模庞大,开发与维护带来客观困难✓软件使用同期相对较长,期间可能出现开发没料到的问题,需要与时维护✓软件开发技术落后,生产方式与开发工具落后✓软件开发人员忽视软件需求分析的重要性,轻视软件维护2、软件、软件工程、软件工程学的概念(1)软件是指计算机程序与其有关的数据与文档。
(2)软件工程(software engineering)是计算机软件开发、运行、维护与隐退的系统方法;是指导计算机软件开发与维护的工程学科;软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。
(3)软件工程学的主要内容是软件开发技术(包含软件工程方法学、软件工具与软件开发环境)与软件工程管理(包含软件工程经济学与软件管理学)。
更多内容请见P.4;3、软件生命周期与生命周期各阶段的任务(1)软件生命周期指从设计软件产品开始到产品不能使用为止的时间周期。
包括:定义,开发,使用,维护,淘汰。
(2)软件生命周期各阶段的任务✧软件计划、软件开发与软件运行维护三个时期。
✧软件计划时期:问题定义、可行性研究、需求分析✧软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。
✧软件运行维护时期:需要不断地进行维护,使软件持久满足用户需要4、软件开发模型的几种模型与各模型的特征(1)瀑布模型(Waterfall Model) :(规范的、文档驱动方法。
开发阶段按顺序进行,适合需求分析较明确、开发技术较成熟的情况。
)特点:阶段间具有顺序性与依赖性;推迟实现编码;质量保证。
(2)快速原型模型:(快速原型系统让用户试用并收集用户意见。
获取用户真实需求。
)特点:软件产品的开发基本上是线性顺序进行的;能减少软件的总成本,缩短开发周期。
计算机软件基础知识要点总结
计算机软件基础知识要点总结第一章软件的概念和分类软件是指计算机程序和与之相应的文档等软件资料的总称。
根据软件的性质和用途的不同,可以将软件分为系统软件、应用软件和中间件。
系统软件是计算机硬件与其他应用软件之间的中介,它为应用软件提供所需的环境和支持。
应用软件是直接为用户提供各种功能和服务的软件,如办公软件、图形处理软件等。
中间件是位于系统软件与应用软件之间的软件层,提供高效的通信和数据交换手段,如数据库管理系统、消息中间件等。
第二章数据结构与算法数据结构是组织和存储数据的方式,包括线性结构(如数组、链表)、树状结构(如二叉树、图)和图状结构等。
算法是解决问题的方法和步骤,常见的算法有排序算法(如冒泡排序、快速排序)、查找算法(如顺序查找、二分查找)和图算法(如最短路径算法、拓扑排序算法)等。
掌握合适的数据结构和高效的算法可以提高软件的性能和效率。
第三章编程语言和开发工具编程语言是程序员用来书写计算机程序的语言,常见的编程语言有C、C++、Java、Python等。
不同的编程语言有不同的语法和特性,根据实际需求选择合适的编程语言。
开发工具是帮助开发人员进行程序开发和调试的软件,如集成开发环境(IDE)、调试器等。
熟练掌握编程语言和开发工具是软件开发的基础。
第四章软件开发流程软件开发流程是指将软件从概念到交付使用的整个过程,常用的开发流程有瀑布模型、迭代模型和敏捷开发等。
瀑布模型是将软件开发过程划分为需求分析、系统设计、编码、测试和维护等阶段,按顺序依次执行。
迭代模型是将软件开发过程划分为多个迭代周期,每个迭代周期包括需求分析、系统设计、编码、测试和维护等阶段。
敏捷开发是一种迭代增量的软件开发方法,着重于快速响应变化和快速交付可用的软件。
第五章软件测试与质量保证软件测试是为了发现程序中存在的错误和缺陷,以提高软件的质量和可靠性。
常见的软件测试方法包括单元测试、集成测试、系统测试和验收测试等。
单元测试是对程序的最小可测单元进行测试,集成测试是将多个模块进行组合测试,系统测试是对整个系统进行功能和性能的全面测试,验收测试是由用户对软件进行测试和确认。
软件工程师复习资料整理清单
软件工程师复习资料整理清单一、引言在软件工程师的职业道路上,复习是非常重要的一环。
复习资料的整理不仅有利于知识的巩固,还可以提高复习效率。
本文将为大家提供一份软件工程师复习资料整理清单,帮助大家系统地准备复习内容。
二、基础知识1. 编程语言:包括但不限于Java、C++、Python、JavaScript等常用编程语言的语法、特性、面向对象思想等方面的知识。
2. 数据结构与算法:复习线性表、树、图等常用数据结构,并了解各种排序算法、查找算法、常见算法思想等。
3. 计算机网络:了解计算机网络的基本概念、协议、网络层次结构以及常见的网络攻击与防范措施等。
三、软件开发1. 软件设计原理:掌握面向对象设计原则、设计模式等,了解软件设计的思路和方法。
2. 软件测试与调试:了解常用的测试方法和工具,并掌握如何进行软件调试和故障排查等技巧。
3. 软件质量与维护:了解软件质量管理的基本概念和方法,了解软件维护的流程和技巧。
四、数据库1. 关系型数据库:了解关系型数据库的基本概念、SQL语言以及常用的关系型数据库管理系统(如MySQL、Oracle等)的使用。
2. 非关系型数据库:了解非关系型数据库的特点、分类和应用场景,并了解一些常见的非关系型数据库(如MongoDB、Redis等)。
3. 数据库设计与优化:了解数据库的设计原则、范式理论以及常见的数据库优化策略等。
五、项目管理与团队协作1. 软件开发流程:了解软件开发过程中的需求分析、设计、编码、测试等各个环节,并掌握常用的软件开发模型(如瀑布模型、敏捷开发等)。
2. 版本控制工具:学习使用常见的版本控制工具(如Git、SVN 等),了解分支管理、代码合并等基本操作。
3. 团队协作与沟通:了解团队协作的重要性,学习有效的沟通技巧和团队合作方法。
六、实践项目1. 实践项目经验:通过参与实际开发项目,积累项目经验,掌握项目管理的流程和技巧。
2. 开源项目参与:参与开源项目的开发,学习优秀的代码风格和设计思想,并与其他开发者进行交流与合作。
公务员-计算机类 软件工程复习资料大杂烩
本文由jingang520644贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
五、判断正误并说明理由“测试的目的是说明程序正确地执行它应有的功能”这种说法正确吗?为什么?例:程序 Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。
为说明其能正确执行它的功能,可使用测试用例(3,4,5),(5,5,6),(6,6,6), 程序都能给出正确结果,是否就可认为程序是正确的?为什么?如果不正确应该怎样做?五、应用题(11分)某校的课酬计算方案为:(1)基本课酬为每节课10元。
(2)班组人数超过60人,增加基本课酬的10%。
(3)班组人数超过80人,增加基本课酬的20%。
(4)如果教师为副教授,增加基本课酬的10%。
(5)教授,增加基本课酬的20%。
(6)助教,不增加课酬。
(7)见习助教,减少基本课酬的10%。
用判定表,表达上述计算方案。
四、根据题意画出数据流程图,并写出数据项的名称设想为某银行开发一个储蓄系统。
业务流程大致如下:储户填写存款或取款单交由业务人员键入系统,如果是存款则系统记录存款人姓名住址、身份证号码、存款类型、存款日期、到期日期、利率及密码等信息,如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
四、根据题意画出数据流程图,并写出数据项的名称。
为了方便旅客,某航空公司拟开发一个机票预订系统。
旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,印出通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。
(每完成一项3分)软件工程复习题要一章1、软件软件是计算机系统中与硬件系统相互依存的另一部份,是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机软件技术》 复习资料(课程代码:11049)习题汇总:(一)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+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。
A. log nB. nlog nC. 2n/2D. n!6.所指的结点之后,其语句应为: D 。
A. s->next=p+1; p->next=s;B. (*p).next=s; (*s).next=(*p).next;spnextnext nextC. 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.用单链表表示的链式队列的队头在链表的 A 位置。
A. 链头B. 链尾C. 链中9.若用单链表表示队列,则应该选用 B 。
A. 带尾指针的非循环链表B. 带尾指针的循环链表C. 带头指针的非循环链表D. 带头指针的循环链表10.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印,先放入打印缓冲区的数据先被打印。
该缓冲区应该是一个 B 结构。
A. 堆栈B. 队列C. 数组D. 线性表11.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 B 。
A. 1和5 B. 2和4C. 4和2D. 5和112.设栈的输入序列为1,2,…,10,输出序列为a1,a2,…,a10,若a5=10,则a7为 C 。
(未要求一次性全部输入或输出)A. 4B. 8C.不确定D.713.设栈的输入序列是1,2,3,4,则 D 不可能是其出栈序列。
A. 1243 B. 2134 C. 1432 D. 431214.以下 ABD 是C语言中”abcd321ABCD”的子串。
A. abcdB. 321ABC. “abcABC”D. “21AB”15.若串S=”software”,其子串的数目是 B 。
A. 8B. 37C. 36D. 916.设高为h的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为 B ,至多为 F 。
高为h的完全二叉树的结点数至少为 E ,至多为 F 。
A. 2h B. 2h-1 C. 2h+1 D.h+1E. 2h-1F. 2h-1G. 2h+1-1H. 2h+117.一棵有124个叶结点的完全二叉树,最多有 B 个结点。
A. 247B. 248C. 249D. 25118.若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉树是 C 。
A. 满二叉树B. 哈夫曼树C. 堆D. 二叉查找树19.前序遍历和中序遍历结果相同的二叉树为 F ;前序遍历和后序遍历结果相同的二叉树为 B 。
A. 一般二叉树B. 只有根结点的二叉树C. 根结点无左孩子的二叉树D. 根结点无右孩子的二叉树E. 所有结点只有左孩子的二叉树F. 所有结点只有右孩子的二叉树20.假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要进行 D 次探测。
A. K-1次B. K 次C. K+1次D. K(K+1)/2次21.在n 个记录的有序顺序表中进行折半查找,最大的比较次数是⎣⎦1log 2+n 。
22.在下述排序算法中,所需辅助存储空间最多的是 B ,所需辅助存储空间最小的是 C ,平均速度最快的是 A 。
A.快速排序B. 归并排序C. 堆排序23.在文件局部有序或文件长度较小的情况下,最佳内部排序的方法是 A 。
A. 直接插入排序B. 冒泡排序C. 简单选择排序24.快速排序在最坏情况下时间复杂度是O(n 2),比 A 的性能差。
A. 堆排序B. 冒泡排序C. 简单选择排序25.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是 C 。
A. 快速排序B. 堆排序C. 归并排序D. 希尔排序26.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用B 方法最快。
A. 冒泡排序B. 快速排序C. 希尔排序D. 堆排序E. 简单选择排序27.以下结点序列是堆的为 A 。
A. 100,90,80,60,85,75,20,25,10,70,65,50B. 100,70,50,20,90,75,60,25,10,85,65,8028.若要尽可能快地完成对实数数组的排序,且要求排序是稳定的,则应选 C 。
A. 快速排序B. 堆排序C. 归并排序D. 希尔排序29.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为 A 排序法。
A. 插入排序B. 交换排序C. 选择排序D. 归并排序30.直接插入排序在最好情况下的时间复杂度为 B 。
A. O(logn)B. O(n)C. O(nlogn)D. O(n 2)31. 从未排序的序列中,依次取出元素,与已排序序列的元素比较后,放入已排序序列中的恰当位置上,这是 (1) 排序。
从未排序的序列中,挑选出元素,放在已排序序列的某一端位置,这是 (2) 排序。
逐次将待排序的序列中的相邻元素两两比较,凡是逆序则进行交换,这是 (3) 排序。
如果整个排序过程都在内存中进行,称为(4) 排序。
排序算法的复杂性与排序算法的 (5) 有关。
供选答案:(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. 占用存储多少和处理的数据量大小答案:BAABA32.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB33. A 是信息的载体,它能够被计算机识别、存储和加工处理。
A. 数据B. 数据元素C. 结点D. 数据项34.下列程序段的时间复杂度为 C 。
for(i=1;i<n;i++){y=y+1;for(j=0;j<=(2*n);j++) x++;}供选答案:A. O(n-1)B. O(2n)C. O(n2)D. O(2n+1)35.下面程序段的时间复杂度为 D 。
i=1;while(i<=n) i=i*2;供选答案:A. O(1)B. O(n)C. O(n2)D. O(log2n)36.下面程序段的时间复杂度为 B 。
a=0;b=1;for(i=2;i<=n;i++){s=a+b;b=a;a=s;}供选答案:A. O(1)B. O(n)C. O(log2n)D. O(n2)37.数据结构是一门研究非数值计算的程序设计问题中,计算机的 A 以及它们之间的关系和运算等的学科。
A.操作对象B. 计算方法C. 逻辑存储D. 数据映象38.在数据结构中,从逻辑上可以把数据结构分成 C 。
A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构39.算法分析的目的是 C 。
A. 找出数据结构的合理性B. 研究算法中输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性40.算法分析的两个主要方面是 D 。
A. 间复杂性和时间复杂性B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性41.一个线性顺序表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址为 B 。
A. 110B. 108C. 100D. 12042.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为P1,P2,P3,…,P n,若P1=n,则P i 为 C 。
A. iB. n-iC. n-i+1D.不确定43.对于一个栈,给出输入项A,B,C。
如果输入项序列由A,B,C所组成,则不可能产生的输出序列是 A 。
A. CABB. CBAC. ABCD. ACB44.设有如下的单链表的按序号查找的算法,其时间复杂度为 B 。
LinkNode *GetNode(Linklist head, int i){int j;ListNode *p;P = head; j=0;while(p->next && j<i){p = p->next;j++;}if(i==j)return(p);elsereturn(NULL);}供选答案:A. O(n2)B. O(2n)C. O(n3)D. O(logn)45.二维数组A mn按行序为主顺序存放在内存中,每个数组元素占1个存储单元,则元素a ij的地址计算公式是 C 。