二级C语言公共基础知识教案

上传人:kfc****60 文档编号:240756949 上传时间:2024-05-05 格式:PPT 页数:267 大小:1.70MB
返回 下载 相关 举报
二级C语言公共基础知识教案_第1页
第1页 / 共267页
二级C语言公共基础知识教案_第2页
第2页 / 共267页
二级C语言公共基础知识教案_第3页
第3页 / 共267页
点击查看更多>>
资源描述
二二级公共基公共基础考前考前辅导Email:主主讲讲教教师师:陈浩浩南京南京邮电大学大学TD相关知识在二级考试中,占总分的30%数据结构与算法程序设计基础软件工程基础数据库设计基础各部分所占比例图数据结构与算法高频考点Top1:算法的基本概念Top2:算法的复杂度Top3:逻辑结构与存储结构Top4:线性结构与非线性结构Top5:栈Top6:队列Top7:链表Top8:二叉树及其基本性质数据结构与算法高频考点Top9:二叉树的遍历Top10:顺序查找Top11:二分法查找Top12:排序Top1:算法的基本概念知识点算法是解决算法是解决问题准确而完整的描述。准确而完整的描述。它是对特定问题求解步骤的一种描述,是指令的有限序列,其中每条指令表示一个或多个操作。严格来说,一个算法必须满足下面5个主要特性。Top1:算法的基本概念1.有有穷性:性:一个算法必须在执行有穷步之后结束(对任何合法的输入值),而且每一步都必须在有穷时间内完成。2.确定性:确定性:算法中每条指令必须有确定的含义,且在任何条件下,算法只有唯一的一条执行路径。3.可行性:可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。4.有有输入:入:一个算法可以有0个或多个输入。5.有有输出:出:一个算法必须有1个或多个输出。Top1:算法的基本概念真题分析(2008年4月)算法的有穷性是指A、算法程序的运行时间是有限的B、算法程序所处理的数据量是有限的C、算法程序的长度是有限的D、算法只能被有限的用户使用ATop1:算法的基本概念真真题分析分析(2005年4月)算法具有5个特性,下列选项中不属于算法特性的是A、有穷性B、简洁性C、可行性D、确定性BTop1:算法的基本概念练习题1、算法的五个重要特性是有穷性、确定性、有输入和有输出。可行性可行性Top2:算法的复杂度知知识点点衡量算法优劣的两个标准一个算法的优劣将影响到算法乃至程序的效率。算法分析的目的是在于选择合适的算法和改进算法。评价一个算法的好坏有两个标准:时间复复杂度度和空空间复复杂度。度。Top2:算法的复杂度1.算法的时间复复杂度度是指执行算法所需要的行算法所需要的计算工作量算工作量,可以用执行算法的过程中所需要的基本运算的基本运算的执行次数行次数来度量;2.算法的空空间复复杂度度是指执行这个算法所需要的内存空内存空间的大小。Top2:算法的复杂度真题分析(2007年4月)下列叙述中正确的是A、算法的效率只与问题的规模有关,而与数据的存储结构无关。B、算法的时间复杂度是指执行算法所需要的计算工作量。C、数据的逻辑结构与存储结构是一一对应的。D、算法的空间复杂度与时间复杂度一定相关。BTop2:算法的复杂度答案D:由算法的时间复杂度空间复杂度的定义可知,两者不相关。答案A:算法的执行效率不仅与问题的规模有关,而且还与数据的存储结构有关。答案C:数据的逻辑结构是指数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系的,是独立于计算机的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。Top2:算法的复杂度真题分析(2006年9月)下列叙述中正确的是A、一个算法的空间复杂度大,则其时间复杂度必定大。B、一个算法的空间复杂度大,则其时间复杂度必定小。C、一个算法的时间复杂度大,则其空间复杂度必定小。D、上述三种说法都不对。DTop2:算法的复杂度真题分析(2005年9月)算法的复杂度主要包括时间复杂度和复杂度。空空间Top2:算法的复杂度练习题1、算法的时间复杂度是指A、执行算法程序所需要的时间B、算法程序的长度C、算法执行过程中所需要的基本运算次数D、算法程序中的指令条数CTop2:算法的复杂度练习题2、算法的空间复杂度是指A、算法程序的长度B、算法程序中的指令条数C、算法程序所占用的存储空间D、算法执行过程中所占用的存储空间DTop2:算法的复杂度解析在算法执行时所需要的内在空间,其中包括:算法程序所占用的空算法程序所占用的空间、输入的初始数据所占的存入的初始数据所占的存储空空间以及算法算法执行行过程中所需要的程中所需要的额外空外空间,其中额外空间还包括算法执行过程中的工作单元以及某种数据结构所需要的附加存储空间。Top3:逻辑结构与存储结构知识点1.逻辑结构构是反映元素之间逻辑关系的,即前后件关系,分为线性性结构构(常见的有线性表、栈和列队)和非非线性性结构构(常见的有树和图)2.存存储结构构(物理结构)是数据的数据的逻辑结构在构在计算机存算机存储空空间中的存放形式中的存放形式。在数据的存储结构中,不仅要存放各种数据元素的信息,还要存放元素之间的前后件关系的信息。Top3:逻辑结构与存储结构知识点3.数据的数据的逻辑结构与数据的存构与数据的存储结构并不是一一构并不是一一对应的的。一般来说,一种数据的一种数据的逻辑结构根据需要可以表构根据需要可以表示成多种存示成多种存储结构构。常见的存储结构有顺序、序、链接、索引、散列接、索引、散列等。采用不同的存储结构,其数据的处理效率是不同的。Top3:逻辑结构与存储结构真题分析(2005年9月)下列叙述中正确的是A、一个逻辑数据结构只能有一种存储结构B、数据的逻辑结构属于线性结构,存储结构属于非线性结构。C、一个逻辑数据结构可以有多种存储结构,且种存储结构不影响数据处理的效率。D、一个逻辑数据结构可以有多种存储结构,且种存储结构影响数据处理的效率。DTop3:逻辑结构与存储结构真题分析(2005年9月)数据结构可以分为逻辑结构和存储结构,循环队列属于结构。循环队列是指将队列存储空间的最后一个位置绕到第一个位置,形成一个环状空间,供队列循环使用。所以循环队列是属于存储结构。存存储Top3:逻辑结构与存储结构真题分析(2005年4月)数据的存储结构是指A、存储在外存中的数据B、数据所占的存储空间C、数据在计算机中的顺序存储方式D、数据的逻辑结构在计算机中的表示DTop3:逻辑结构与存储结构真题分析(2007年9月)下列叙述中正确的是A、程序执行的效率与数据的存储结构密切相关B、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C、程序执行的效率只取决于所处理的数据量D、以上三种说法都不对ATop3:逻辑结构与存储结构练习题1、数据结构中,与所使用的计算机无关的是数据的A、存储结构B、物理结构C、逻辑结构D、逻辑结构和物理结构CTop3:逻辑结构与存储结构练习题2、在数据结构中,从逻辑上可以把数据结构分成A、动态结构和静态结构B、线性结构和非线性结构C、集合结构和非集合结构D、树形结构和图状结构BTop4:线性结构与非线性结构知识点1.根据数据结构中各数据元素之间前后件的复杂程序,一般将数据结构分为两大类型:线性结构和非线性结构。2.如果一个非空的数据结构满足下列两个条件:有且只有一个根结点每个结点最多有一个前件,也最多只有一个后件。则称该数据结构为线性结构。线性表是典型的典型的线性性结构,如构,如栈、队列、串。列、串。3.如果一个数据结构不是线性结构,则称为非非线性性结构。如多构。如多维数数组、广、广义表、表、树和和图等。等。Top4:线性结构与非线性结构真题分析(2006年9月)数据结构分为线性结构和非线性结构,带链的队列属于队列是特殊的线性表,可以采用顺序存储,也可以采用链式存储。所以带链的队列属于线性结构。线性性结构构Top4:线性结构与非线性结构真题分析(2006年4月)下列叙述中正确的是A、线性链表是线性表的链式存储结构B、栈与队列是非线性结构C、双向链表是非线性结构D、只有根结构的二叉树是线性结构ATop4:线性结构与非线性结构解析A、线性链表就是指线性表的链式存储结构,简称链表。线性表链式存储结构的基本单位称为存储结点,每个结点包括数据域和指针域两个部分。B、栈、队列和双向链表都是线性结构C、二叉树是非线性结构。D、线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。Top4:线性结构与非线性结构真题分析(2007年9月)下列叙述中正确的是A、数据的逻辑结构与存储结构必定是一一对应的B、由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C、程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D、以上三种说法都不对CTop4:线性结构与非线性结构真题分析(2008年9月)下列叙述中正确的是A、顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C、顺序存储结构能存储有序表,链式存储结构不能存储有序表D、链式存储结构比顺序存储结构节省存储空间ATop4:线性结构与非线性结构练习题1、下列叙述中正确的是A、线性表是线性结构B、栈与队列是非线性结构C、线性链表是非线性结构D、二叉树是线性结构ATop4:线性结构与非线性结构练习题2、以下数据结构中不属于线性数据结构的是A、队列B、线性表C、二叉树D、栈CTop4:线性结构与非线性结构练习题3、在数据结构中,用一组地址连续的存储单元依次存储数据元素的方式是A、动态结构B、紧凑结构C、线性结构D、非线性结构CTop5:栈知识点1.栈(堆栈STACK)是一种运算受限制的线性表。限制其只能在表的一端进行插入和删除操作,此端称为栈顶,栈顶的第一个元素称为栈顶元素,相对地,把另一端称为栈底。2.向一个栈插入新元素称为入栈,从栈中删除一个元素称为出栈出退栈。3.由于栈的插入和删除只能在一端进行,后进栈的元素必定先出栈,所以栈又称为后进先出表LIFO;先进栈的元素必定后出栈,所以栈又称为先进后出FILO表。Top5:栈栈底dcba栈顶入入栈出出栈结论:后:后进先出,先先出,先进后出后出栈顶栈顶栈顶Top5:栈真题分析(2006年9月)按“后进先出”原则组织数据的数据结构是栈Top5:栈真题分析(2006年4月)按照“后进先出”原则组织数据的数据结构是A、队列B、栈C、双向链表D、二叉树BTop5:栈真题分析(2005年9月)下列关于栈的描述中正确的是A、在栈中只能插入元素而不能删除元素B、在栈中只能删除元素而不能插入元素C、栈是特殊的线性表,只能在一端插入或删除D、栈是特殊的线性表,只能在一端插入,在另一端删除。CTop5:栈真题分析(2005年4月)下列关于栈的描述错误的是A、栈是先进后出的线性表B、栈只能顺序存储C、栈具有记忆作用D、对栈的插入和删除操作中,不需要改变栈底指针BTop5:栈真题分析(2008年4月)下列关于栈的叙述正确的是A、栈按“先进先出”组织数据B、栈按“先进后出”组织数据C、只能在栈底插入数据D、不能删除数据BTop5:栈真题分析(2008年9月)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBABTop5:栈练习题1、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A、e3,e1,e4,e2B、e2,e4,e3,e1C、e3,e4,e1,e2D、任意顺序BTop5:栈e4e3e2e1入入栈栈底栈顶栈顶栈顶e4e3e2e1栈底出出栈出出栈入入栈Top5:栈练习题2、下列关于栈的叙述中正确的是A、在栈中只能插入元素B、在栈中只能删除元素C、栈是先进先出的线性表D、栈是先进后出的线性表DTop6:队列知识点1.队列(QUEUE)简称队,和栈一样,也是一种运算受限制的线性表。其限制体现在仅允许在表的一端进行插入(队尾),在另一端进行删除(队首)。2.向队列中插入新元素称为进队或入队,新元素进入后就成为新的队尾元素;从队列中删除元素称为离队或出队,元素离队后,其后继元素成为队首元素。3.由于队列的插入和删除操作分别是在各自的一端进行的,每个元素必然按照进入的次序离队,所以队列称为先进先出表(FIFO),或后进后出表(LILO)Top6:队列e4e3e2e1队首入入队队尾队尾队尾出出队e4e3e2e1结论:先:先进先出,后先出,后进后出后出Top6:队列真题分析(2007年4月)下列队列的叙述中正确的是A、队列属于非线性表B、队列按“先进后出”原则组织数据C、队列在队尾删除数据D、队列按“先进先出”原则组织数据DTop6:队列真题分析(2008年9月)下列叙述中正确的是A、循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B、在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况C、在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况D、循环队列中元素的个数是由队头和队尾指针共同决定DTop6:队列循循环队列列rearfronte1front队列列为空空时,头指指针等于尾指等于尾指针e2front队列中元素个数列中元素个数为rear-frontTop6:队列e4e3e2e1循循环队列列frontreare7e6e5rearfronte8rear队头指指针大于大于队尾指尾指针时,元素个数,元素个数=队尾尾+m-队头e9e10rear队头指指针等于等于队尾指尾指针时,队列列满Top6:队列真题分析(2007年9月)线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的_存储结构.顺序序Top6:队列真题分析(2008年4月)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有个元素。24Top6:队列练习题1、栈和队列的共同特点是A、都是先进先出B、都是后进后出C、只允许在端点处插入和删除元素D、没有共同点CTop6:队列练习题2、下列关于队列的叙述中正确的是A、在队列中只能插入元素B、在队列中只能删除元素C、队列是先进先出的线性表D、队列是后进先出的线性表CTop6:队列练习题3、一个队列的入队序列是a,b,c,d,则队列的输出序列是A、d,c,b,aB、a,b,c,dC、a,d,c,bD、c,b,d,aBTop7:链表(单链表)知识点1.数据结构中,每个数据存储在一个存储单元中,这个存储单元称为“结点”。在链式(单链)存储方式中,要求每个结点由两部分组成:存放数据元素的数据域和存放指针的指针域。其中指针指向该结点的前一个或后一个结点。2.在链式存储结构中,存储数据结构的存存储空空间可以不可以不连续,各个数据结点存储顺序与数据元素的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针来确定的。3.线性表的链式存储结构称为线性链表。Top7:链表(单链表)20310051003110011002100310041005100610071008 head1 head23 单链表的逻辑结构 单链表的存储结构nullTop7:链表(单链表)真题分析(2005年4月)下列对于线性链表的描述中正确的是A、存储空间不一定是连续,且各元素的存储顺序是任意的。B、存储空间不一定是连续,且前件元素一定存储在后件元素的前面C、存储空间必定连续,且各前件元素一定存储在后件元素的前面D、存储空间必定连续,且各元素的存储顺序是任意的ATop7:链表(单链表)练习题1、用链表来表示线性表的优点是A、便于随机存取B、花费的存储空间较顺序存储少C、便于插入和删除操作D、数据元素的物理顺序与逻辑顺序相同CTop7:链表(单链表)练习题2、线性表的链式存储结构是一种的存储结构A、随机存储B、顺序存储C、索引存储D、散列存储B线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针指向一个与本结点有逻辑关系的结点,此类存储属于顺序存储Top8:二叉树及其基本性质知识点1.树是一种非线性结构,所有数据元素之间的关系具有明显的层次性。ABCDEFGHI结点度叶子宽度深/高度Top8:二叉树及其基本性质知识点2.二叉树具有两个特点:非空二叉树只有一个根结点每一个结点最多有两棵子树,且分另称为左子树和右子树ABCDEGFTop8:二叉树及其基本性质知识点3.二叉树的性质在二叉树中,第i层上的结点数不超过2i-1深度为h(h1)的二叉树最多有2h-1个结点,最少有h个结点对于任意一棵二叉树,如果其叶子结点数(度为0)为x,而度为2的结点总数为Y,则X=Y+1具有n个结点的完全二叉树的深度为int(log2n)+1Top8:二叉树及其基本性质知识点4.完全二叉树:除最后一层外,每一层上的结点都达到最大值(2),在最后一层上的结点都集中在该层最左边的若干位置,也就是说,只能缺少右边的若干结点。ABCDEGFABCDEHFGTop8:二叉树及其基本性质ABCDEHFGABCDEHFGI完全二叉完全二叉树特点:有特点:有n个个结点的完全二叉点的完全二叉树,其深度,其深度为 log2n+1Top8:二叉树及其基本性质知识点5.满二叉树:除最后一层外,其它每一层上的结点都有两个子结点。ABCDEFEABCTop8:二叉树及其基本性质真题分析(2007年4月)某二叉树中有n个度为2的结点,则该二叉树中,叶子结点数为A、n+1B、n-1C、2nD、n/2ATop8:二叉树及其基本性质真题分析(2007年4月)在深度为7的满二叉树中,度为2的结点个数为27-1=N0+N2N2=N0-1127=N0+(N0-1)N0=64,N2=6363Top8:二叉树及其基本性质真题分析(2005年9月)一棵二叉树第六层(根结点为第1层)的结点数最多为个二叉二叉树性性质在二叉在二叉树中,第中,第i层上的上的结点数不超点数不超过2i-132Top8:二叉树及其基本性质真题分析(2006年4月)在深度为7的满二叉树中,叶子结点的个数为A、32B、31 C、64 D、63C满二叉二叉树每一每一层上的上的结点数都是最大点数都是最大结点数点数2i-1Top8:二叉树及其基本性质真题分析(2005年4月)某二叉树中,度为2的结点数有18个,则该二叉树中有个叶子结点。19Top8:二叉树及其基本性质真题分析(2007年9月)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A、219B、221C、229D、231ATop8:二叉树及其基本性质真题分析(2008年4月)深度为5的满二叉树有个叶子结点。16Top8:二叉树及其基本性质练习题1、在一棵二叉树第5层上的结点数最多是个A、8B、16 C、32 D、15BTop8:二叉树及其基本性质练习题2、在深度为5的满二叉树中,叶子结点的个数为A、32B、31 C、16 D、15CTop8:二叉树及其基本性质练习题3、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为A、349B、350C、255D、351BABCDEFGTop9:二叉树的遍历知识点1.遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,所每个结点都被访问一次,且仅被访问一次。2.按访问根根结点点先后顺序,遍历分为先序遍历,中序遍历和后序遍历。Top9:二叉树的遍历ABCDEFG先序遍先序遍历:先:先访问根根结点,然后点,然后访问左子左子树,最后,最后访问右子右子树。H后序遍后序遍历结果果为:ABDHECFGTop9:二叉树的遍历ABCDEFG中序遍中序遍历:先:先访问左子左子树,然后,然后访问根根结点,最后点,最后访问右子右子树。H后序遍后序遍历结果果为:DHBEAFCGTop9:二叉树的遍历ABCDEFGH后序遍后序遍历:先:先访问左子左子树,然后右子,然后右子树,最后根,最后根结点。点。后序遍后序遍历结果果为:HDEBFGCATop9:二叉树的遍历真题分析(2007年4月)对下列二叉树,进行前序遍历的结果是A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZABCDEFXYZCTop9:二叉树的遍历真题分析(2006年9月)对下列二叉树,进行中序遍历的结果是A、ACBDFEGB、ACBDFGEC、ABDCGEFD、FCADBEGFCEADBGATop9:二叉树的遍历真题分析(2007年9月)对下列二叉树进行中序遍历的结果为FCEADBGHPACBDFEHGPTop9:二叉树的遍历真题分析(2008年9月)对下列二叉树进行中序遍历的结果是ADXBCEFYZDBXEAYFZCTop9:二叉树的遍历练习题1、已经二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历顺序是A、acbedB、decabC、deabcD、cedba C d a b eDTop9:二叉树的遍历练习题2、在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、和后序遍历。中序遍中序遍历Top10:顺序查找知识点1.顺序查找是一种最基本和最简单的查找方法,它的思路就是拿给定的值与表中的元素逐一比较,直到两者相同,表示查找成功,否则查找失败。2.对于大的线性表而言,顺序查找的效率很低。但是对于无序线性表,或者线性表虽然有序,但是采用链式存储时,都只能使用顺序查找。Top10:顺序查找63801755最坏情况:比最坏情况:比较n次次66380175最好情况:比最好情况:比较1次次Top10:顺序查找真题分析(2006年9月)在长度为64的有序线性表中进行顺序查找,最坏情况下,需要比较的次数为A、63B、64 C、6D、7BTop10:顺序查找真题分析(2005年4月)对于长度为n的线性表进行顺序查找,在最坏情况下,所需要比较的次数为A、log2nB、n/2C、nD、n+1CTop10:顺序查找练习题1、对长度为n的无序线性表进行查找,应该使用查找。顺序序Top11:二分法查找知识点二分查找是针对顺序存序存储的有序表的有序表进行查找的简单、有效而又较常用的方法。06356817最坏情况:比最坏情况:比较log2n次次05356817最好情况:比最好情况:比较1次次Top11:二分法查找真题分析(2005年9月)下列数据结构中,能用二分法查找的是A、顺序存储的有序线性表B、线性链表C、二叉链表D、有序线性链表ATop11:二分法查找真题分析(2008年9月)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A、O(N)B、O(n2)C、O(log2n)D、O(nlog2n)CTop11:二分法查找练习题1、有一个有序表为1,3,9,12,32,41,45,62,75,77,82,95,100当二分查找为82的结点时,次比较后查找成功。A、1B、2C、4D、8CTop12:排序知识点排序是将一个无序序列整理成一个按值非递减顺序排列的序列。03568176380175Top12:排序知识点常用的排序方法有:1.交换类排序冒泡排序法,需要比较的次数为n(n-1)/2快速排序法,最坏情况需要比较n(n-1)/2次2.插入类排序简单插入排序法,最坏情况需要比较n(n-1)/2次希尔排序法,最坏情况需要比较O(log21.5)次3.选择类排序简单选择排序法,最坏需要比较n(n-1)/2次堆排序法,最坏情况需要O(nlog2n)次比较Top12:排序(冒泡)6380175原始序列第一遍3608517第二遍065817第三遍33065第四遍305第五遍30Top12:排序真题分析(2006年4月)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数是n(n-1)/2=45Top12:排序真题分析(2005年4月)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数正确的是A、冒泡排序n/2B、冒泡排序nC、快速排序nD、快速排序为n(n-1)/2DTop12:排序真题分析(2007年9月)冒泡排序在最坏情况下的比较次数是A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2CTop12:排序真题分析(2008年4月)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A、快速排序B、冒泡排序C、直接插入排序D、堆排序DTop12:排序练习题1、已经数据表A中每个元素距其最终位置不远,为节省时间,应采用的排序算法是A、堆排序B、插入类排序C、快速排序D、直接选择排序BTop12:排序练习题2、在待排序的元素序列基本有序的前提下,效率最高的排序方法是A、冒泡排序B、选择排序C、快速排序D、归并排序A程序设计基础高频考点Top1:程序设计方法与风格Top2:结构化程序设计Top3:面向对象方法Top1:程序设计方法与风格知识点养成良好的程序设计风格(清晰第一,效率第二清晰第一,效率第二),主要考虑下述要素:1.源程序文档化符号命名要见名知义要有正确的注释程序层次清晰2.数据说明的方法数据说明的次序规范说明语句中变量安排有序化使用注释说明复杂数据结构3.语句的结构:程序应简单易懂,语句构造应该简单直接,避免滥用goto语句。4.输入和输出:输入输出的格式应尽可能方便用户使用。Top1:程序设计方法与风格真题分析(2006年9月)下列选项中不符合良好的程序设计风格的是A、源程序要文档化B、数据说明的次序要规范化C、避免滥用goto语句D、模块设计要保证高耦合,低内聚DTop1:程序设计方法与风格真题分析(2007年9月)下列叙述中,不符合良好程序设计风格的是A、程序的效率第一,清晰第二B、程序的可读性好C、程序中有必要的注释D、输入数据前要有提示信息ATop1:程序设计方法与风格练习题1、对建立良好的程序设计风格,下面描述正确的是A、程序应简单、清晰、可读性好B、符号名的命名只要符合语法C、充分考虑程序的执行效率D、程序的注释可有可无ATop2:结构化程序设计知识点1.结构化程序设计主要目的是使程序结构良好、易读、易理解、易维护。主要原则包括:自顶向下逐步求精模块化限制使用goto语句Top2:结构化程序设计知识点2.结构化程序设计方法可用三种基本结构实现:顺序结构选择结构(条件)循环结构Top2:结构化程序设计知识点3.在结构化程序实施中,要把握如下要素:使用程序语言中的顺序、选择、循环等控制结构表示程序的控制逻辑。选用的控制结构只准许有一个入口和一个出口。程序语句组成容易识别的程序专项,每块只有一个入口和一个出口。复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。Top2:结构化程序设计真题分析(2006年4月)下列选项中,不属于结构化程序设计方法的是A、自顶向下B、逐步求精C、模块化D、可复用D可复用性是指在可复用性是指在软件不加修改或稍加修改件不加修改或稍加修改就可在不同就可在不同软件开件开发过程中重复使用的性程中重复使用的性质。软件可复用性是件可复用性是软件工程追求的目件工程追求的目标之一。之一。面向面向对象方法具有可复用性。象方法具有可复用性。Top2:结构化程序设计真题分析(2008年4月)结构化程序设计的基本原则不包括A、多态性B、自顶向下C、模块化D、逐步求精ATop2:结构化程序设计真题分析(2007年9月)下列叙述中,不符合良好程序设计风格的是A、程序的效率第一,清晰第二B、程序的可读性好C、程序中有必要的注释D、输入数据前要有提示信息ATop2:结构化程序设计练习题1、下列描述中,符合结构化程序设计风格的是A、使用顺序、选择和循环三种基本控制结构表示程序的控制逻辑B、模块只有一个入口,可以有多个出口C、注重提高程序的执行效率D、不使用goto语句ATop3:面向对象方法知识点1.对象(Object):对象是用来表示客观世界中的任何实体。面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它是由一由一组表示其静表示其静态特征的属性和它可特征的属性和它可执行的一行的一组操作操作组成成。2.类(Class)和实例(Instance):将属性、操作类似的对象归为类,类是具有共同属性、共同是具有共同属性、共同方法的方法的对象的集合象的集合;一个具体一个具体对象称象称为类的的实例。例。Top3:面向对象方法知识点3.消息(Message):面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互相互合作需要一个机制合作需要一个机制协助进行,这个机制称称为“消息消息”。“消息”是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。Top3:面向对象方法知识点4.继承(Inheritance):继承是面向对象的方法的一个主要特征。继承是使用已有的类定义作为基础(直接获得已有的性质和特征)建立新类的定义技术。已有的类可以当做基类使用,则新类可当做派生类使用。5.多态性(Polymorphism):对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。6.封装性:外面只有看到对象的外部特征,对象的内部状态对外是不可见的。继承性、多承性、多态性和封装性是面向性和封装性是面向对象程序象程序设计的的3 3个主要特征。个主要特征。Top3:面向对象方法真题分析(2007年4月)下面选项中不属于面向对象特征的是A、继承性B、多态性C、类比性D、封闭性DTop3:面向对象方法真题分析(2006年4月)在面向对象方法中,描述是具有相似属性与操作的一组对象。类Top3:面向对象方法真题分析(2005年4月)在面向对象方法中,类的实例称为对象象Top3:面向对象方法真题分析(2007年9月)在面向对象方法中,实现信息隐蔽是依靠A、对象的继承B、对象的多态C、对象的封装D、对象的分类CTop3:面向对象方法真题分析(2008年9月)在面向对象方法中,不属于“对象”基本特点的是A、一致性B、分类性C、多态性D、标识唯一性ATop3:面向对象方法练习题1、在面向对象方法中,类之间共享属性和操作的机制称为继承承Top3:面向对象方法练习题2、在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为消息消息软件工程基础高频考点Top1:软件工程基本概念Top2:软件生命周期Top3:软件设计基本概念Top4:软件设计的基本原理Top5:结构化分析方法Top6:软件测试的目的和测试的准则Top7:软件测试的方法和实施Top8:程序的调试Top1:软件工程基本概念知识点1.软件工程概念的出现源自软件危机件危机。2.软件工程的主要思想:在在软件开件开发过程中程中应用工程化原用工程化原则。3.软件工程的主要研究对象:软件开发与维护的技技术、方法、工具和管理、方法、工具和管理等方面。4.软件的定义:程序、数据及相关文档的集合程序、数据及相关文档的集合。5.软件工程三要素:方法、工具和方法、工具和过程。程。方法:是完成方法:是完成软件工程件工程项目的技目的技术手段。手段。工具:支持工具:支持软件的开件的开发、管理、文档生成。、管理、文档生成。过程:支持程:支持软件开件开发的各个的各个环节的控制、管理。的控制、管理。Top1:软件工程基本概念真题分析(2005年9月)下列描述正确的是A、软件工程只是解决软件项目的管理问题B、软件工程主要解决软件产品的生产率问题C、软件工程的主要思想是强调在软件开发中应用工程化原则D、软件工程只是解决软件开发中的技术问题CTop1:软件工程基本概念真题分析(2005年4月)下列描述正确的是A、程序就是软件B、软件开发不受计算机系统的限制C、软件既是逻辑实体、又是物理实体D、软件是程序、数据和相关文档的集合DTop1:软件工程基本概念真题分析(2007年9月)软件是指A、程序B、程序和文档C、算法加数据结构D、程序、数据和相关文档的集合DTop1:软件工程基本概念真题分析(2008年9月)软件工程三要素包括方法、工具和过程,其中支持软件开发的各个环节的控制和管理。过程程Top1:软件工程基本概念练习题1、下列不属于软件工程三要素的是A、工具B、过程C、方法D、环境DTop1:软件工程基本概念练习题2、软件工程的出现是由于A、程序设计方法学的影响B、软件产业化的需要C、软件危机的出现D、计算机的发展CTop2:软件生命周期知识点1.软件生命周期:产品从提出、实现、使用维护到停止使用退役的过程。2.软件生命周期的三个阶段:软件定定义、软件开开发及软件运行维护。3.软件生命周期的主要活动:可行性研究与计划制定需要分析软件设计软件实现软件测试运行和维护Top2:软件生命周期可行性研究初步项目计划需求分析概要设计详细设计实现测试使用维护退役定义阶段开发阶段维护阶段需求获取需求分析编写需要规格说明书需求评审正确性可行性必要性无岐义性完整性可验证性Top2:软件生命周期真题分析(2007年4月)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于阶段。开开发Top2:软件生命周期真题分析(2006年9月)下列选项中不属于软件生命周期开发阶段任务的是A、软件测试B、概要设计C、软件维护D、详细设计CTop2:软件生命周期真题分析(2005年9月)下列叙述中正确的是A、软件交付使用后还需要进行维护B、软件一旦交付使用后就不需要再进行维护C、软件交付使用后其生命周期就结束D、软件维护是指修复程序中被破坏的指令ATop2:软件生命周期真题分析(2007年9月)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的无歧无歧义性性Top2:软件生命周期真题分析(2008年4月)在软件开发中,需求分析阶段产生的主要文档是A、可行性分析报告B、软件需求规格说明书C、概要设计说明书D、集成测试计划BTop2:软件生命周期练习题1、软件生命周期中所花费用最多的阶段是A、详细设计B、软件编码C、软件测试D、软件维护DTop2:软件生命周期练习题2、软件开发的结构化生命周期方法将软件生命周期划分为A、定义、开发、运行维护B、设计阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计ATop3:软件设计基本概念知识点1.从工程管理角度来看,软件设计包括:概要概要设计和详细设计。2.从技术角度来看,软件设计包括:结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转换为数据结构的定义接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信过程设计:把系统结构部件转换成软件的描述过程。Top3:软件设计基本概念真题分析(2006年9月)从工程管理角度看,软件设计一般分为两步完成,它们是A、概要设计与详细设计B、数据设计与接口设计C、软件结构设计与数据设计D、过程设计与数据设计ATop3:软件设计基本概念练习题1、软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A、模块间的关系B、系统结构部件转换成软件的过程描述C、软件层次结构D、软件开发过程BTop4:软件设计的基本原理知识点1.软件设计中应遵循的基本原理与软件设计有关的概念抽象抽象:把事物的本质的共同特性提取出来而不考虑其他细节。模模块化化:把一个待开发的软件分解成若干个小的简单的部分。信息信息隐蔽蔽:一个模块内部包含的信息,对于不需要这些信息的其它模块来说是不能访问的。模模块独立性独立性:每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单。Top4:软件设计的基本原理知识点2.衡量模块独立性的两个标准内聚性:一个模块内部各元素之间的彼此结合的紧密程序。耦合性:模块间相互连接的紧密程序。软件设计应尽量做到:高内聚,低耦合高内聚,低耦合Top4:软件设计的基本原理知识点3.结构图(SC)是描述软件结构的图形工具。模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中,还可以用带注释的箭头表示模块调用过程中来回传递的信息。Top4:软件设计的基本原理真题分析(2007年4月)在结构化程序设计中,模块划分的原则是A、各模块应包括尽可能多的功能B、各模块的规模应尽量大C、各模块之间的联系应尽量紧密D、模块内部应具有高内聚度,模块之间具有低耦合度DTop4:软件设计的基本原理真题分析(2006年9月)下列软件系统结构图的宽度为ABDCEF3Top4:软件设计的基本原理真题分析(2006年4月)两个或两个以上模块间关联的紧密程度称为A、耦合度B、内聚度C、复杂度D、数据传输性ATop4:软件设计的基本原理真题分析(2005年4月)为了使模块尽可能独立,要求A、模块的内聚程度要尽量高,各模块间的耦合程度要尽量强B、模块的内聚程度要尽量高,各模块间的耦合程度要尽量弱C、模块的内聚程度要尽量低,各模块间的耦合程度要尽量弱D、模块的内聚程度要尽量低,各模块间的耦合程度要尽量强BTop4:软件设计的基本原理真题分析(2008年4月)软件设计中模块划分应遵循的准则是A、低内聚低耦合B、高内聚低耦合C、低内聚高耦合D、高内聚高耦合BTop4:软件设计的基本原理练习题1、软件设计中,有利于提高模块独立性的一个准则是A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合CTop5:结构化分析方法知识点1.结构化分析方法的实质:着眼于数据流着眼于数据流,自自顶向下向下,逐层分解,建立系统的处理流程,以数据流数据流图和数据字典数据字典为主要工具,建立系统的逻辑模型。2.结构化分析的常用工具有:数据流图数据字典判定树判定表结构化分析的核心Top5:结构化分析方法知识点3.常用的过程设计(详细设计阶段)工具有:图形工具:程序流程图、N-S图、PAD、HIPO表格工具:判定表语言工具:PDL(伪码)Top5:结构化分析方法数据流图:描述数据处理过程的工具,是需求需求阶段段常用的结构化分析工具。数据流数据流图的的主要主要图形元素形元素加工(加工(转换)数据流数据流存存储文件(数据源)文件(数据源)源,潭源,潭Top5:结构化分析方法程序流程图:是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图。程序流程程序流程图的的主要主要图形元素形元素逻辑条件条件控制流控制流加工步加工步骤Top5:结构化分析方法真题分析(2007年4月)在结构化分析使用的数据流图(DFD)中,利用对其中的图形元素进行确切解释。数据数据词典(典(DD)Top5:结构化分析方法真题分析(2005年9月)在软件设计中,不属于过程设计工具的是A、PDL(过程设计语言)B、PAD图(问题分析图)C、N-S图D、DFD图(数据流程图)DTop5:结构化分析方法真题分析(2008年4月)程序流程图中指有箭头的线段表示的是A、图元关系B、数据流C、控制流D、调用关系CTop5:结构化分析方法真题分析(2008年9月)数据流图中带有箭头的线段表示的是A、控制流B、事件驱动C、模块调用D、数据流DTop5:结构化分析方法真题分析(2008年9月)在软件开发中,需求分析阶段可以使用的工具是A、N-S图B、DFD图C、PAD图D、程序流程程序流程图BTop5:结构化分析方法练习题1、下列不属于结构化分析的常用工具的是A、数据流图B、数据字典C、判定树D、PAD图DTop5:结构化分析方法练习题2、下列叙述中,不属于结构化分析方法的是A、面向数据流的结构化分析方法B、面向数据结构的Jackson方法C、面向数据结构的结构化数据系统开发方法D、面向对象的分析方法DTop6:软件测试的目的和测试的准则知识点1.软件测试定义:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检测它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。2.软件测试的目的:为了发现错误而执行程序的过程。Top6:软件测试的目的和测试的准则3.软件测试的准则:所有测试都应该追溯到需求严格执行测试计划,排除测试的随意性充分注意到测试中的群集现象程序员应尽量避免检查自己的程序穷举测试不可能Top6:软件测试的目的和测试的准则真题分析(2007年4月)下列叙述中正确的是A、软件测试的主要目的是发现程序中的错误B、软件测试的主要目的是确定程序中的位置C、为了提高软件测试的效率,最好由程序员自己来完成测试的工作D、软件测试是为了证明软件没有错误ATop6:软件测试的目的和测试的准则真题分析(2006年4月)下列叙述中正确的是A、软件测试应该由程序开发者来完成B、程序经调试后一般不需要再测试C、软件维护只包括对程序代码的维护D、上述三种说法都不正确DTop6:软件测试的目的和测试的准则真题分析(2005年4月)下列对于软件测试的描述中正确的是A、软件测试的目的是证明程序是否正确B、软件测试的目的是使程序运行结果正确C、软件测试的目的是尽可能地发现程序中的错误D、软件测试的目的是使程序符合结构化原则CTop6:软件测试的目的和测试的准则练习题1、的目的是暴露错误,评价程序的可靠性;而调试的目的是发现错误的位置并改正错误。测试Top7:软件测试的方法和实施知识点1.软件测试的方法和技术分类从是否需要执行被测试软件的角度,分为:静静态测试 动态测试按功能划分,分为:白盒白盒测试 黑盒黑盒测试Top7:软件测试的方法和实施静静态测试代代码检查静静态结构分析构分析代代码质量度量量度量动态测试白盒白盒测试黑盒黑盒测试Top7:软件测试的方法和实施白盒白盒测试逻辑覆盖覆盖基本路径基本路径测试语句覆盖句覆盖路径覆盖路径覆盖判定覆盖判定覆盖条件覆盖条件覆盖判断判断-条件覆盖条件覆盖又称又称为(结构构测试/逻辑驱动测试)主要完成主要完成软件内部操作的件内部操作的验证。Top7:软件测试的方法和实施黑盒黑盒测试等价等价类划分法划分法边界界值分析法分析法有效等价有效等价类无效等价无效等价类又称又称为(功能(功能测试/数据数据驱动测试)主要主要测试软件已件已经实现的功能是否的功能是否满足需求,足需求,主要用于主要用于软件确件确认测试。错误推推测法法因果因果图Top7:软件测试的方法和实施知识点2.软件测试一般按四个步骤进行:单元测试集成测试验收测试(确认测试)系统测试Top7:软件测试的方法和实施单元元测试针对某个模某个模块进行行测试。在模在模拟环境下,用一些境下,用一些辅助模助模块去去模模拟与被与被测试模模块之之间的关系。的关系。驱动模模块桩模模块A桩模模块B桩模模块C被被测单元元相当于主程序相当于主程序接收测试数据并传给被测模块相当于被相当于被调用用的子程序的子程序Top7:软件测试的方法和实施集成集成测试测试和和组装装软件的件的过程。主要是程。主要是发现与接口有关的与接口有关的错误。依据是概要。依据是概要说明明书。软件件单元的接口元的接口测试全局数据全局数据结构构测试边界条件界条件测试非法非法输入入测试Top7:软件测试的方法和实施知识点3.测试用例:是为测试设计的数据。格式为:(输入入值集集),(输出出值集集)Top7:软件测试的方法和实施真题分析(2007年4月)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于测试。黑箱(盒)黑箱(盒)Top7:软件测试的方法和实施真题分析(2006年4月)程序测试分为静态测试和动态测试。其中是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。静静态测试(静(静态分析)分析)Top7:软件测试的方法和实施真题分析(2005年9月)在进行模块测试时,要求为每个被测试的模块另外设计两类模块:驱动模块和桩模块(承接模块)。其中的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。驱动模模块Top7:软件测试的方法和实施真题分析(2007年9月)在两种基本测试方法中,_的原则之一是保证所测模块中每一个独立路径至少要执行一次.白盒白盒测试Top7:软件测试的方法和实施真题分析(2008年4月)测试用例包括输入值集和值集。输出出Top7:软件测试的方法和实施真题分析(2008年9月)按照软件测试的一般步骤,集成测试应在测试之后进行单元元Top7:软件测试的方法和实施练习题1、若按功能划分,软件测试的方法通常分为白盒测试方法和测试方法。黑盒黑盒Top8:程序的调试知识点1.程序调试的任务:诊断和改正程序中的错误,主要在开发阶段进行。2.程序调试的基本步骤:错误定位修改设计和代码,以排除错误进行回归测试,以防止引进新的错误Top8:程序的调试知识点3.软件调试可分为静静态调试和动态调试。动态调试强行排行排错法法回溯法回溯法原因排除法原因排除法Top8:程序的调试真题分析(2006年9月)的任务是诊断和改正程序中的错误。调试Top8:程序的调试真题分析(2005年9月)下列叙述中正确的是A、程序设计就是编制程序B、程序的测试必须由程序员自己去完成C、程序经调试改错后还应进行再测试D、程序经调试改错后不必进行再测试CTop8:程序的调试真题分析(2005年9月)诊断和改正程序中错误的工作通常称为。调试Top8:程序的调试真题分析(2007年9月)软件调试的目的是A、发现错误B、改正错误C、改善软件的性能D、验证软件的正确性BTop8:程序的调试练习题1、软件调试的目的是A、发现错误B、改正错误C、改善软件的性能D、挖掘软件的潜能BTop8:程序的调试练习题2、下列不属于软件调试技术的是A、强行排错法B、集成测试法C、回溯法D、原因排除法B数据库设计基本高频考点Top1:数据库的基本概念Top2:数据库系统的发展和基本特点Top3:数据库系统的内部体系结构Top4:数据模型的基本概念Top5:E-R模型Top6:关系模型Top7:关系代数Top8:数据库设计与管理Top1:数据库的基本概念知识点1.数据库:数据库技术的根本目的是解决数据的共享数据的共享问题。2.数据库管理系统:是数据库系统的核心,属于系统软件,负责对数据库的数据组织、数据操纵、数据维护、控制及保护和数据服务等。Top1:数据库的基本概念3.数据库系统硬件软件数据库数据数据库管理系管理系统、数据库管理员数据数据库系系统Top1:数据库的基本概念知识点4.数据库管理系统的6个功能数据模式定义:为数据库构建其数据框架数据存取的物理构建数据操纵数据的完整性、安全性定义与检查数据库的并发控制与故障恢复数据的服务Top1:数据库的基本概念知识点5.数据库管理系统的3种语言负责数据的模式定数据的模式定义与数据的物理存取构建与数据的物理存取构建负责数据的操数据的操纵,包括,包括查询、增、增、删、改等。、改等。负责数据完整性、安全性数据完整性、安全性的定的定义与与检查,以及并,以及并发控制故障恢复等功能。控制故障恢复等功能。数据定数据定义语言言数据操数据操纵语言言数据控制数据控制语言言Top1:数据库的基本概念真题分析(2007年4月)下列叙述中错误的是A、在数据库系统中,数据的物理结构必须与逻辑结构一致B、数据库技术的根本目标是要解决数据的共享问题C、数据库设计是指在已有数据库管理系统的基础上建立数据库D、数据库系统需要操作系统的支持ATop1:数据库的基本概念真题分析(2007年4月)在数据库系统中,实现各种数据库管理功能的核心软件称为数据数据库管理系管理系统Top1:数据库的基本概念真题分析(2006年9月)数据库技术的根本目标是是解决数据的A、存储问题B、共享问题C、安全问题D、保护问题BTop1:数据库的基本概念真题分析(2006年4月)数据库DB,数据库系统DBS和数据库管理系统DBMS之间的关系是A、DB包含DBMS和DBSB、DBMS包含DB和DBSC、DBS包含DB和DBMSD、没有任何关系CTop1:数据库的基本概念真题分析(2005年9月)数据库设计的根本目标是要解决A、数据共享问题B、数据安全问题C、大量数据存储问题D、简化数据维护ATop1:数据库的基本概念真题分析(2005年9月)数据库系统的核心是A、数据模型B、数据库管理系统C、数据库D、数据库管理员BTop1:数据库的基本概念真题分析(2007年9月)下列叙述中正确的是A、数据库系统是一个独立的系统,不需要操作系统的支持B、数据库技术的根本目标是要解决数据的共享问题C、数据库管理系统就是数据库系D、以上三种说法都不对BTop1:数据库的基本概念真题分析(2008年4
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!