还剩79页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机二级公共基础知识归纳及习题精选汇编计算机公共基础部分知识归纳第1章数据结构与算法算法---是一组严谨地定义运算顺序的规则算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构算法设计基本方法---列举法、归纳法、递推、递归、减半递推算法的复杂度---包括时间复杂度和空间复杂度时间复杂度---执行算法所需的计算工作量空间复杂度---执行算法所需的内存空间数据结构---相互有关联的数据元素的集合如春、夏、秋、冬;
18、
11、
35、
23、16;父亲、儿子、女儿等都是数据元素前件---数据元素之间的关系,如父亲是儿子和女儿的前件后件---如儿子是父亲的后件结构---指数据元素之间的前后件关系数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与非线性结构线性结构(线性表)---满足下列两个条件
(1)有且只有一个根结点
(2)每一个结点最多有一个前件和后件则称该数据结构为线性结构,否则为非线性结构线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储的,如数组栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是“先进先出”,其运算有入队和退队树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度二叉树---
(1)非空二叉树只有一个根结点
(2)每一个结点最多有两棵子树(左子树和右子树),其存储结构为链式二叉树性质---
(1)K层上最多有2(K-1)个结点
(2)深度为m的二叉树最多有2m-1个结点
(3)度为0的结点(叶子结点)比度为2的结点多一个
(4)具有n个结点的二叉树,其深度至少为[Log2n]+1,其中[Log2n]表示对Log2n取整满二叉树---除最后一层外,其余层的结点都有两个子结点完全二叉树---除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点,叶子结点只可能在层次最大的两层上出现满二叉树是完全二叉树,而完全二叉树不是满二叉树完全二叉树有两个性质
(1)具有n个结点的完全二叉树的深度为[Log2n]+1
(2)二叉树遍历---不重复地访问各个结点分为前序遍历DLR-根左右、中序遍历LDR-左根右和后序遍历(LRD-左右根)查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为nn-1/2;希尔排序的比较次数为On
1.5;简单选择排序的比较次数为nn-1/2;堆排序的比较次数为Onlog2n.习题1算法的时间复杂度是指(),算法的空间复杂度是指();线性表、栈、队列、线性链表是(线性结构),树是(非线性结构);数据的存储结构是指();队列是(先进先出),栈是(先进后出);下列二叉树的遍历结果前序遍历(ABDECF)、中序遍历(DBEAFC)、后续遍历(DEBFCA)在深度为5的满二叉树中,叶子结点的个数为
(16);设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1则T中的叶子结点的个数为
(8);对于长度为n的有序线性表,顺序查找次数为(n)二分法查找次数为(log2n);一棵完全二叉树共有700个结点,则在该二叉树中有
(350)个叶子结点;一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后续遍历结果为(DEBFCA);冒泡排序的时间复杂度为(nn-1/2);在一个容量为15的循环队列中,若头指针front=6尾指针rear=9则该循环队列中共有
(3)元素;第2章程序设计基础结构化程序设计的三种结构---是顺序、选择和循环对象---表示客观世界的任何实体类---是具有共同属性和方法的对象的集合实例---任何一个对象都是其对应类的实例消息---一个实例和另一个实例之间传递的信息继承---是指直接获得已有的性质和特征,而不必重复定义它们例如子类继承父类结构化程序设计主要强调---程序的易读性良好的程序设计风格是---程序应简单、清晰、可读性好在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(消息)来实现的信息隐蔽的概念与(模块独立性)概念直接相关(任何对象都具有继承性)这句话是错误的注释分为(序言性注释)和(功能性注释)在面向对象方法中,信息隐蔽是通过对象的(封装性)来实现的类是一个支持集成的抽象数据类型,而对象是类的(实例)在面向对象方法中,类之间共享属性和操作的机制称为(继承)第三章软件工程基础软件生命周期---软件产品从提出、实现、使用维护到停止使用退役的过程分为软件定义、软件开发、软件运行维护三个阶段软件生命周期的主要活动阶段---可行性分析、需求分析、软件设计、软件实现、软件测试、运行和维护常见的需求分析方法---
(1)结构化分析方法---主要包括面向数据流的结构化分析方法SA;面向数据结构的Jackson方法JSD;面向数据结构的结构化数据系统开发方法DSSD
(2)面向对象的分析方法OOA结构化分析方法工具---
(1)数据流图DFD,记住DFD图的几个符号
(2)数据字典DD
(3)判定树
(4)判定表程序结构图(SC),N-S图,问题分析图(PAD)程序流程图(PFD)的几个符号软件测试---黑盒测试功能测试白盒测试内部结构测试,穷举路径测试习题3在软件生命周期中,能准确地判断软件系统必须做什么和必须具备哪些功能的阶段是(需求分析)软件工程的3个要素(工具),(过程),(方法)检查软件产品是否符合需求定义的过程称为(确认测试)软件设计原则是(抽象)、(模块化)、(信息隐蔽)需求分析常用的工具是(DFD)在结构化方法中,软件功能分解属于(总体设计)阶段软件测试的饿目的是(改正错误)软件需求分析阶段可分为四个方面(需求获取)、(需求分析)、(编写需求格式说明)、(需求评审)软件是(程序)、(数据)、(文档)的集合Jakson方法是一中面向(数据流)的结构化方法软件工程研究的内容包括(软件开发技术)、(软件工程管理)数据流图的类型有(交换型)、(事务型)软件开发环境是全面支持软件开发全过程的(软件工具)集合第四章数据库设计基础数据库---DB;数据库管理系统---DBMS;数据库管理员---DBA;数据库系统---DBS;数据库应用系统---DBAS数据模型所描述的内容分三个部分(数据结构)、(数据操作)、(数据约束)逻辑数据模型分(层次模型)、(网状模型)、(关系模型)、(面向对象模型)E-R模型---实体关系模型,主要由实体、属性、联系组成,联系分1对1,1对多,多对多;以二维表为基本结构所建立的模型称为关系模型,关系模型采用二维表来表示,简称表,由行和列组成,行称为元组或记录,列称为字段主键---唯一标识一个记录的字段外键---一个表的字段是其他表的主键在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段、数据库系统阶段,其中数据独立性最高的阶段是(数据库系统)数据库系统减少了(数据冗余);数据库系统的核心是(数据库管理系统)用树型结构来表示实体间联系的模型称为(层次模型)关系表中的每一行称为(元组)关系数据库管理系统能实现的专门关系运算包括(选择)、(投影)、(连接)在关系数据库中,用来表示实体之间联系的是(二维表)数据库设计包括两方面的设计内容(概念设计)、(逻辑设计)将E-R图转换到关系模式时,实体与联系都可以表示成(关系)一个项目具有一个项目主管,一个项目主管可以管理多个项目,则实体“项目主管”与“项目”的联系属于(一对多)数据独立性分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为(逻辑独立性)数据库系统中实现各种数据管理功能的核心软件称为(数据库管理系统DBMS)关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、(参照完整性)和自定义完整性下面是公共基础部分可以变化的题:1一棵二叉树第K层上最多有2k-1个结点深度为K的二叉树最多有2k-1个结点如果是满二叉树呢例如:在深度为5的满二叉树中,叶子结点的个数为(=25-1=16)2一棵二叉树共有70个叶子结点和80个度为1的结点问这个二叉树的总结点是多少答:因为度为0的结点(叶子结点)比度为2的结点多一个所以度为2的结点数是69所以总结点=70+69+80=219个3一棵完全二叉树共有700个结点,则在该二叉树中有
(350)个叶子结点解答:700/2=350若把700改为675呢=675/2=
337.5进行四舍五入=3384设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1则T中的叶子结点的个数为
(8)解答:n0=t-1nt+t-2nt-1+...+1*n2+0*n1+1=3*1+2*1+1*2+0*4+1=85在一个容量为15的循环队列中,若头指针front=6尾指针rear=9则该循环队列中共有多少个元素3个解答:若头尾元素个数=尾-头:若头尾元素个数=15+尾-头6设有则R和S能进行交集(RnS)、并集(RuS)、差操作(R-S)如果R和S的元不同的话,则R和S只能进行笛卡尔集(RXS)和自然连接7关于二叉树遍历问题有两个题型,一是给出二叉树,求三种遍历结果;二是给出两种遍历,求第三种遍历结果后者有点难度三种遍历是前序(根左右)、中序(左根右)和后序(左右根)8关于查找和排序问题查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为nn-1/2;希尔排序的比较次数为On
1.5;简单选择排序的比较次数为nn-1/2;堆排序的比较次数为Onlog2n.9关于出栈的问题记住是先进后出例1栈底到顶依次存放A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈可能的序列是ABCEDDCBEADBCEACDABE例2如果进栈序列为e1e2e3e4,则可能的出栈序列为e3e1e4e2e2e4e3e1e3e4e1e2任意顺序10关于E---R图是实体属性和实体关系图,实体之间的关系有111mm:n第二部分全国计算机等级考试二级公共考试训练模拟试题一一选择题(每小题2分)在下列各题的A),B),C),D),4个选项中,只有1个选项是正确选项添涂在答题卡相应位置上,答在试卷上不得分1.栈和队列的共同特点是(C)A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素C)没有共同点2.已知二叉树后序编历序列是dabec,中续遍历序列是debac,它的前序编历序列是(D)A)acbedB)decabC)deabcD)cebda33.链表不具有的特点是(B)A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要的移动元素D)所需空间与线性长度4.结构化程序设计的3种结构是(D)A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值机构、等价结构D)顺序结构、选择结构、循环结构5.为了提高测试的效率应该(D)A)随即选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后指定软件的测试次数D)集中对付那些错误的群集的程序6.算法的时间复杂度是指(C)A)执行算法程序所需要的时间B)算法程序的长度C)在完成编码以后指定软件的测试次数D)算法程序中的指定条数7.软件生命周期中花费用最多的阶段是(D)A)详细设计B)软件编码C)软件测试D)软件维护8.数据库管理系统DBMS中用来定义模拟、内模式和外模式的语言为(C)A)CB)BasicCDDLDDML9.下列有关数据库的描述,正确的是(C)A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件10.下列有关数据库的描述,正确的是(D)A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字节D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的键字,则称其为本关系的外关键字
二、填空题(每空2分)请将每一个空的正确答案写在答题卡【11】~【15】序号的横线上,答案试卷上不得分1算法的基本特征是可行性、确定性、【有穷性】2在长度为n的有序线性表中进行二分查找最坏的情况下,需要的比较次数为【log2n】3在面向对象的程序设计中类描述的是具有相似性质的一组【对象】4通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【软件生命周期】5数据库管理系统常见的数据模型有层次模型、网状模型和【关系模型】3种模拟测试二一.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡相应的位置上答在试卷上不得分.
1.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF则该二叉树的后序遍历为BAGEDHFBCABDGEBHFCACABCDEFGHDACBFEDHG
2.树是结点的集合它的根结点的数目是AA有且只有1个B1或多于1C0或1D至少
23.如果进栈序列为e1e2e3e4则可能的出栈序列是BAe3e1e4e2Be2e4e3e1Ce3e4e1e2D任意顺序
4.在设计程序时应采纳的原则之一是DA不限制goto语句的使用B减少或取消注解行C程序越短越好D程序结构应有助于读者理解
5.程序设计语言的基本成分是数据成分运算成分控制成分和DA对象成分B变量成分C语句成分D传输成分
6.下列叙述中不属于软件需求规格说明书的作用的是DA便于用户开发人员进行理解和交流B反映出用户问题的结构可以作为软件开发工作的基础和依据C作为确认测试和验收的依据D便于开发人员进行需求分析
7.下列不属于软件工程3个要素的是DA工具B过程C方法D环境
8.单个用户使用的数据视图描述称为AA外模式B概念模式C内模式D储存模式
9.将E-R图转换到关系模式时实体与联系都可以表示成BA属性B关系C键D域
10.SQL语言又称为CA结构化定义语言B结构化控制语言C结构化查询语言D结构化操纵语言二.填空题每空2分请将每一个空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.数据结构分为逻辑结构与储存结构线性链表属于[存储结构].
2.在面向对象方法中类之间共享属性和操作的机制称为[继承].
3.耦合和内聚是评价模块独立性的两个主要标准其中[内聚]反映了模块内个成分之间的联系.
4.一个项目具有一个项目主管一个项目主管可管理多个项目则实体“项目主管”与实体“项目”的联系属于[一对多]的联系
5.数据库设计分为以下6个设计阶段:需求分析阶段﹑[数据库概念设计阶段]﹑逻辑设计阶段﹑物理设计阶段﹑实施阶段﹑运行和维护阶段.模拟测试三
1.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡的相应位置上答在试卷上不得分.
1.算法的空间复杂度是指D A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)执行过程中所需要的存储空间 2.用链表示线性表的优点是( C ) A)便于随机存取 B)花费的存储空间较顺序储存少 C)便于插入和删除操作 D)数据元素的物理顺序与逻辑顺序相同 3.数据结构中,与所使用的计算机无关的是数据的( C ) A)存储结构 B)物理结构 C)逻辑结构 D)物理和存储结构 4.结构化程序设计主要强调的是( D ) A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性 5.软件设计包括软件的结构﹑数据接口和过程设计,其中软件的过程设计是指( B ) A)模块间的关系 B)系统结构部件转换成软件的过程描述 C)软件层次结构 D)软件开发过程 6.检查软件产品是否符合需求定义的过程称为( A ) A)确认测试 B)集成测试 C)验证测试 D)验收测试 7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符组成.下列图符名称标识的图符不属于数据流图合法图符的是( A ) A)控制流 B)加工 C)数据存储 D)源和潭 8.应用数据库的主要目的是( C ) A)解决数据保密问题 B)解决数据完整性问题 C)解决数据共享问题 D)解决数据量大的问题 9.在数据库设计中,将E-R图转换成关系数据模型的过程属于( B ) A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段
10.在数据管理技术的发展过程中,经历了人工管理阶段﹑文件系统阶段和数据库系统阶段.其中数据独立性最高的阶段是( A )A)数据库系统 B)文件系统 C)人工管理 D)数据项管理
2.填空题(每空2分)请将每一个空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.数据的逻辑结构有线性结构和[非线性结构]两大类.
2.顺序储方法是把逻辑上相邻的结点存储在物理位置和[相临]的存储单元中.
3.一个类可以从直接或间接的祖先中继承所有属性和方法.采用这个方法提高了软件的[可重用性].
4.软件工程研究的内容主要包括:[软件开发]技术和软件工程管理.
5.关系操作的特点是[逻辑数据模型]操作.模拟测试四
1.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡的相应位置上答在试卷上不得分.
1.在深度为5的满二叉树中叶子结点的个数为BA32B31C16D
152.若某二叉树的前序遍历是abdgcefh中序遍历是dgbaechf后序遍历的结点访问顺序是 D AbdgcefhaBgdbecfhaCbdgaechfDgdbehfca
3.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归应用.而实现递归调用中的储存分配通常用( A )A栈B堆C数组D链表
4.软件工程的理论和技术性研究的内容主要包括软件开发技术和BA消除软件危机B软件工程管理C程序设计自动化D实现软件可重用
5.开发软件时对提高开发人员工作效率至关重要的是BA操作系统的资源管理功能B先进的软件开发工具而后环境C程序人员的数量D计算机的并行处理能力
6.在软件测试设计中软件测试是主目的是DA实验性运行软件B证明软件正确C找出软件中全部错误D发现软件错误而执行程序
7.数据处理的最小单位是CA数据B数据元素C数据项D数据结构
8.索引属于 B A模式B内模式C外模式D概念模式
9.下述关于数据库系统的叙述中正确的是 B A数据库系统减少了数据冗余B数据库系统避免了一切冗余C数据库系统中的一致性是指数据类型一致D数据库系统比文件系统管理更多的数据
10.数据库系统的核心是BA数据库B数据库管理系统C模拟模型D软件工程二填空题每空2分请将每一个空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.树形结构中树根结点没有[前件].
2.Jackson结构化程序设计方法是英国的M.Jackson提出的它是一种面向
[12]的设计方法.
3.面向对象的模型中最基本的概念是对象和[数据结构].
4.软件设计模块化的目的是[类].
5.数据模型按不同应用层次分成3种类型它们是概念数据模型﹑[降低副杂性]和物理数据模型.模拟测试五一选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡的相应位置上答在试卷上不得分.
1.数据结构作为计算机的一门学科主要研究数据的逻辑结构﹑对各种数据结构进行的运算以及AA数据的存储结构B计算方法C数据映象D逻辑存储
2.串的长度是DA串中不同字符的个数B串中不同字母的个数C串中所含字符的个数且字符个数大于零D串中所含字符的个数
3.在计算机中算法是指BA加工方法B解题方案的准确而完整的描述C排序方法D查询方法
4.以下不属于对象的基本特征的是CA分类性B多态性C继承性D封装性
5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾这种现象称作BA软件投机B软件危机C软件工程D软件产生
6.下面不属于软件设计原则的是CA抽象B模块化C自底向上D信息隐蔽
7.开发大型软件时产生困难的根本原因是AA大系统的复杂性C人员知识不足C客观世界千边万化D时间紧﹑任务重8下列QSL语句中用于修改表结构的是AAALTERBCREATECUPDATEDINSERT
9.数据库﹑数据库系统和数据库管理之间的关系是BA数据库包括数据库系统和数据库管理系统B数据库系统包括数据库和数据库管理系统C数据库管理系统包括数据库和数据库系统D三者没有明显的包含关系
10.关系模型允许定义3类数据约束下列不属于数据约束的是CA实体完整性的约束B参照完整性的约束C域完整性的约束D用户自定义的完整性约束二填空题每空2分请将每一个空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.长度为n的顺序存储在线性表中当在任何位置上插上一个元素概率都相等时插入一个元素所需移动元素的平均个数为[n/2].
2.用树型结构表示实体类型及实体间联系的数据模型称为[层次模型].
3.类是一个支持集成的抽象数据类型而对象是类的[实例].
4.数据流图的类型有
[14]和事务型.
5.当数据的物理结构存储结构﹑存取方式等改变时不影响数据库的逻辑结构从而不致引起应用程序的变化这是指数据的[变换行].模拟测试六一.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡相应的位置上答在试卷上不得分.
1.假设线性表的长度为n则在最坏的情况下冒泡排序需要的比较次数为DAlog2n
2.算法分析的目的是DA找出数据结构的合理性B找出算法中输入和输出之间的关系C分析算法的易懂性和可靠性D分析算法的效率以求改进
3.线性表L=a下列说法正确的是 D A每个元素都有一个直接前件和直接后件B线性表中至少要有一个元素C表中诸元素的排列顺序必须是由小到大或由大到小D除第一个元素和最后一个元素外其余每个元素都有一个且只有一个直接前件和直接后件
4.在单链表中增加头结点的目的是AA方便运算的实现B使单链表至少有一个结点C标识表中首结点的位置D说明单链表是线性表的链式存储实现
5.软件工程的出现是由于CA程序设计方法学的影响B软件产业化的需要C软件危机的出现D计算机的发展
6.软件开发离不开系统环境的支持其中必要的测试数据属于DA硬件资源B通信资源C支持软件D辅助资源
7.在数据流图中带有名字的箭头表示DA模块之间的调用关系B程序的组成成分C控制程序的执行顺序D数据的流向
8.分布式数据库系统不具有的特点是DA数据分布性和逻辑整体性B位置透明性和复制透明性C分布性D数据冗余
9.关系表中的每一横行称为一个AA元组B字段C属性D码
10.下列数据模型中具有坚实理论基础的是CA层次模型B网状模型C关系模型D以上三个都是二.填空题每空2分请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
2.在算法正确的前提下评价一个算法的两个标准是[时间复杂度和空间复杂度].
3.将代数式z=转换成程序设计中的表达式为[SQRTx^2+y^2/a+b].
4.软件危机出现于20世纪60年代末为了解决软件危机人们提出了[软件工程学]的原理来设计软件这就是软件工程诞生的基础.
5.[数据模型]是数据库设计的核心.
6.在关系模型中把数据看成一个二维表每一个二维表称为一个[关系].模拟测试七一.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡相应的位置上答在试卷上不得分
1.下列叙述中正确的是AA线性表是线性结构B栈与队列是非线性结构C线性链表是非线性结构D二叉树是线性结构
2.非空的循环单列表head的尾结点由p所指向满足CAp-next==NULLBp==NULLCp-next=headDp=head
3.已知数据表A中每个元素距其最终位置不远为节省时间应采用的算法是BA堆排序B直接插入排序C快速排序D直接选择排序
4.对建立良好的程序设计风格下面描述正确的是AA程序应简单﹑清晰﹑可读性好B符号名的命名只要符合语法C充分考虑程序的执行效率D程序的注释可有可无
5.下列不属于结构化分析常用工具的是AA数据流图B数据字典C判定树DPAD图
6.在软件生产过程中需求信息的给出是DA程序员B项目管理者C软件分析设计人员D软件用户
7.下列工具中为需求分析常用的工具是DAPADBPFDCN-SDDFD
8.NULL是指CA0B空格C未知的值或无任何值D空字符串
9.数据库的故障恢复一般是由CA数据流图完成的B数据字典完成的CDBA完成的DPAD图完成的
10.下列说法中不属于数据模型所描述的内容的是CA数据结构B数据操作C数据查询D数据约束二.填空题每空2分请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.冒泡排序法在最好的情况下的元素交换次数为
[0].
2.在最坏的情况下堆排序需要比较的次数为[Olog2n].
3.若串s=“MathTypes”则其子串的数目是
[46].
4.软件开发环境是全面支持软件开发全过程的[软件工具]集合.
5.关系数据库的关系演算语言是以[谓词演算]为基础的DML语言.模拟测试八一.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡相应的位置上答在试卷上不得分.
1.循环链表的主要优点是BC不在需要头指针了D从表中任一结点出发都能访问到整个链表E在进行插入﹑删除运算时能更好地保证链表不断开F已知某个结点的位置后能够容易找到它的直接前件
2.栈底至栈顶依次存放元素ABCD在第五个元素E入栈前栈中元素可以出栈则出栈序列可能是BAABCDEBDCBEACDBCEADCDABE
3.n个顶点的强连通图的边数至少有CAn-1Bnn-1CnDn+
14.在结构化程序设计思想提出之前在程序设计中曾强调程序的效率现在在程序的效率相比人们更重视程序的CA安全性B一致性C可理解性D合理性
5.模块独立性是软件模块化所提出的要求衡量模块独立性的度量标准则是模块的CA抽象和信息隐蔽B局部化和封装化C内聚性和耦合性D激活机制和控制方法
6.软件开发的结构化生命周期方法将软件生命周期划分成AA定义﹑开发﹑运行维护B设计阶段﹑编程阶段﹑测试阶段C总体设计﹑详细设计﹑编程调试D需求分析﹑功能定义﹑系统设计
7.在软件工程中白盒测试法可用于测试程序的内部结构此方法将程序看作是AA路径的集合B循环的集合C目标的集合D地址的集合
8.在数据管理技术发展过程中文件系统与数据库系统的主要区别是数据库系统具有AA特定的数据模型B数据无冗余C数据可共享D专门的数据管理软件
9.数据库设计包括两个方面的设计内容它们是AA概念设计和逻辑设计B模式设计和内模式设计C内模式设计和物理设计D结构特性设计和行为特性设计
10.实体是信息世界中广泛使用的一个术语它用于表示CA有生命的事物B无生命的事物C实际存在的事物D一切事物二.填空题每空2分请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.常用的黑盒测试有等价分类法﹑[边值分析法]﹑因果图法和错误推测法4种.
2.测试的目的的暴露错误评价程序的可靠性;而[调试]的目的是发现错误的位置并改正错误.
3.软件维护活动包括以下几类:改正性维护﹑适应性维护﹑[完善性]维护和预防性维护.
4.在面向对象的设计中用来请求对象执行某一处理或回答某些信息的要求称为[消息].
5.关键字ASC和DESC分别表示[升序排列和降序排列]的含义.模拟测试九一.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡相应的位置上答在试卷上不得分
1.最简单的交换排序方法是DA快速排序B选择排序C堆排序D冒泡排序
2.栈通常采用的两种存储结构是AA线性存储结构和链表存储结构B列方式和索引方式C表存储结构和数组D线行存储结构和非线性存储结构
3.线性表的顺序存储结构和线性表的链式存储结构分别是(B)A)顺序存储的存储结构、顺序结构的存储结构B)随机存储的存储结构、顺序存储的存储结构C)随机存储的存储结构、随机存取的存储结构D)任意存储的存储结构、任意存储的存储结构4.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的方法是(A)A)黑盒测试法B)白盒测试法C)错误推测法D)安装测试法5.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(A)A)模块之间的调用关系B)程序的组成成分C)控制程序的执行顺序D)数据的流向6.下列选项中,不属于模块间耦合的是(C)A)数据耦合B)同构耦合C)异构耦合D)公用耦合7.一个关系中属性个数为1时,称此关系为(C)A)对应关系B)单一关系C)一元关系D)二元关系8.为用户与数据库系统提供接口的语言是(C)A)高级语言B)数据描述语言(DDL)C)数据操纵语言(DML)D)汇编总汇9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据数据不一致性和(D)A)可重用性差B)安全性差C)非持久性D)冗余性10.需求分析阶段的任务是确定(D)A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能二.填空题每空2分请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.1.栈和队列通常采用的存储结构[链式存储和顺序存储]2.在程序设计阶段应该采取[自顶向下]和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序3.软件结构是以[模块]为基础而组成的一种控制层次结构4.数据库系统阶段的数据具有较高的独立性,数据独立性包括物理独立性和[逻辑独立性]两个含义5.数据库保护分为安全性控制、[完整性控制]、并发性控制和数据的复制模拟测试十一.选择题每小题2分在下列各题的ABCD4个选项中只有1个选项是正确的请将正确选项填涂在答题卡相应的位置上答在试卷上不得分1.下列数据结构中,按先进后出原则组织数据的是(B)A)线性链表B)栈C)循环链表D)顺序表2.具有3个结点的二叉树有(D)A)2种形态B)4种形态C)7种形态D)5种形态3.设有如图所示二叉树对此二叉树前序列遍历的结果为(B)A)ZBTYCPXAB)ATBZXCYPC)ZBTACYXPD)ATBZXCPY4.结构化程序设计主要强调的是(D)A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序医读性5.程序的3种基本控制结构是(B)A)过程、子过程和分程序B)顺序、选择和循环C)递归、堆栈和队列D)调用、返回和转移6.下列叙述中,不属于测试的特征的是(C)A)测试的挑剔性B)完全测试的不可能性C)测试的可靠性D)测试的经济性7.需求分析中开发人员要从用户那里了解(A)A)软件做什么B)用户使用界面C)输入的信息D)软件的规模8.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(B)A)选择B)连接C)投影D)并9.下列叙述中,正确的是(C)A)用E-R图能表示实体间一对一的联系、一对多的联系和多对多的联系B)用E-R图只能表示实体集之间一对一的联系C)用E-R图只能表示实体集之间一对多的联系D)用E-R图表示的概念数据模型只能转换为关系数据模型10.“年龄在18~25之间”这种约束是属于数据库当中的(C)A)原子性措施B)一致性措施C)完整性措施D)安全性措施二.填空题每空2分请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.1.排序是计算机程序设计中一种重要操作,常见的排序方法有插入排序、[交换排序]和选择排序等2.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算这种情况称为[上溢]3.[封装]是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开4.为了便于对照检查,测试用例应由输入数据和预期的[输出结果]两部分组成5.[关系运算]是从二维表列的方向进行的运算模拟测试十一
1.选择题每小题2分在下列各题的AB.C.D4个选项中只有1个是正确的请将正确选项填在大答题卡上答在试卷上不给分.
1.根据数据结构中各数据元素之间前后件关系的复杂程度一般将数据结构分成CA动态结构和静态结构B紧凑结构和非紧凑结构C线新性结构和非线性结构D内部结构和外部结构
2.设一棵二叉树中有3个叶子结点有8个度为1的接点则该二叉树中总的接点数为BA12B13C14D
153.在下列几种排序方法中要求内存最大的是DA插入批排序B选择排序C快速排序D归并排序
4.下列叙述中不属于结构化程序设计方法的重要原则是BA自顶向下B由底向上C模板化D限制使用goto语句
5.下列不属于软件调试技术的是BA强行排错法B集成测试法C回嗍法D原因排除法
6.为了避免流程图在描述程序逻辑时的灵活性提出了用方框图来代替传统的程序流程图通常也把这种图称为BAPAD图BN-S图C结构图D数据流图
7.软件复杂性1度量的参数包括BA效率B规模C完整性D容错性
8.下列叙述中不属于数据库系统的是BA数据库B数据库管理系统C数据库管理员D数据库应用系统
9.数据库系统的核心是BA数据库B数据库管理系统C数据模型D软件工具
10.视图设计一般有3中设计次序下列不属于视图设计的是BA自顶向下B由外向内C由内向外D自底向上
3.填空题每空2分请将每一个空的正确答案写在答题卡11___15的横线上答在试卷不给分.
1.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的[时间复杂度和空间复杂度]
2.数据结构包括数据的逻辑结构.数据的[存储结构]以及对数据的操作运算
3.可以把具有相同属性的不同对象归类称为[对象类]
4.软件工程包括3个要素分别为方法.工具和[过程]
5.由关系数据库系统支持的完整性约束是指[实体完整性]和参照完整性模拟试题十二一选择题每小题2分)在下列各题的A.B.CD的4个选项中只有1个是正确的请将正确的选项涂写在答题卡的相应位置上答在试卷上不给分.
1.由两个栈共享一个存储空间的好处是BA减少存取时间降低下溢发生的机率B节省存储空间降低下溢发生的机率C减少存取时间降低上溢发生的机率D节省存储空间降低下溢发生的机率
2.设有两个串p和q求p和q中首次出现位置的运算称作BA连接B模式匹配C求子串D求串长
3.n个顶点的连接图中边的条数至少为CA0B1Cn-1Dn
4.对象实现了数据和操作的结合是指对数据和数据的操作进行CA结合B隐藏C封装D抽象
5.下列叙述中正确的是DA软件就是程序清单B软件就是存放在计算机中的文件C软件应包括程序清单和运算结果D软件包括程序和文档
6.软件设计中有利于提高模式独立性的一个准则是CA低内聚低藕合B低内聚高藕合C高内聚低藕合D高内聚高藕合
7.软件生命周期中花费时间最多的阶段是DA详细设计B而今编码C软件测试D软件维护
8.下列4项中说法不正确的是CA数据库减少了数据冗杂B数据库中的数据可以共享C数据库避免了一切数据的重复D数据库具有较高的数据的独立性
9.下列4项中必需进行查询优化的是AA关系数据库B网状数据库C层次数据库D非关系模型
10.最常用的一种基本数据模型是关系数据模型它的表示应采用DA树B网络C图D二维表二.填空题每空2分请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.当线系性表采用顺序存储时其主要特点是[逻辑结构中相临的结点在存储结构中仍相临]
2.软件工程的出现是由于[软件危机的出现]
3.单元测试又称模块测试一般采用[白盒法]测试
4.数据库恢复
5.是将数据库从[错误]恢复到某一已只的正确状态
7.数据的基本单位是[数据元素]二级公共基础知识习题1.下面叙述正确的是______CA.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数(指的是算法所占用的空间)C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对2.以下数据结构中不属于线性数据结构的是______CA.队列B.线性表C.二叉树D.栈3.在一棵二叉树上第5层的结点数最多是______B2n-1A.8B.16C.32D.154.下面描述中,符合结构化程序设计风格的是______AA.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口可以有0个入口C.注重提高程序的执行效率D.不使用goto语句(只是限制使用)5.下面概念中,不属于面向对象方法的是______DA.对象B.继承C.类D.过程调用6.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______BA.可行性分析B.需求分析C.详细设计D.程序编码7.在软件开发中,下面任务不属于设计阶段的是______DA.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型8.数据库系统的核心是______BA.数据模型B.数据库管理系统C.软件工具D.数据库9.下列叙述中正确的是______CA.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致10.下列模式中,能够给出数据库物理存储结构与物理存取方法的是______AA.内模式B.外模式C.概念模式D.逻辑模式11.算法的时间复杂度是指______CA.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数12.下列叙述中正确的是______AA.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构13.设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______BA.349B.350C.255D.35114.结构化程序设计主要强调的是______BA.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性15.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______DA.概要设计B.详细设计C.可行性分析D.需求分析16.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成下列图符名标识的图符不属于数据流图合法图符的是______AA.控制流B.加工C.数据存储D.源和潭17.软件需求分析阶段的工作,可以分为四个方面需求获取、需求分析、编写需求规格说明书以及______BA.阶段性报告B.需求评审C.总结D.都不正确18.下述关于数据库系统的叙述中正确的是______AA.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据19.关系表中的每一横行称为一个______AA.元组B.字段C.属性D.码20.数据库设计包括两个方面的设计内容,它们是______AA.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计21.算法的空间复杂度是指______DA.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间22.下列关于栈的叙述中正确的是______DA.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表23.在深度为5的满二叉树中,叶子结点的个数为______CA.32B.31C.16D.1524.对建立良好的程序设计风格,下面描述正确的是______AA.程序应简单、清晰、可读性好B.符号名的命名要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无25.下面对对象概念描述错误的是______AA.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性26.下面不属于软件工程的3个要素的是______DA.工具B.过程C.方法D.环境27.程序流程图(PFD)中的箭头代表的是______BA.数据流B.控制流C.调用关系D.组成关系28.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段其中数据独立性最高的阶段是______AA.数据库系统B.文件系统C.人工管理D.数据项管理29.用树形结构来表示实体之间联系的模型称为______BA.关系模型B.层次模型C.网状模型D.数据模型30.关系数据库管理系统能实现的专门关系运算包括______BA.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表31.算法一般都可以用哪几种控制结构组合而成______DA.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环32.数据的存储结构是指______BA.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据33.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______DA.调用语句B.命令C.口令D.消息34.检查软件产品是否符合需求定义的过程称为______AA.确认测试B.集成测试C.验证测试D.验收测试35.下列工具中属于需求分析常用工具的是______DA.PADB.PFDC.N-SD.DFD36.下面不属于软件设计原则的是______CA.抽象B.模块化C.自底向上D.信息隐蔽37.索引属于______BA.模式B.内模式C.外模式D.概念模式38.在关系数据库中,用来表示实体之间联系的是______DA.树结构B.网结构C.线性表D.二维表39.将E-R图转换到关系模式时,实体与联系都可以表示成______BA.属性B.关系C.键D.域40.在下列选项中,哪个不是一个算法一般应该具有的基本特征______CA.确定性B.可行性C.无穷性D.拥有足够的情报41.希尔排序法属于哪一种类型的排序法______BA.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法42.下列关于队列的叙述中正确的是______CA.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表43.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______BA.N+1B.NC.N+1/2D.N/244.信息隐蔽的概念与下述哪一种概念直接相关______BA.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度45.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______CA.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考46.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______CA.详细设计B.需求分析C.总体设计D.编程调试47.软件调试的目的是______BA.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能48.按条件f对关系R进行选择,其关系代数表达式为______CA.R|X|RB.R|X|RC.бfRD.∏fR49.数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______DA.自顶向下B.由底向上C.由内向外D.由整体到局部50.在计算机中,算法是指______CA.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法51.栈和队列的共同点是______CA.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点52.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______AA.cedbaB.acbedC.decabD.Deabc53.在下列几种排序方法中,要求内存量最大的是______DA.插入排序B.选择排序C.快速排序D.归并排序54.在设计程序时,应采纳的原则之一是______AA.程序结构应有助于读者理解B.不限制goto语句的使用C.减少或取消注解行D.程序越短越好55.下列不属于软件调试技术的是______BA.强行排错法B.集成测试法C.回溯法D.原因排除法56.下列叙述中,不属于软件需求规格说明书的作用的是______DA.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析57.在数据流图(DFD)中,带有名字的箭头表示______CA.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分58.SQL语言又称为______CA.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言59.视图设计一般有3种设计次序,下列不属于视图设计的是______BA.自顶向下B.由外向内C.由内向外D.自底向上60.数据结构中,与所使用的计算机无关的是数据的______CA.存储结构B.物理结构C.逻辑结构D.物理和存储结构61.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______DA.ABCEDB.DBCEAC.CDABED.DCBEA62.线性表的顺序存储结构和线性表的链式存储结构分别是______BA.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构63.在单链表中,增加头结点的目的是______AA.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现64.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______BA.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程65.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______BA.PAD图B.N-S图C.结构图D.数据流图66.数据处理的最小单位是______CA.数据B.数据元素C.数据项D.数据结构67.下列有关数据库的描述,正确的是______CA.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件68.单个用户使用的数据视图的描述称为______AA.外模式B.概念模式C.内模式D.存储模式69.需求分析阶段的任务是确定______DA.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能70.算法分析的目的是______DA.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进71.n个顶点的强连通图的边数至少有______CA.n-1B.nn-1C.nD.n+172.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______BA.堆排序B.直接插入排序C.快速排序D.直接选择排序73.用链表表示线性表的优点是______AA.便于插入和删除操作B.数据元素的物理顺序与逻辑顺序相同C.花费的存储空间较顺序存储少D.便于随机存取74.下列不属于结构化分析的常用工具的是______DA.数据流图B.数据字典C.判定树D.PAD图75.软件开发的结构化生命周期方法将软件生命周期划分成______AA.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计76.在软件工程中,白箱测试法可用于测试程序的内部结构此方法将程序看做是___CA.循环的集合B.地址的集合C.路径的集合D.目标的集合77.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______DA.数据无冗余B.数据可共享C.专门的数据管理软件D.特定的数据模型78.分布式数据库系统不具有的特点是______BA.分布式B.数据冗余C.数据分布性和逻辑整体性D.位置透明性和复制透明性79.下列说法中,不属于数据模型所描述的内容的是______CA.数据结构B.数据操作C.数据查询D.数据约束80.算法的复杂度主要包括______复杂度和空间复杂度答时间81.数据的逻辑结构在计算机存储空间中的存放形式称为数据的______答模式#逻辑模式#概念模式82.若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法答黑盒83.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体工人与实体设备之间存在______联系答一对多#1N#1:n84.关系数据库管理系统能实现的专门关系运算包括选择、连接和______答投影85.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种前序遍历、______遍历和后序遍历答中序86.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句答模块化87.软件的调试方法主要有强行排错法、______和原因排除法答回溯法88.数据库系统的三级模式分别为______模式、内部级模式与外部级模式答概念#概念级89.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程答数据存储90.设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点答25091.在最坏情况下,冒泡排序的时间复杂度为______答nn-1/2#n*n-1/2#Onn-1/2#On*n-1/292.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______答实体93.软件的需求分析阶段的工作,可以概括为四个方面______、需求分析、编写需求规格说明书和需求评审答需求获取94.______是数据库应用的核心答数据库设计95.数据结构包括数据的______结构和数据的存储结构答逻辑96.软件工程研究的内容主要包括______技术和软件工程管理答软件开发97.与结构化需求分析方法相对应的是______方法答结构化设计98.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性答参照完整性99.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型答概念100.栈的基本运算有三种入栈、退栈和______答读栈顶元素#读栈顶的元素#读出栈顶元素101.在面向对象方法中,信息隐蔽是通过对象的______性来实现的答封装102.数据流的类型有______和事务型答变换型103.数据库系统中实现各种数据管理功能的核心软件称为______答数据库管理系统#DBMS104.关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作答查询105.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的______答空间复杂度和时间复杂度106.数据结构包括数据的逻辑结构、数据的______以及对数据的操作运算答存储结构107.一个类可以从直接或间接的祖先中继承所有属性和方法采用这个方法提高了软件的______答可重用性108.面向对象的模型中,最基本的概念是对象和______答类109.软件维护活动包括以下几类改正性维护、适应性维护、______维护和预防性维护答完善性110.算法的基本特征是可行性、确定性、______和拥有足够的情报答有穷性111.顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中答相邻112.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法答数据结构113.数据库设计分为以下6个设计阶段需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段答概念设计阶段#数据库概念设计阶段114.数据库保护分为安全性控制、______、并发性控制和数据的恢复答完整性控制115.测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误答调试116.在最坏情况下,堆排序需要比较的次数为______答Onlog2n117.若串s=Program,则其子串的数目是______答29118.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体项目主管与实体项目的联系属于______的联系答1对多#1N119.数据库管理系统常见的数据模型有层次模型、网状模型和______三种答关系模型二级公共基础基础填空40题
1.算法的复杂度主要包括______复杂度和空间复杂度答时间
2.数据的逻辑结构在计算机存储空间中的存放形式称为数据的______答模式或逻辑模式或概念模式
3.若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法答黑盒
4.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体工人与实体设备之间存在______联系答一对多或1N或1:n
5.关系数据库管理系统能实现的专门关系运算包括选择、连接和______答投影
6.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种前序遍历、______遍历和后序遍历答中序
7.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句答模块化
8.软件的调试方法主要有强行排错法、______和原因排除法答回溯法
9.数据库系统的三级模式分别为______模式、内部级与外部级模式答概念或概念级
10.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程答数据存储
11.设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点答
25012.在最坏情况下,冒泡排序的时间复杂度为______答nn-1/2或n*n-1/2或Onn-1/2或On*n-1/
213.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体
14.软件的需求分析阶段的工作,可以概括为四个方面______、需求分析、编写需求规格说明书和需求评审答需求获取
15.______是数据库应用的核心答数据库设计
16.数据结构包括数据的______结构和数据的存储结构答逻辑
17.软件工程研究的内容主要包括______技术和软件工程管理答软件开发
18.与结构化需求分析方法相对应的是______方法答结构化设计
19.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性答参照完整性
20.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型答概念
21.栈的基本运算有三种入栈、退栈和______答读栈顶元素或读栈顶的元素或读出栈顶元素
22.在面向对象方法中,信息隐蔽是通过对象的______性来实现的答封装
23.数据流的类型有______和事务型答变换型
24.数据库系统中实现各种数据管理功能的核心软件称为______答数据库管理系统或DBMS
25.关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作答查询
26.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的______答空间复杂度和时间复杂度
27.数据结构包括数据的逻辑结构、数据的______以及对数据的操作运算答存储结构
28.一个类可以从直接或间接的祖先中继承所有属性和方法采用这个方法提高了软件的______答可重用性
29.面向对象的模型中,最基本的概念是对象和______答类
30.软件维护活动包括以下几类改正性维护、适应性维护、______维护和预防性维护答完善性
31.算法的基本特征是可行性、确定性、______和拥有足够的情报答有穷性
32.顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中答相邻
33.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法答数据结构
34.数据库设计分为以下6个设计阶段需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段答概念设计阶段或数据库概念设计阶段
35.数据库保护分为安全性控制、______、并发性控制和数据的恢复答完整性控制
36.测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误答调试
37.在最坏情况下,堆排序需要比较的次数为______答Onlog2n
38.若串s=Program,则其子串的数目是______答
2939.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体项目主管与实体项目的联系属于______的联系答1对多或1N
40.数据库管理系统常见的数据模型有层次模型、网状模型和______三种答关系模型全国计算机等级考试二级公共基础知识习题及答案第一章数据结构与算法一.选择题
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.栈是先进后出的线性表
8.在深度为5的满二叉树中叶子结点的个数为A.32B.31C.16D.
159.对长度为N的线性表进行顺序查找在最坏情况下所需要的比较次数为A.N+1B.NC.N+1/2D.N/
210.设树T的度为4其中度为1234的结点个数分别为
4211.则T的叶子结点数为A.8B.7C.6D.5二.填空题
1.对长度为n的有序线性表中进行二分查找需要的比较次数为
2.设一棵完全二叉树共有700个结点则在该二叉树中有个叶子结点
3.设一棵二叉树的中序遍历结果为DBEAFC前序遍历结果为ABDECF则后序遍历结果为
4.在最坏情况下冒泡排序的时间复杂度为
5.在一个容量为15的循环队列中若头指针front=6尾指针rear=9则该循环队列中共有个元素第一章参考答案一.选择题1.C
2.D
3.A
4.B
5.C
6.D
7.B
8.B
9.B
10.A二.填空题1log2n23503DEBFCA4NN-1/253第二章程序设计基础一.选择题
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.操作是对象的动态属性二.填空题1.结构化程序设计的三种基本逻辑结构为顺序、选择和()2.源程序文档化要求程序应加注释注释一般分为序言性注释和()3.在面向对象方法中,信息隐蔽是通过对象的()性来实现的4.类是一个支持集成的抽象数据类型,而对象是类的()5.在面向对象方法中,类之间共享属性和操作的机制称为()第二章参考答案一.选择题1.B
2.A
3.D
4.B
5.A二.填空题1重复(或循环)2功能性3封装4实例5继承转贴第三章软件工程基础一.选择题
1.在软件生命令周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()A.概要设计B.详细设计C.可行性研究D.需求分析
2.下面不属于软件工程的3个要素的是()A.工具B.过程C.方法D环境
3.检查软件产品是否符合需求定义的过程称为()A.确认测试B.集成测试C.验证测试D.验收测试
4.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成下列图符名标识的图符不属于数据流图合法图符的是A.控制流B.加工C.数据存储D.源和潭
5.下面不属于软件设计原则的是A.抽象B.模块化C.自底向上D.信息隐蔽
6.程序流程图(PFD)中的箭头代表的是()A.数据流B.控制流C.调用关系D.组成关系
7.下列工具中为需求分析的常用工具的是A.PADB.PFDC.N-SD.DFD
8.在结构化方法中软件功能分解属于下列软件开发中的阶段是A.详细设计B.需求分析C.总体设计D.编程调试
9.软件调试的目的是A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能
10.软件需求分析阶段的工作可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及()A.阶段性报告B.需求评审C.总结D.都不正确二.填空题
1.软件是程序、数据和()的集合.
2.Jackson方法是一种面向()的结构化方法
3.软件工程研究的内容主要包括()技术和软件工程管理
4.数据流图的类型有()和事务型
5.软件开发环境是全面支持软件开发全过程的()集合第三章参考答案一.选择题1.D
2.D
3.A
4.A
5.C
6.B
7.D
8.C
9.B
10.B二.填空题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.码
6.按条件f对关系R进行选择其关系代数表达式是A.R|×|RB.R|×|RC.σfRD.πf(R)7.关系数据管理系统能实现的专门关系运包括A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表8.在关系数据库中,用来表示实体之间联系的是()A.树结构B.网结构C.线性表D.二维表9.数据库设计包括两个方面的设计内容,它们是()A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计10将E-R图转换到关系模式时,实体与联系都可以表示成()A.属性B.关系C.键D.域二.填空题
1.一个项目具有一个项目主管,一个项目主管可管理多个项目则实体”项目主管”与实体”项目”的联系属于的联系.
2.数据独立性分为逻辑独立性和物理独立性.当数据的存储结构改变时,其逻辑结构可以不变因此基于逻辑结构的应用程序不必修改,称为
3.数据库系统中实现各种数据管理功能的核心软件称为
4.关系模型的完整性规则是对关系的某种约束条件包括实体完整性、和自定义完整性.
5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个()转贴于第四章参考答案一.选择题1.A
2.A
3.B
4.B
5.A
6.C
7.B
8.D
9.A
10.B三.填空题1一对多或1:N2逻辑独立性3数据库管理系统4参照完整性5关系转贴于
一、选择题(1)下列关于栈的叙述正确的是A栈是非线性结构 B栈是一种树状结构 C栈具有先进先出的特征 D栈具有后进先出的特征(2)结构化程序设计所规定的三种基本控制结构是A输入、处理、输出 B树形、网形、环形C顺序、选择、循环 D主程序、子程序、函数(3)结构化程序设计的一种基本方法是A筛选法 B递归法 C归纳法 D逐步求精法(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是A选择 B投影 C连接 D并
二、填空题1.对于输入为N个数进行快速排序算法的平均时间复杂度是( )2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是( )3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试( )4.关系型数据库管理系统中存储与管理数据的基本形式是( )C语言程序设计
一、选择题
(1)以下程序的输入结果是main{ inti=010j=10k=x10; printf%d%d%dijk;}A81016B81010C101010D101016
(2)指针s所指字符串的长度 char*s=NameAddress;A说法不合法B19C18D15
(3)C语言中最简单的数据类型包括A整型、实型、逻辑型B整型、实型、字符型C整型、字符型、逻辑型D整型、实型、逻辑型、字符型
(4)为表示关系x大于等于y大于等于z应使用C语言表达式A(x=YY=zBx=YANDy=zCx=Y=zDx=YY=z
(5)下列对C语言字符数组的描述中错误的是A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较
(6)以下说法中正确的是AC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main()函数中定义CC语言程序总是从main函数开始执行DC语言程序中的main函数必须放在程序的开始部分
(7)以下程序段的输出结果是intx=3;do{ printf%3dx-=2;}while!--x;A1B30C1-2D死循环
(8)设有如下定义char*aa
[2]={abcdABCD};则以下说法中正确的是Aaa数组元素的值分别是abcd和ABCDBaa是指针变量,它指向含有两个数组元素的字符型一维数组Caa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址Daa数组的两个元素中各自存放了字符a和A的地址
(9)设有以下定义inta
[4]
[3]={123456789101112};int*prt
[3]=a*p=a
[0];则下列能够正确表示数组元素a
[1]
[2]的表达式是A*((*prt+1
[2]B**p+5C*prt+1+2D**a+1+2
(10)以下程序的输出结果是futint**sintp
[2]
[3]{**s=p
[1]
[1];}main{ inta
[2]
[3]={1357911}*P; p=int*mallocsizeofint; futpa; print%*p;}A1B7C9D11
二、填空题
(1)表示条件10
(2)下列程序的输出结果是()#includemain{ charb[]=ABCDEFG; char*chp=b
[7]; while--chpb
[0] putchar*chp; putchar;}
(3)下列程序的输出结果是( ) intastintxintYint*cpint*dp{ *cp=x+y; *dp=x-y;}main{ intabcd; a=4;b=3; astabcd; print%d%dncd;}
(4)阅读程序 main{ charstr1[]=howdoyoudostr2
[10]; char*p1=str1*p2=str2; scanf%sp2; printf%sp2; printf%sp1;}运行上面的程序,输入字符串HOWDOYOUDO则程序的输出结果是()
(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志请填空#includemain{ FILE*fp; charchfname
[10]; printfInputthenameoffile; getsfname; getsfname; iffp=
[5]==NULL { printfCannotopen;exit0;} printfEnterdata; whilech=getchar!=# fputc
[6]fp; fclosefp;}
三、上机操作题
1.改错题下列给定程序中,函数fun的功能是逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串例如若a中的字符串为aBCDeFgHb中的字符串为ABcd则c中的字符串应为aBcdeFgH.请改正程序中的错误,使它能得到正确结果,注意不要改动main函数,不得增行或删行,也不得更改程序的结构试题程序#include#includevoidfunchar*pchar*qchar*c{ intk=1; while*p!=*q { if*p!*qc[k]=*q; elsec[k]=*p; if*pp++; if*qq++; k++; }}main{ chara
[10]=aBCDeFfHb
[10]=ABcdc
[80]={0}; funabc; printfThestringa:;putsa; ptintfThestringb:;putsb; printfTheresult:;putsc;
2.编程题请编写函数fun它的功能是求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数注意部分源程序给出如下请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句试题程序#includeconio.h#includestdio.hvoidfunint*aint*n{}main{ intaa
[1000]nk; clrscr; funaan; fork=0;k ifk+1%10==0printf; elseprintf%5daa[k];}二级(C语言程序设计)样题参考答案
一、选择题
(1)D2C3D4B
二、填空题1
[1]ONlog2N2
[2]功能模型3
[3]软件外部功能4
[4]二维表C语言程序设计
一、选择题(1A2D3B4A5C6C7C8D9D10C
二、填空题
(1)
[1](x10x100//x0或10或x0//x10x100或0x//10并且括号有无都可以)
(2)
[2]GFEDCB
(3)
[3]71
(4)
[4]HOWhowdoyoudo说明HOW和how之间有无空格均可)
(5)
[5]fopenfnamew说明w内以w开头的字符串均可)
[6]ch公共基础知识习题详解1下面叙述正确的是______A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对
(1)[答案]C[考点]程序设计基础[评析]时间复杂度在运行算法时所耗费的时间为fn(即n的函数)空间复杂度实现算法所占用的空间为gn(也为n的函数)A应为有关2以下数据结构中不属于线性数据结构的是______A.队列B.线性表C.二叉树D.栈
(2)[答案]C[考点]数据结构与算法[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列…;D是先进后出的线性表3在一棵二叉树上第5层的结点数最多是______A.8B.16C.32D.15
(3)[答案]B[考点]数据结构与算法[评析]依次从上到下,可得出第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂,如图所示 4下面描述中,符合结构化程序设计风格的是______A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句
(4)[答案]A[考点]程序设计基础[评析]B没这规定,模块之间的可以通过多个接口来耦合C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用)5下面概念中,不属于面向对象方法的是______A.对象B.继承C.类D.过程调用
(5)[答案]D[考点]软件工程基础[评析]面向对象=对象+类+继承+通过消息的通信对象一组属性及其上的操作的封装体类一组有相同属性和操作的对象的集合继承一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用消息对象间通信的手段D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D6在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______A.可行性分析B.需求分析C.详细设计D.程序编码
(6)[答案]B[考点]软件工程基础[评析]分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段软件工程中的瀑布模型问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,运行和维护相关链点层次图和HIPO图是概要设计中的工具图;程序流程图、N-S图、问题分析PAD图、设计程序语言PDL是详细设计中的工具图7在软件开发中,下面任务不属于设计阶段的是______A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型
(7)[答案]D[考点]软件工程基础[评析]A、B为概要设计中的,C为详细设计中的,D为分析阶段中的8数据库系统的核心是______A.数据模型B.数据库管理系统C.软件工具D.数据库
(8)[答案]B[考点]数据库设计基础[评析]数据库管理系统DBMS是数据库系统的核心,上层与用户打交道,底层与操作系统接口注意点数据库系统与数据库管理系统的区别前者指的一整套业务系统,包括用户、应用程序、DBMS及操作系统的支持9下列叙述中正确的是______A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致
(9)[答案]C[考点]数据库设计基础[评析]晕倒,数据库管理系统是人人都可设计的吗?那SYBASE和ORACLE等不都没饭吃了?普通人的数据库设计就是在DBMS的支持下设计几张表格,命几个名而已;D也错了的,数据库具有物理独立性和逻辑独立性,比如QQ是一个完整的数据库系统,我们使用的只是客户端应用程序,其数据库在腾讯的服务器上,物理独立性呢指的是数据库的底层结构改变了,而QQ的客户端不用变,对应地,逻辑独立性是指QQ的客户端改变了,数指据库的结构不用变了,否则,这么多QQ版本,那腾讯的服务器不是乱了套?10下列模式中,能够给出数据库物理存储结构与物理存取方法的是______A.内模式B.外模式C.概念模式D.逻辑模式
(10)[答案]A[考点]数据库设计基础[评析]通过前些题可知道,数据库的物理结构最底层,即对应内模式,对应的模式映像为内模式/模式(概念模式映像),逻辑独立性则对应于模式/外模式映像11算法的时间复杂度是指______A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数
(11)[答案]C[考点]数据结构与算法[评析]算法的复杂度分时间复杂度和空间复杂度时间复杂度在运行算法时所耗费的时间为fn即n的函数空间复杂度实现算法所占用的空间为gn(也为n的函数)称Ofn和Ogn为该算法的复杂度简单的例子比如常见的顺序结构时间复杂度为O11层循环里面次数为n,时间复杂度就是On2层循环fori=1tonforj=1ton算法时间复杂度为On2(里面为n的平方),复杂度主要用于算法的效率比较与优化,比如排序,查找…12下列叙述中正确的是______A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构
(12)[答案]A[考点]数据结构与算法[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)此题与
(2)题类似13设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______A.349B.350C.255D.351
(13)[答案]B[考点]数据结构与算法[评析]完全二叉树若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位置上,这样的二叉树为完全二叉树比如图 完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1比如图 此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=34914结构化程序设计主要强调的是______A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性
(14)[答案]B[考点]程序设计基础[评析]又是结构化的问题,何谓结构化?简单地比如VB:If...EndIfC:if..{...}Pascle:Begin...End我们在结构的中间写代码,从哪执行到哪结束我们能很快抓住!此题中重要性为BCD15在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______A.概要设计B.详细设计C.可行性分析D.需求分析
(15)[答案]D[考点]软件工程基础[评析]题中所述为需求分析可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实概要设计的任务是确定软件的总体结构、子结构和模块的划分详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口也许有人这么久了还不知道什么叫系统,什么叫模块晕倒,这里罗嗦一下,软件工程中的系统指的整个软件系统,比如QQ的所有东西,我们用的是客户端程序,实际的东西放在腾讯公司的服务器上,主要是数据库,包括在中间的传输过程,这一整个相关的东东都叫做OICQ的系统;什么叫模块,这里不单指如VB里的标准模块、类模块,也不单指一个窗体或者一个文件,宏观上讲,软件工程中把一种功能或相关功能把它做成一个模块,这个模块有可能是一个过程,有可能是一个函数…从功能角度度量模块内的联系为模块的内聚(一般来说越强越好,不易出错);模块之间的联系为耦合,比如我们编程中常用把一实参的值赋给了函数中的形参,使函数完成某一功能,耦合度越低越好,独立性就强;何谓独立性?比如我们二级编程都有考到全局变量、局部变量,函数中的局部变量独立性很强,函数外无法访问…何谓变量?晕~~~~~~~如果这都要说,那你可以不用考二级了16数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成下列图符名标识的图符不属于数据流图合法图符的是______A.控制流B.加工C.数据存储D.源和潭
(16)[答案]A[考点]软件工程基础[评析]数据流图用于需求分析阶段,在此阶段我们只考虑大致的数据流流向,而不关心内部具体的处理,以及如何在计算机上实现,不必讨论控制流,我们只关心的数据流、数据储存、变换/加工(相当于一个黑盒,不关心内部细节)、外部实体,数据流图通俗易懂,因为它远离了计算机,用户(无需懂编程)和软件人员都易接受比如一个简单的软件系统逻辑模型 输入流和输出流即D中的源和潭17软件需求分析阶段的工作,可以分为四个方面需求获取、需求分析、编写需求规格说明书以及______A.阶段性报告B.需求评审C.总结D.都不正确
(17)[答案]B[考点]软件工程基础[评析]评审(复审)每阶段都有,把前三个方面说完了,还剩什么呢?此题需要记一下,至于各名词的解释,顾名即可思义18下述关于数据库系统的叙述中正确的是______A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据
(18)[答案]A[考点]数据库设计基础[评析]关于数据管理技术的三个阶段如下
1.人工管理阶段人工管理数据的特点是:
(1)数据不保存
(2)数据无专门软件进行管理
(3)数据不共享
(4)数据不具有独立性
2.文件系统阶段该阶段的数据管理具有如下特点:
(1)数据可以长期保存
(2)由文件系统管理数据文件系统管理数据存在如下缺点:
(1)数据共享性差,数据冗余度大
(2)数据独立性差
3.数据库系统阶段与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:
(1)数据结构化
(2)数据共享性高、冗余度小、易扩充
(3)数据独立性高
(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:
(1)数据的安全性(security)保护
(2)数据的完整性(integrity)控制
(3)数据库恢复(recovery)
(4)并发(concurrency)控制
(5)事务(transaction)支持B错,为什么会有关系规范化理论,其主要目的之一是减少数据的冗余,说明数据库系统还存在一定的冗余;C错,数据完整性约束指一组完整性规则的集合,不一定是数据类型的一致性;D项也太菜鸟了吧,数据能管理存放多少数据主要看机子硬盘空间和一些相关的设置,比如在数据库管理系统中设置某个用户的空间最大为多少19关系表中的每一横行称为一个______A.元组B.字段C.属性D.码
(19)[答案]A[考点]数据库设计基础[评析]字段列,属性名属性实体的某一特性,如学生表中的学号、姓名…码(主健)元组(实体)的惟一标识,比如学生有同名的,但学号是惟一的比如表学号姓名性别院系0221301陈朝霞女油院矿机0221310周建峰男西南工业大学机电院0221326曾晓明男西南工业大学机电院0221315郭文广男西南工业大学机电院0123456茂叶男油院机电软件20数据库设计包括两个方面的设计内容,它们是______A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
(20)[答案]A[考点]数据库设计基础[评析]需求分析--(需求说明)--概念设计--(概念结构)--逻辑结构设计--(逻辑结构)--物理设计--(物理结构)--21算法的空间复杂度是指______A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
(21)[答案]D[考点]程序设计基础[评析]时间复杂度在运行算法时所耗费的时间为fn(即n的函数)空间复杂度实现算法所占用的空间为gn(也为n的函数)算法为什么会占用存储存空间主要是内存空间因为算法中的变量、地址等等通常保存在内存中(如果在虚存、缓存,甚至已在CPU中运行,也算占用了存储空间)22下列关于栈的叙述中正确的是______A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表
(22)[答案]D[考点]数据结构与算法[评析]此题为基本概念,必记,注意队列是先进先出的线性表,结合起来记不要搞混23在深度为5的满二叉树中,叶子结点的个数为______A.32B.31C.16D.15
(23)[答案]C[考点]数据结构与算法[评析]首先搞清楚满二叉树与完全二叉树之间的区别,前面已解释过依次从上到下,可得出第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂,如图所示 24对建立良好的程序设计风格,下面描述正确的是______A.程序应简单、清晰、可读性好B.符号名的命名要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无
(24)[答案]A[考点]程序设计基础[评析]结构化程序设计中力求程序的可读性(如代码清晰,结构明了,附加注释……),故D错;如果程序写的都是错的,谈何风格?如果符号名的命名不符合语法,编译会报错,也是很基本的错误,B错;追求程序的可读性要高于执行效率,C错25下面对对象概念描述错误的是______A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性
(25)[答案]A[考点]程序设计基础[评析]此题为基本概念,必记!这里举几个例子说明以助大家理解比如VB Command按纽类是个类,在窗体上画一个名为Command1的按纽即是创建该类的一个实例,也可创建另外一个实例如Command2,他们的属性可以调置为不同的,但是都是Command类的实例Command1Command2都是对象,它们封装了属性和方法,都是封装体,比如Name属性Caption属性……宏观上可说Command1的Move操作是动态属性,对象间的通读靠消息传递,比如在Command1的单击事件中写上Picture
1.Print消息传递Picture1是一个图片框对象,我们还可以调用Form_Load事件等等,都是通过消息传递的,即对象A向对象B发出消息,对象B执行怎样的操作C++classBase{Public:Base{}~Base{}...};classDerive:PublicBase{Public:...Print{Cout打印函数!endl;}};voidmain{Derivea;Base*p;...}Base为基类,Derive为基类上的派生类,它继承了基类的一些属性和方法等a为创建的实例,即是一个对象,它封装了类Derive的所有性性和方法,特别是私有的属性和方法,直接调用它们会失败,这就是类的封装性对象间的通讯是靠消息传递的,比如我们在内存中删除p所指的一个对象,用deletep语句会调用类Base的析构函数~Base;我们也可用a.Print语句来调用Derive类的Print函数,对象a具有类Derive的属性和方法(在C++中一般用函数来实现,比如Print,我们可以说这操作是对象a的动态属性)26下面不属于软件工程的3个要素的是______A.工具B.过程C.方法D.环境
(26)[答案]D[考点]软件工程基础[评析]这里阐述一下,以上答案为原稿的答案,有的书上答案应该为B,解释如下软件工程包括的三要素是软件开发方法学、工具和环境支持,而其主体内容是软件开发方法学
1、软件开发方法,比如根据瀑布模型有结构化分析与设计方法,有原型化开发方法
2、软件开发工具各个瀑存模型阶段都有相关工具,比如需求分析阶段有DFD数据流程图,详细设计阶段有HIPO图或PAD图,编码工具有VC、VB……
3、软件开发环境是全面支持软件开发全过程的软件工具集合如果你有权威且详尽的解释,还请邮给茂叶dj8529@sina.com或去我主页上留言此题的争论,意义性不大,燃眉之急是应负考试)软件工程三要素工具、方法、过程,请大家记一下27程序流程图(PFD)中的箭头代表的是______A.数据流B.控制流C.调用关系D.组成关系
(27)[答案]B[考点]软件工程基础[评析]如果A,那么B,否则C,这是我们二级中很熟悉的程序流程方式,我们可以画成相应的PFD图或N-S图易知箭头控制应该是哪条语句执行,即B答案28在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段其中数据独立性最高的阶段是______A.数据库系统B.文件系统C.人工管理D.数据项管理
(28)[答案]A[考点]数据库设计基础[评析]关于数据管理技术的三个阶段如下表
1.人工管理阶段人工管理数据的特点是:
(1)数据不保存
(2)数据无专门软件进行管理
(3)数据不共享
(4)数据不具有独立性
2.文件系统阶段该阶段的数据管理具有如下特点:
(1)数据可以长期保存
(2)由文件系统管理数据文件系统管理数据存在如下缺点:
(1)数据共享性差,数据冗余度大
(2)数据独立性差
3.数据库系统阶段与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:
(1)数据结构化
(2)数据共享性高、冗余度小、易扩充
(3)数据独立性高
(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:
(1)数据的安全性(security)保护
(2)数据的完整性(integrity)控制
(3)数据库恢复(recovery)
(4)并发(concurrency)控制
(5)事务(transaction)支持 29用树形结构来表示实体之间联系的模型称为______A.关系模型B.层次模型C.网状模型D.数据模型
(29)[答案]B[考点]数据库设计基础[评析]层次模型结构是一棵有向树,树中的每个结点代表一种记录类型,这些结点满足有且仅有一个结点无双亲(根结点),其它结点有且仅有一个双亲结点网状模型则相当于一个有向图,与层次模型结构不同的是一个结点可以有多个双亲结点,且多个结点可以无双亲结点关系模型则是二维表,一张表即为一个关系,这个很常见,如学生关系(学号,姓名,出生年月,性别),就像我们的办公软件中电子表格那样的表格D项的数据模型不是数据库的基本模型30关系数据库管理系统能实现的专门关系运算包括______A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
(30)[答案]B[考点]数据库设计基础[评析]此题为数据库的基本概念,如果你完全没学过数据库,可以对照办工软件的电子表格进行如下理解选择我们根据某条件选择出一行或多行元组(一个元组即为二维表中的一行)投影按字段(也称属性,比如学生关系学号,姓名,出生年月,性别,学号、姓名……都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)连接2个或2个以上的表连接组成一张新的表,通常有条件连接比如学生关系(学号,姓名,系号),又有一张系表(系号,系名,主任),2张表可以合并为一张这样的表(学号,姓名,系号,系名,主任)31算法一般都可以用哪几种控制结构组合而成______A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环
(31)[答案]D[考点]数据结构与算法[评析]结构化程序设计中,基本的控制结构为顺序、选择、循环各种具体的程序设计语言中的一些控制结构都可以划分到这些类中比如VB里的SelectCase语句、If...Elseif...Else...EndIf,C/C++中的switch、if{}……都属于选择控制结构相应的for循环和while语句都属于循环结构按从上到下顺序执行的即是顺序控制结构32数据的存储结构是指______A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据
(32)[答案]B[考点]数据结构与算法[评析]这是个基本概念题存储空间量只是数据的存储结构的一个属性,答案C也太片面,比如链表也是种存储方式,而非线性的还有树、图……我们所学的数据结构不涉及到数据在计算机外存(比如硬盘、软盘)具体的方式,而仅关心它们在内存中逻辑结构,比如数组,它是内存中一片连续的数据存储,我们对每一个元素都可以顺序地访问,只需要知道某一个元素的地址,其它数据元素的地址可以据库下标与数组类型(如字符型、整型……)所占的存储空间就可算出每个元素的地址,故顺序访问所有元素但是对于具体数据在内存中的物理存储,我们很少关心比如某个数组建立时,它的首地址具体是多少?它们在内存中的二进制表示是什么的?另,什么叫物理结构,什么叫逻辑结构,可以这样来理解,就好比物理结构是一个人的肉体,逻辑结构是一个人的灵魂,类似于计算机中硬件与软件的说法就好比我们上QQ,发送消息、接收消息,基本上近似大众人的思维,但发送消息与接收消息这些的具体技术过程或它们在CPU和硬盘上的活动,甚至二进制是什么呢?去问腾讯公司33设有下列二叉树对此二叉树中序遍历的结果为______A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
(33)[答案]B[考点]数据结构与算法[评析]该题原稿没图,故无从解释,此知识点的详解部分请看53题34在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______A.调用语句B.命令C.口令D.消息
(34)[答案]D[考点]程序设计基础[评析]通过消息机制太理论方面的不多说,现举例说明C++比如在VC++中,单击了一个菜单命令项退出,我们要实现退出程序,如何来实现?很简单,只要向窗体发送一个PostQuitMessage0;就可以关闭窗体这个在VB中还简单,三个字符End即可解决,相当于向所有窗体发送一个销毁窗体的消息,即Unload窗体名语句(如果是单个窗体的话,即相当于UnloadMe语句)VB PublicaAsIntegerPrivateSubCommand1_Clicka=20PrintaEndSubPrivateSubCommand2_ClickForm_Load这里调用Form_Load过程,实用a=10PrintaEndSubPrivateSubForm_Loada=10EndSub命令按纽Command2向其母窗体发送一个消息,使其为Command2服务Command2是CommandButton类的一个对象,主窗体是窗体类的一个对象关于类与对象的理解,请大家看前面的题的详解 35检查软件产品是否符合需求定义的过程称为______A.确认测试B.集成测试C.验证测试D.验收测试
(35)[答案]A[考点]软件工程基础[评析]A、C、D相近,但A为比较正规的说法名词确认测试也称合格测试或验收测试,主要由用户参加,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节单元测试主要采用白盒法,之后再采用集成测试,主要采用黑盒法这些主要由开发者的工作,而无用户参与,不是检查是否符合需求定义的什么叫白盒黑盒?相当于这样理解吧白盒测试,我们要注意到代码;黑盒,我们只关心程序运行的输入输出是否正确,一般是大量的测试,主要于非增量测试中使用,而非增量测试又一般适用于规模较小的系统开发可以想象,一个很大很复杂的系统,我们用黑盒法来集成测试,效果可想而知36下列工具中属于需求分析常用工具的是______A.PADB.PFDC.N-SD.DFD
(36)[答案]D[考点]软件工程基础[评析]PAD,问题分析图,常用于详细设计;PFD,程序流程图,常用于详细设计,我们很多如C、VB…程序设计书上都有简单的实例;N-S,方框图,比程序流程图更灵活,也常用于详细设计;DFD,数据流图,远离具体在计算机上的实现,不懂计算机的用户也能看懂,用于需求分析什么叫详细设计?它与我们编程有什么区别?这样理解吧,公司的高级程序员,就是软件设计师,他们会搞详细设计的(在概要设计之后),比如用PAD或N-S画个图,它不涉及具体的某种程序设计语言的实现,但程序员们都能看懂,程序员再用某种语言(比如C、VB、JAVA…)按照图来写代码这个过程,高级程序员完成设计工作,程序员完成写代码工作37下面不属于软件设计原则的是______A.抽象B.模块化C.自底向上D.信息隐蔽
(37)[答案]C[考点]软件工程基础[评析]我们无论是设计与编写代码,无论是画数据流图还是程序流图,习愦性思维都是先有输入才有输出,从下至下自底向上不是软件设计的原则38索引属于______A.模式B.内模式C.外模式D.概念模式
(38)[答案]B[考点]数据库设计基础[评析]要特别记住此题的答案索引的写入修改了数据库的物理结构,而不是简单的逻辑设计内模式规定了数据在存储介质上的物理组织方式、记录录址方式39在关系数据库中,用来表示实体之间联系的是______A.树结构B.网结构C.线性表D.二维表
(39)[答案]D[考点]数据库设计基础[评析]关系数据库中的关系,用二维表表示,A为层次数据模型的,B为网状数据模型的数据库模型分为层次模型、网状模型、关系模型、面向对象模型40将E-R图转换到关系模式时,实体与联系都可以表示成______A.属性B.关系C.键D.域
(40)[答案]B[考点]数据库设计基础[评析]基本概念题,实体与联系可以表示成关系,关系可以表示成二维表41在下列选项中,哪个不是一个算法一般应该具有的基本特征______A.确定性B.可行性C.无穷性D.拥有足够的情报
(41)[答案]C[考点]程序设计基础[评析]算法具有确定性、可行性,并拥有足够的情报42希尔排序法属于哪一种类型的排序法______A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法
(42)[答案]B[考点]数据结构与算法[评析]Shell排序法输入数组名称(也就是数组首地址)、数组中元素个数思想为在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助如果比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序当增量减到1时,整个要排序的数被分成一组,排序完成下面的函数是一个希尔排序算法的一个实现,初次取序列的一半为增量,以后每次减半,直到增量为1以C语言为例voidshell_sortint*xintn{inthjkt;forh=n/2;h0;h=h/2/*控制增量*/{forj=h;jn;j++/*这个实际上就是上面的直接插入排序*/{t=*x+j;fork=j-h;k=0t*x+k;k-=h{*x+k+h=*x+k;}*x+k+h=t;}}}故属于插入类排序法43下列关于队列的叙述中正确的是______A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表
(43)[答案]C[考点]数据构与算法[评析]队列是先进先出的,栈是先进后出的,2者的区别一定要搞清楚44对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______A.N+1B.NC.N+1/2D.N/2
(44)[答案]B[考点]数据结构与算法[评析]很简单,我们的二级程序设计语言书中都有此算法,另外还要掌握二分法查找,这也是我们二级中常考的那么二分法最坏的情况为多少次呢?log2n的最小整数值比如n为4,最坏的情况要比较3次;n为18,最坏的情况要比较5次二分法适用于已排序的顺序表(我们二级语言中都是数组),考二级书里的,这里不再罗嗦45信息隐蔽的概念与下述哪一种概念直接相关______A.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度
(45)[答案]B[考点]软件工程基础[评析]模块独立性越强,则信息隐蔽性越好举个例,VB在多重窗体设计时,每个窗体里的变量尽量与其它窗体里变量无关,比如少用Public声明的变量,即全局变量,当多个窗体共享全局变量越多时,窗体的独立性就越差C:头文件里的一些函数,一般不用到全局变量,否则在主程序里出乱子的情况很多,我们在模块化开发时,尽量使每个模块独立,强功能内聚,分工明确,调试程序也要方便得多C++考此项的朋友估计不用我多讲,类的封装性就是一个很好的说明 46面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
(46)[答案]C[考点]软件工程基础[评析]我们举个例,从各种语言的结构体类型出发,我们知道,结构体中可以定义很多变量,对每个变量执行相同的操作,挨个挨个写出,很麻烦假设该结构体有如下变量草鱼、田鱼、鲫鱼……它们都在一口池塘里,现在执行它们都上来传统的程序设计是草鱼上来田鱼上来鲫鱼上来……一条一条都写出,是不是很麻烦?改进一下,我们用个循环n等于从1到10(假设共有10种鱼)第n种鱼上来还是很麻烦,现实中我们很易想到用面向对象的思想,池塘里所有的鱼都是一个结构体变量,名为鱼,执行鱼上来意思即所有的鱼都上来现特定于面象对象语言中的类,鱼,就可以看作为一类这就属于C项使用现实世界的概念抽象地思考问题从而自然地解决问题这样罗嗦的解释望大家别晕,旨在帮助部分人的确难想通的,为应试,你能背下答案也行 47在结构化方法中,软件功能分解属于下列软件开发中的阶段是______A.详细设计B.需求分析C.总体设计D.编程调试
(47)[答案]C[考点]软件工程基础[评析]从先到后一排,是需求分析、总体设计、详细设计、编程调试需求分析远离在计算机上的实现,谈不上功能的分解;有了需求分析的报告,软件设计员可以思考我要让软件怎么做,开始总体设计,其间将软件的功能分解,确定模块之间的接口;有了每个模块功能的分解,再对每个模块进入详细设计阶段;接下来再是程序员的任务,编写代码,开始编程调试48软件调试的目的是______A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能
(48)[答案]B[考点]软件工程基础[评析]倒!一个程序调试是为了干什么?还不是为了改正错误?发现错误?这只是一个过程,改正错误之前必须先发现错误,总不能目的就仅为发现错误吧49按条件f对关系R进行选择,其关系代数表达式为______A.R|X|RB.R|X|RfC.бfRD.∏fR
(49)[答案]C[考点]数据库设计基础[评析]C是选择一行,D是投影一列,二者要区分开如果不仅谈此题的话,有关关系代数,内容有些多,这里不是一两句能说清,可以看看相关《数据库》的资料中的关系代数,里面写得很详细为应试,情急之下能记住几个题答案就行50数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______A.自顶向下B.由底向上C.由内向外D.由整体到局部
(50)[答案]D[考点]数据库设计基础[评析]通常有如下几种方法
1、自顶向下先全局框架,然后逐步细化
2、自底向上先局部概念结构,再集成为全局结构
3、由里向外先核心结构,再向外扩张
4、混合策略1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构51在计算机中,算法是指______A.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法
(51)[答案]C[考点]数据结构与算法[评析]A、B、D都过于片面,此题直接选答案也很简单52栈和队列的共同点是______A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点
(52)[答案]C[考点]数据结构与算法[评析]栈是先进后出的,队列是先进先出的,共同点是只允许在端点处插入和删除元素栈都是在一端进与出,而队列是在一端进在另一端出53已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______A.cedbaB.acbedC.decabD.deabc
(53)[答案]A[考点]数据结构与算法[评析]后序又叫后根,一次递归过程是先左再右最后根;中序是先左再根最后右比如下图 前序是abc中序是bac后序是bca题中据后序遍历序列,一眼得知c结点是根,那么据中序deba结点都在一边,或都在根结点左边,或右边;据中序遍历序列得知全在根结点的左边接下来据后序得出e结点是紧挨着c结点的左子女,再据中序得知d是e的左子女,ba是右子树再据后序得b是e的右子女,再据中序得a是b的右子女分析结果得二叉树图示如下 因为我茂叶数据结构是自学的,分析此类型的题我都是用自己的方法(递归分析的方法),要边分析边画图,一步一步连结起来,最后再根据题中的遍历检查图是否画对,如果都符合题目,最后再可根据图来得所求的遍历再次声明,此所有二级公基题全是我一人的思路写的,如果你觉得不可靠,可以看其它的书 54在下列几种排序方法中,要求内存量最大的是______A.插入排序B.选择排序C.快速排序D.归并排序
(54)[答案]D[考点]数据结构与算法[分析]我们对比一个排序方法的优越性有平均时间、最坏情况时间和辅助空间其中辅助空间一般是排序中需要额外的内存开销,这些内存开销一般据一些如中间变量(暂存变量)、比较与交换等等来决定插入排序和选择排序的辅助空间都是o1快速排序是onlog2n归并排序是on可知归并排序要求内存量最大,我们也可以从其变量及循环个数也以看出归并排序要求内存量最大55在设计程序时,应采纳的原则之一是______A.程序结构应有助于读者理解B.不限制goto语句的使用C.减少或取消注解行D.程序越短越好
(55)[答案]A[考点]程序设计基础[评析]前面的题中已解释过,二级的各种程序设计语言教程都会对结构化程序设有一定的介绍,比如goto语句的限制使用,基本上每本书上都会提到其中A,即易读性比程序的效率更显得重要,这是结构化程序设计原则提倡的,也是我们进行开发时非常重要的一点56下列不属于软件调试技术的是______A.强行排错法B.集成测试法C.回溯法D.原因排除法
(56)[答案]B[考点]软件工程基础[评析]耍个小聪明)我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的不用说答案就是B了)A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法测试有单元测试、集成测试、确认测试、系统测试比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误题外话很多人学软件工程时认为软件工程太无聊了,似乎全部都是些背背记记的东西,但对于一个软件构架师,软件工程是非常重要的,这就不能是些背背的东西了,最重要的是理解,要彻底地理解,还得有些开发经验才行《软件工程》这学科是从实践中得出来的,同样也需要赋予给实践中去,这样才有用!57下列叙述中,不属于软件需求规格说明书的作用的是______A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析
(57)[答案]D[考点]软件工程基础[评析]A、B、C都是作用,D说法有一定的错误,开发人员包括很多,比如程序员的工作就不是进行需求分析58在数据流图(DFD)中,带有名字的箭头表示______A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分
(58)[答案]C[考点]软件工程基础[评析]顾名思义,数据流图就是带有方框(外部实体)、圆圈(变换/加工)和带有名字的箭头以表示数据的流向需求分析中常用的分析图,它远离计算机上的具体实现,软件人员和用户都能看懂,有益于和用户交流59SQL语言又称为______A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言
(59)[答案]C[考点]数据库设计基础[评析]学VF和ACCESS的朋友轻而易举选出答案,考其它的朋友们若没学数据库技术这一章节,则要记一下了StructuredQueryLanguage结构化查询语言(语句)60视图设计一般有3种设计次序,下列不属于视图设计的是______A.自顶向下B.由外向内C.由内向外D.自底向上
(60)[答案]B[考点]数据库设计基础[评析]通常有如下几种方法
1、自顶向下先全局框架,然后逐步细化
2、自底向上先局部概念结构,再集成为全局结构
3、由里向外先核心结构,再向外扩张
4、混合策略1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构61数据结构中,与所使用的计算机无关的是数据的______A.存储结构B.物理结构C.逻辑结构D.物理和存储结构
(61)[答案]C[考点]数据结构与算法[评析]通过前面的一些题的解释,相信此题对大家也很简单了逻辑结构更接近人的思想,比如栈的先进后出的结构,这是逻辑结构,如果研究到了栈在内存中的结构,如地址、地址里的内容等等,这就是物理结构了,我们一般无须过于深入底层地钻研62栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______A.ABCEDB.DBCEAC.CDABED.DCBEA
(62)[答案]D[考点]数据结构与算法[评析]栈是先进后出的,因为在E放入前,A、B、C、D已经依次放进栈里了,故这四个元素出栈的顺序只能是D、C、B、A,E可是其中排序的任何位置,答案只有D符合了63线性表的顺序存储结构和线性表的链式存储结构分别是______A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构
(63)[答案]B[考点]数据结构与算法[评析]顺序存储结构可以以数组为例子,它在内存中的一片连续的储存空间,从第一个元素到最后一个元素,只要根据下标就可以访问二级的各种程序设计语言都有链式存储结构可以以C/C++语言中的链表为例,各个链结点无须存放在一片连续的内存空间,而只需要指针变量指过来指过去,实现随机存取64在单链表中,增加头结点的目的是______A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现
(64)[答案]A[考点]数据结构与算法[评析]举个例子,假如我们写一个实现链表删除一个元素的函数(或过程),供共享用,函数的参数有2个,一个指针变量(指向链表的头结点),一个字符变量(待删除的元素)通过链表头结点的指针传给函数的第一个指针变量参数,就可方便实现是哪一个链表的操作如果你考的科目没有指针,此题答案记一下就行了65软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程
(65)[答案]B[考点]软件工程基础[评析]相当于详细设计,比如N-S图就是一种,它不用具体的某种语言实现,但描述了程序的思路,有了这就可以很轻松转换为某种语言的程序源代码这是一种系统结构部件转换成软件的过程描述66为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______A.PAD图B.N-S图C.结构图D.数据流图
(66)[答案]B[考点]软件工程基础[评析]二级科目的很多教程都在前N-S图的例子,比如C语言教程基本上都有,程序流程图大部分科目也有例子这里再举个例子比如如果2等于3,则变量a=1否则a=0我们用N-S图表示 转换成VB If2=3Thena=1elsea=0EndIf转换成C/C++/JAVA if2==3a=1;elsea=0;67数据处理的最小单位是______A.数据B.数据元素C.数据项D.数据结构
(67)[答案]C[考点]数据结构与算法[评析]此题比较弱智,本来无从解释数据过于宏观,比如数据库里的所有内容都可叫数据,它是不是数据处理的最小单位呢?数据元素中的元素,如果要死钻牛角尖,的确没数据项说得更合适数据结构,这个范围又过于大了68下列有关数据库的描述,正确的是______A.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件
(68)[答案]C[考点]数据库设计基础[评析]A错,比如ACCESS数据库的文件是mdb格式的B错,数据库里可能有很多个二维表,一个二维表就是一个关系D错,虽有些数据库底层是些文件组成的,但是从逻辑结构上来说它与文件完全是2个概念,数据库管理比文件管理更容易、效率更高、安全性更强69单个用户使用的数据视图的描述称为______A.外模式B.概念模式C.内模式D.存储模式
(69)[答案]A[考点]数据库设计基础[评析]外模式、模式(概念模式)、内模式(存储模式),分别是视图级、概念级、物理级视图级即是用户使用的数据视图级,主要为局部逻辑结构,因为模式上很多个外模式,外模式到模式的映射定义了局部数据逻辑结构与全局逻辑结构之间的对应关系,表现了数据的逻辑独立性模式到内模式则表现了数据物理独立性70需求分析阶段的任务是确定______A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
(70)[答案]D[考点]软件工程基础[评析]据前面的题的解释,相信大家对需求分析有个理性认识了分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段,用户也参与,确定软件系统功能是一个重要的任务71算法分析的目的是______A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进
(71)[答案]D[考点]数据结构与算法[评析]为什么要讲各种各样的算法,只要达到功能不就行了吗?有些场合为了让程序效率更高,必须改进算法我们二级熟悉的算法改进,如二分法查找比顺序查找更快,仔细分析这些算法以求效率改进再比如选择排序、插值排序、冒泡排序,哪个效率高?我们分析算法,可知如果序列初始比较有序的情况下,冒泡法效率最高各种例子都说明D是正确答案72n个顶点的强连通图的边数至少有______A.n-1B.nn-1C.nD.n+1
(72)[答案]C[考点]数据结构与算法[评析]此题超纲不用看啦!图这一节超纲,软考的程序员的难度也不考的,等考三级也考不到,只有计算机四级与高级程序员或以上级别才考到关于图的概念,我们在这里结合树来讲通过前面的一些题,我们了解了树与二叉树,其实树也算是图的一种,树从上到下是一对多关系的,而图不单从上到下,而且可以是任意的多对多联系,它还可以有回路(结点与线合成回路),无方向的叫无向图,有箭头方向的叫有向图连通图(又叫弱连通图)有顶点间存在通路(就是2点间有条路径,从这可到那)(如果是有向图,则略去方向)强连通图图中任何两点都可相互到达(有向图不能略去方向)强连通图一定是弱连通图此题问要是强连通图至少应有的边数,我们可以设想个一个环的特例,假设箭头全部是顺时针(或逆时针),可以构成任何两点都可到达的强连通图,假设有n个顶点,我们很快得出它的边数也为n73已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______A.堆排序B.直接插入排序C.快速排序D.直接选择排序
(73)[答案]B[考点]数据结构与算法[评析]做此题时,我们可以回想一下每个选项的排序原理堆排序是边建堆边排序的过程,而建堆排序时的效率元素距其最终位置的远近关系不大插入排序是把每个元素挨个比较之前的元素,插入到合适的位置,这种排序的比较次数很不固定,它决定于每个元素距其最终位置快速排序的每一趟可确定一个元素的最终位置,但以某个元素为标准的比较次数还是得比较剩下所有的,它的最大的特点是序列初始无序的情况下排序最快(初始有序并不是每个元素距其最终位置不远,而是有一些最终相邻的元素初始已经相邻了或大致左右的顺序已经好了)直接选择排序,就是每一趟选择序列剩下的元素的一个最大值(或最小值)挨个排在首端(或尾端),是人脑最常使用的方法,所以被人脑最易理解在电脑上,这种排序效率不受其初始位置的影响茂叶特注上述解释都是我自己的理解,书上并没有如此解释,有错误还望大侠们指正!74用链表表示线性表的优点是______A.便于插入和删除操作B.数据元素的物理顺序与逻辑顺序相同C.花费的存储空间较顺序存储少D.便于随机存取
(74)[答案]A[考点]数据结构与算法[评析]我们知道,如果是紧凑排列的话,数组在删除一个其中一个元素时极为不方便,因为它需要把后面的元素都要往前移一个位置(插入的话则往后移)而用链表就绝然不同了,它只需要改变指针的指向,指向这指向那的,其它元素都不用动所以便于插入和删除操作75下列不属于结构化分析的常用工具的是______A.数据流图B.数据字典C.判定树D.PAD图
(75)[答案]D[考点]软件工程基础[评析]通过前面题的解释,数据流图属于分析阶段相信大家都有所了解了数据字典也是一种分析阶段的工具什么叫数据字典,我们可以这样理解假设给了你一个数据流图,但上面的文字说明,比如看书、练习、考试、拿证书…(假设这些是数据(知识)的处理过程,但可能有些人认为有个测试,实际上他的意思是考试,如果写在数据流图上,其它人认为是练习测试的意思,这就造成了数据流图不一致的理解,而数据流图是开发人员和用户都能看懂的,理解肯定是一致的所以必须有个数据字典,它标识了数据流图的所有名词述语,就好比我们用英汉词典一样,不会再有不一致的理解了判定树和判定表都是加工描述方法,当然也是分析阶段的PAD图(问题分析图)是详细设计阶段的工具,它的作用类似于程序流程图和N-S图关于程序流图和N-S图,二级很多科目都有介绍,前面的题中我也解释过76软件开发的结构化生命周期方法将软件生命周期划分成______A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计
(76)[答案]A[考点]软件工程基础[评析]我们可从一个软件的从无到有的过程来看,就是分析人员先分析,开发人员再开发,最终运行和维护77在软件工程中,白箱测试法可用于测试程序的内部结构此方法将程序看做是______A.循环的集合B.地址的集合C.路径的集合D.目标的集合
(77)[答案]C[考点]软件工程基础[评析]白盒测试,我们要深入源代码的内部;而黑盒测试,我们只关心输入与输出数据是否符合要求78在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______A.数据无冗余B.数据可共享C.专门的数据管理软件D.特定的数据模型
(78)[答案]D[考点]数据库设计基础[评析]文件根据一些压缩技术也可减少冗余,数据库也有冗余,只是比文件少;文件也可共享,只是比数据库共享性能差;也有专门的文件管理软件;数据库发展的模型依次是层次模型、网状模型、关系模型、面向对象模型其中关系模型目前应用最广泛79分布式数据库系统不具有的特点是______A.分布式B.数据冗余C.数据分布性和逻辑整体性D.位置透明性和复制透明性
(79)[答案]B[考点]数据库设计基础[评析]如果论特点,当然是优点,数据冗余是种害处,怎能论特点?何况分布式数据库还减少了冗余80下列说法中,不属于数据模型所描述的内容的是______A.数据结构B.数据操作C.数据查询D.数据约束
(80)[答案]C[考点]数据库设计基础[评析]数据模型的三要素
1.数据结构数据结构用于描述系统的静态特性在数据库系统中,通常按照其数据结构的类型来命名数据模型
2.数据操作数据操作用于描述系统的动态特征数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则操作有检索、插入、删除、修改
3.数据完整性约束数据完整性约束是一组完整性规则的集合完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容数据模型应该反映和规定本数据模型必须遵守的、基本的、通用的完整性约束此外,数据模型还应该提供定义完整性约束的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束二级C改错题100题填空题
1.{ifn1returnn*funn-1;elseifn==1return1;}
2.intfunintn{ifn==0return0;elseifn==1return1;elsereturnfunn-1+funn-2;}
3.voidfunchar*s{inti=0tn=strlens;for;s+is+n-1-i;i++{t=*s+i;*s+i=*s+n-1-i;*s+n-1-i=t;}}
4.doublefunintn{inti;doublesum=
0.0;ifn0n=100{fori=1;i=n;i++ifi%3==0||i%7==0sum+=
1.0/i;}returnsum;}
5.includestdio.hfloatfunfloatr{return
3.14159*r*r/
2.0;}main{floatx;printfEnterx:;scanf%fx;printfs=%f\nfunx;}6doublefundoubleq{intn;doubles;n=2;s=
2.0;whiles=q{s=s+doublen+1/n;n++;}printfn=%d\nn;returns;}
7.intc1c2c3;voidfunlongn{c1=c2=c3=0;whilen{switchn%10{case1:c1++;break;case2:c2++;break;case3:c3++;}n/=10;}}
8.main{{i++;printfnum[%d]=i;scanf%dnum[i];max=maxnum[i]num[i]:max;}whilenum[i]!=0;printfmax=%d\nmax;}
9.voidfunchar*sint*aint*b{while*s{if*s=A*s=Z*a++;if*s=a*s=z*b++;s++;}}main{chars
[100];intupper=0lower=0;printf\nPleaseastring:;getss;funsupperlower;printf\nupper=%dlower=%d\nupperlower;}
10.ifabmax=a;elsemax=b;ifmaxcmax=c;printfmax=%d\nmax;}
11.voidfunchar*s{intink;charc;n=0;fori=0;s[i]!=\0;i++n++;ifn%2==0k=n-1;elsek=n-2;c=s[k];fori=k-2;i=1;i=i-2s[i+2]=s[i];s
[1]=c;}
12.char*funchartt[]{inti;fori=0;tt[i];i++{iftt[i]=Att[i]=Ztt[i]+=32;}returntt;}
13.char*funintn{intim;m=1;fori=2;in;i++ifn%i==0{m=0;break;}ifm==1n1returnyes!;elsereturnno!;}
14.voidfunchar*s{inti=0;char*p=s;while*p{if*p=a*p=z{s[i]=*p;i++;}p++;}s[i]=\0;}
15.voidfunchar*strcharch{while*str*str!=chstr++;if*str!=ch{str
[0]=ch;str
[1]=0;}}{c=getchar;funsc;printf\nTheresultis%s\ns;}
16.intfunintn{intflag=0;ifn%4==0{ifn%100!=0flag=1;}ifn%400==0flag=1;returnflag;}
17.voidfuninta[]intb[]intn{inti;fori=0;i6;i++b[i]=0;fori=0;in;i++ifa[i]60b
[5]++;elseb[a[i]-60/10]++;}main{intia
[100]={938577685943947598}b
[6];funab9;printftheresultis:;fori=0;i6;i++printf%db[i];printf\n;}
18.intbb[N];intfunchar*strcharch{inti=0n=0;chart=ch;char*p=str;while*p{if*p==tbb[n++]=i;p++;i++;}returnn;}
19.intfunintscore[]intmintbelow[]{fori=0;im;i++ifscore[i]averbelow[j++]=score[i];returnj;}main{intinbelow
[9];intscore
[9]={102030405060708090};n=funscore9below;printf\nBelowtheaveragescoreare:;fori=0;in;i++printf%dbelow[i];}
20.voidfunintxintpp[]int*n{intij=0;fori=1;i=x;i+=2ifx%i==0pp[j++]=i;*n=j;}main{intxaa
[1000]ni;printf\nPleaseenteranintegernumber:\n;scanf%dx;funxaan;fori=0;in;i++printf%daa[i];printf\n;}
21.voidfunchar*s{intij=0k=0;chart1
[80]t2
[80];fori=0;s[i]!=\0;i++ifs[i]=0s[i]=9{t2[j]=s[i];j++;}elset1[k++]=s[i];t2[j]=0;t1[k]=0;fori=0;ik;i++s[i]=t1[i];fori=0;ij;i++s[k+i]=t2[i];}
22.voidfunchar*s{intijn;fori=0;s[i]!=\0;i++ifs[i]=0s[i]=9{n=0;whiles[i+1+n]!=0n++;forj=i+n+1;ji;j--s[j+1]=s[j];s[j+1]=*;i=i+1;}}
23.voidfunintx[]intn{doublesum=
0.0;doubleaverage=
0.0;inti;fori=0;in;i++sum+=x[i];average=sum/n;fori=0;in;i++ifx[i]average{printf%dx[i];}}
24.intfunintaintbintc{intt;t=abbcb:acc:a:aca:bcc:b;returnt;}
25.voidfuninta[]intn{intit;fori=0;in/2;i++{t=a[i];a[i]=a[n-1-i];a[n-i-1]=t;}}
26.voidfunintkintbb[]{inti;intj=0;fori=1;i=k;i++{ifk%i==0i%2==0bb[j++]=i;}printf\n\n;fori=--j;i=0;i--printf%dbb[i];}
27.intfunintn{intijcount=0;printf\nTheprimenumberbetween2to%d\nn;fori=2;i=n;i++{forj=2;ji;j++ifi%j==0break;ifj=i{count++;printfcount%15%5d:\n%5di;}}returncount;}
28.longfunintn{inti;longs;s=1;fori=1;i=n;i++s=s*i;returns;}main{longs;intkn;scanf%dn;s=0;fork=0;k=n;k++s=s+funk;printf%ld\ns;}
29.intfunintx{intis;s=0;fori=2;ix;i+=2s+=i;returns;}
30.unsignedlongfunchar*s{unsignedlongt=0;intk;inti=0;i=strlens;for--i;i=0;i--{k=s[i]-0;t=t*10+k;}returnt;}
31.voidfunchar*str1char*str2{inti=0;char*p1=str1;char*p2=str2;while*p1+ii++;for;*p2;i++*p1+i=*p2++;*p1+i=\0;}
32.doublefundoublex
[10]{inti;longt;doubleavg=
0.0;doublesum=
0.0;fori=0;i10;i++sum+=x[i];avg=sum/10;avg=avg*1000;t=avg+5/10;avg=doublet/100;returnavg;}
33.voidfuninta[]intn{intitp;p=n%2==0n/2:n/2+1;fori=0;in/2;i++{t=a[i];a[i]=a[p+i];a[p+i]=t;}}
34.voidfunchar*strintbb[]{char*p=str;inti=0;fori=0;i6;i++bb[i]=0;while*p{switch*p{caseA:casea:bb
[0]++;break;caseE:casee:bb
[1]++;break;caseI:casei:bb
[2]++;break;caseO:caseo:bb
[3]++;break;caseU:caseu:bb
[4]++;break;default:bb
[5]++;}p++;}}
35.voidfunchar*sint*num{intin=0;fori=0;i*num;i++{ifs[i]=as[i]=zs[i+1]==||s[i+1]==\0n++;}*num=n;}
36.intbb[N];intfunchars[]intbb[]intnum{intin=0;fori=0;inum;i++{ifs[i]=0s[i]=9{bb[n]=s[i]-0;n++;}}returnn;}
37.intfunintxx[]intbb[]intnum{intin=0;intgs;fori=0;inum;i++{g=xx[i]%10;s=xx[i]/10%10;ifg+s5bb[n++]=xx[i];}returnn;}
38.char*funintn{intgsb;g=n%10;s=n/10%10;b=n/100%10;ifg+b==sreturnyes!;elsereturnno!;}
39.main{charstr1[LEN]str2[LEN];intni;clrscr;printfEnterthestring:\n;getsstr1;printfEnterthepositionofthestringdeleted:;scanf%dn;fori=0;in;i++str2[i]=str1[i];str2[i]=\0;printfThenewstringis:%s\nstr2;}
40.main{charstr1[LEN]str2[LEN];char*p1=str1*p2=str2;inti=0j=0;clrscr;printfEnterthestring:\n;scanf%sstr1;printf******theorigialstring********\n;while*p1+j{printf%c*p1+j;j++;}fori=0;ij;i+=2*p2++=*str1+i;*p2=\0;printf\nThenewstringis:%s\nstr2;}
41.main{longintn;clrscr;printfEnterthedata:\n;scanf%ldn;printf******theorigialdata********\n;ifn0n=-n;printf\n\n;printf%ldn;}
42.main{intib
[11];char*str=de123456789abc0908;char*p=str;clrscr;printf******theorigialdata********\n;putsstr;fori=0;i11;i++b[i]=0;while*p{switch*p{case0:b
[0]++;break;case1:b
[1]++;break;case2:b
[2]++;break;case3:b
[3]++;break;case4:b
[4]++;break;case5:b
[5]++;break;case6:b
[6]++;break;case7:b
[7]++;break;case8:b
[8]++;break;case9:b
[9]++;break;default:b
[10]++;}p++;}printf******theresult********\n;fori=0;i10;i++printf\n%d:%dib[i];printf\nothercharactor:%db[i];}
43.voidfunchar*ttintnum[]{intij;intbb
[10];char*p=tt;fori=0;i10;i++{num[i]=0;bb[i]=0;}while*p{if*p=0*p=9bb[*p-0]++;p++;}fori=1j=0;i10;i=i+2j++num[j]=bb[i];}
44.#includestdio.h#includestring.hvoidfunchar*pchar*qchar*c{intk=0;while*p||*q{if*p*qc[k]=*q;elsec[k]=*p;if*pp++;if*qq++;k++;}}45voidfunchar*schar*t{ints1i;s1=strlens;fori=0;is1;i++t[i]=s[s1-i-1];fori=0;is1;i++t[s1+i]=s[i];t[2*s1]=\0;}
46.voidfunint*sinttint*k{intimax;max=s
[0];fori=0;it;i++ifs[i]max{max=s[i];*k=i;}}
47.intfunintxx[]intbb[]intnum{intin=0;intgb;fori=0;inum;i++{g=xx[i]%10;b=xx[i]/100;ifg==bbb[n++]=xx[i];}returnn;}
48.charstr[N];voidfunlongintn{inti=0;whilen0{str[i]=n%10+0;n/=10;i++;}str[i]=\0;}
49.main{floatabcdiscx1x2;clrscr;do{printfInputabc:;scanf%f%f%fabc;disc=b*b-4*a*c;ifdisc0printfdisc=%f\nInputagain!\ndisc;}whiledisc0;printf*******theresult*******\n;x1=-b+sqrtdisc/2*a;x2=-b-sqrtdisc/2*a;printf\nx1=%
6.2f\nx2=%
6.2f\nx1x2;}
50.#includestdio.h#includestring.h#includeconio.hvoidfunchars[]intn{chara
[80]*p;inti;p=s;fori=0;in;i++a[i]=*;do{a[i]=*p++;i++;}while*p;a[i]=0;strcpysa;}
51.main{intxyzt;clrscr;printfInputxyz\n;scanf%d%d%dxyz;ifxy{t=x;x=y;y=t;}/*交换xy的值*/ifxz{t=z;z=x;x=t;}/*交换xz的值*/ifyz{t=y;y=z;z=t;}/*交换zy的值*/printf******theresult*******\n;printffromsmalltobig:%d%d%d\nxyz;}
52.main{FILE*fp;inti=0;charch;charstr[N]=Imastudents!;clrscr;iffp=fopenout
52.datw==NULL{printfcannotopenout
52.dat\n;exit0;}whilestr[i]{ch=str[i];fputcchfp;putcharch;i++;}fclosefp;}
53.doublefunintn{intabck;doubles;s=
0.0;a=2;b=1;fork=1;k=n;k++{s=s+doublea/doubleb;c=a;a=a+b;b=c;}returns;}
54.char*funchar*str1char*str2{char*p1=str1*p2=str2;while*p1*p2{if*p1*p2return;if*p1*p2return;p1++;p2++;}if*p1==*p2return==;if*p1==\0return;elsereturn;}
55.intfunintnintmintbb[N]{intijk=0flag;forj=n;j=m;j++{flag=1;fori=2;ij;i++ifj%i==0{flag=0;break;}ifflag==1bb[k++]=j;}returnk;}floataver=0;clrscr;forj=2;j100;j++{flag=1;fori=2;ij;i++ifj%i==0{flag=0;break;}ifflag==1{n++;aver+=j;}}printf\n\naverage=%
4.2faver/n;}。