收藏 分享(赏)

C二级考试辅导(全国).ppt

上传人:hyngb9260 文档编号:7801669 上传时间:2019-05-26 格式:PPT 页数:270 大小:1.29MB
下载 相关 举报
C二级考试辅导(全国).ppt_第1页
第1页 / 共270页
C二级考试辅导(全国).ppt_第2页
第2页 / 共270页
C二级考试辅导(全国).ppt_第3页
第3页 / 共270页
C二级考试辅导(全国).ppt_第4页
第4页 / 共270页
C二级考试辅导(全国).ppt_第5页
第5页 / 共270页
点击查看更多>>
资源描述

1、C二级考试辅导,计算机基础教研室 高建良 http:/ Email:,2,C二级考试辅导,一 上机部分 二 笔试部分 三 关于考试,3,一 上机部分,题型:填充题、改错题、编程题 满分:100分 考试时间:90分钟,4,一 上机部分,知识分布:字符串、数组、典型算法、函数、语法、指针、递归、结构链表、文件,5,语法,知识点主要集中在教材前3章 题型主要是改错题,还有少量填充题,6,语法,例1:纯粹语法错误,与上下文无关,7,语法,例2:纯粹语法错误,与上下文无关,8,语法,例3:纯粹语法错误,与上下文无关,9,语法,例4:纯粹语法错误,与上下文无关,10,语法,例5:纯粹语法错误,与上下文无关

2、,11,语法,例6:基本语法知识,与上下文关系不大,12,语法,练习: 59, 08,13,数组,知识点主要集中在教材第6章前4节 三种题型都有,编程题居多,出现概率仅次于字符串,14,一维数组,例1:一维数组遍历,15,一维数组,例2:一维数组遍历,16,一维数组,例3:产生一维数组(元素个数不确定),17,一维数组,例4:产生一维数组(元素个数不确定),18,一维数组,例5:产生一维数组(元素个数不确定),19,一维数组,例6:产生一维数组(元素个数不确定),20,一维数组,例7:一维数组遍历;产生一维数组(元素个数不确定),21,一维数组,例8:一维数组遍历;产生一维数组(元素个数不确定

3、),22,一维数组,例9:查找数组元素;删除数组元素,23,一维数组,例10:折半查找数组元素,24,二维数组,例11:二维数组遍历,25,二维数组,例12:二维数组遍历,26,二维数组,例13:二维数组遍历,27,二维数组,例14:二维数组遍历,28,二维数组,例15:二维数组遍历,29,数组,练习: 61,f65,p55,30,字符串,知识点主要集中在教材第6章第5节 三种题型都有,出现概率最高,31,字符串,例1:字符串遍历,32,字符串,例2:字符串遍历,33,字符串,例3:字符串遍历;产生新字符串(个数不确定),34,字符串,例4:字符串遍历;产生新字符串(个数不确定),35,字符串

4、,例5:字符串遍历;产生新字符串(个数不确定),36,字符串,例6:字符串遍历;产生新字符串(个数不确定),37,字符串,例7:字符串遍历;插入字符,38,字符串,例8:字符串遍历;数制转换,39,字符串,例9:二个字符串同时遍历,40,字符串,例10:查找字符,41,字符串,例11:查找字符,42,字符串,例12:查找字符;删除指定字符,43,字符串,例13:查找字符;删除指定字符,44,字符串,例14:插入字符,45,字符串,例15:查找子串,46,字符串,例16:查找子串,47,字符串,例17:查找子串;替换子串(同长度),48,字符串,例18:字符排序,49,字符串,例19:字符串排序

5、,50,字符串,例20:统计单词数,51,字符串,例21:回文数,52,字符串,例22:逆序,53,字符串,例23:逆序;两串交叉合并,54,字符串,练习: 63,31,p25,m28,m24,p24,p29,f11,55,典型算法,知识点主要集中在教材第5-7章 三种题型都有,出现概率仅次于字符串和数组,56,典型算法,例1:阶乘,57,典型算法,例2:阶乘,58,典型算法,例3:判断闰年,59,典型算法,例4:判别素数,60,典型算法,例5:判别素数,61,典型算法,例6:判断一个数是否为回文数,62,典型算法,例7:数制转换,63,典型算法,例8:冒泡排序,64,典型算法,例9:选择排序

6、,65,典型算法,例10:级数求和,66,典型算法,例11:检索数据,67,典型算法,例12:简单迭代方法求方程实根,68,典型算法,例13:二分法求方程根,69,典型算法,练习: 21,60,13,11,55,20,22,70,函数,知识点主要集中在教材第7章 几乎所有考题都涉及函数,专门考函数的不多,71,函数,例1:交换两个数,72,函数,例2:统计字母个数,73,函数,例3:检索数据,74,函数,练习: 20,23,75,递归,知识点主要集中在教材第7章7.4.2 考题不多,几乎都属于典型算法,76,递归,例1:阶乘,77,递归,例2:斐波纳契数列:0、1、1、2、3、5、8、13、2

7、1,78,递归,例3:最小公倍数,79,递归,练习: m53,m23,80,指针,知识点主要集中在教材第8章前5节 很多考题都涉及指针,其知识点与字符串、数组相关,81,指针,例1:指针变量作为函数参数,82,指针,例2:指针变量作为函数参数,83,指针,例3:指针数组与数组指针,84,结构链表,知识点主要集中在教材第9章前4节 考题不是很多,变化不大,难度也不大,85,结构链表,例1:结构;产生一维数组(元素个数不确定),86,结构链表,例2:创建队式链表;创建栈式链表,87,结构链表,例3:链表遍历,88,结构链表,练习: m21,f53,p54,89,文件,知识点主要集中在教材第10章第

8、2、3节 考题非常少,变化不大,难度也不大,90,文件,例1:文件操作,91,文件,例2:文件操作,92,一维数组遍历,for(i=0;in;i+) ai ,93,二维数组遍历,for(i=0;in;i+)for(j=0;jm;j+)aij,94,产生一维数组(元素个数不确定),n=0; for(.) bn+=. n,95,查找数组元素,for(i=0;ai!=x,96,删除数组元素,for(i=m;in-1;i+) ai=ai+1; n-1,97,字符串遍历,使用字符数组: for(i=0;si;i+) si ,已知字符串长度为n: for(i=0;in;i+) si ,使用字符指针: wh

9、ile(*p) *p p+; ,使用字符指针: for(p=s;*p;p+) *p ,98,两个字符串同时遍历,使用字符指针: while(*p|*q) *p*q if(*p)p+; if(*q)q+; ,使用字符指针: while(*p ,99,产生新字符串(个数不确定),n=0; for(.) bn+=. bn=0;,100,查找字符,使用字符指针: while(*p if(*p=ch).,101,查找子串,while(*s1) p=s1;r=s2;while(*r)if(*p=*r)p+;r+;elsebreak;if(*r=0).s1+;,while(*s1) p=s1;r=s2;wh

10、ile(*r,102,替换子串(同长度),while(*s1) p=s1;r=s2;while(*r)if(*p=*r)p+;r+elsebreak;if(*r=0).s1+;,if(*r=0) p=s1;r=s3;while(*r)*p=*r;p+;r+ ,103,两串交叉合并,while(*s1|*s2) if(*s1)*s3=*s1;s1+;s3+;if(*s2)*s3=*s2;s2+;s3+; *s3=0;,104,判别素数,f=1; for(i=2;ix;i+)if(x%i=0)f=0;break;,105,冒泡排序,for(i=0;iaj+1)t=aj;aj=aj+1;aj+1=t

11、;,106,选择排序,for(i=0;iaj)t=ai;ai=aj;aj=t;,107,级数求和,s=0.0;t=.;n=1; . while(t.) s=.;t=.;n+; ,108,二分法求方程根,109,创建栈式链表,创建栈式链表的算法步骤: 建空表:head=NULL; 创建新结点:p=(*)mallco(); 给新结点数据域赋值 新结点进栈:p-next=head;head=p; 重复第2步到第4步若干次,110,创建队式链表,创建队列式链表的算法步骤: 创建首结点,并对数据域赋值:head=(*)malloc(); 对末结点指针last初始化:last=head; 开辟后续新结点:

12、p=(*)malloc(); 新结点插入表尾:last-next=p; last指针后移至末结点:last=p; 重复第3步到第5步若干次 终止链表的延伸:last-next=NULL;,111,链表遍历,字符串遍历: while(*p) *p p+; ,链表遍历: while(p) p-data p=p-next; ,112,文件操作,fopen(“文件名”,”使用方式”); fclose(文件指针); fputc(ch,fp); ch=fgetc(fp); fputs(str,fp); fgets(str,n,fp); fscanf(文件指针,格式说明,输入列表); fprintf(文件指

13、针,格式说明,输出列表);,113,二 笔试部分,题型:选择题、填充题 满分:100分 考试时间:90分钟,114,第1章 数据结构与算法,算法 数据结构的基本概念 线性表 栈和队列 线性链表 树与二叉树 查找技术 排序技术,115,数据结构,数据结构作为计算机的一门学科,主要研究和讨论以下三个方面的问题:数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;对各种数据结构进行的运算。,116,数据结构,例: 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及 数据的存储结构 计算方法

14、 数据映像 逻辑存储,117,算法,算法具有5个特性: 有穷性 确定性 可行性 输入 输出,118,算法,例: 算法的有穷性是指 算法程序的运行时间是有限的 算法程序所处理的数据量是有限的 算法程序的长度是有限的 算法只能被有限的用户使用,119,算法,例: 在算法的5个特性中,算法必须能在执行有限个步骤之后终止指的是算法的【2】性。,120,算法,例: 算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的 正当性 可行性 确定性 有穷性,121,算法,算法的复杂度主要包括算法的时间复杂度和空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要

15、的基本运算的次数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。,122,算法,例: 算法的复杂度主要包括【1】复杂度和空间复杂度。,123,算法,例: 算法的时间复杂度是指 执行算法程序所需要的时间 算法程序的长度 算法执行过程中所需要的基本运算次数 算法程序中的指令条数,124,算法,例: 算法的空间复杂度是指 算法程序的长度 算法程序中的指令条数 算法程序所占的存储空间 执行算法需要的内存空间,125,算法,例: 算法的【1】是指执行这个算法所需要的内存空间。,126,算法,例: 下列叙述中正确的是 一个算法的空间复杂度大,则其时间复杂度也必定大 一个算法的空间复杂度大,则其时间

16、复杂度必定小 一个算法的时间复杂度大,则其空间复杂度必定小 上述三种说法都不对,127,算法,例: 下面叙述正确的是 算法的执行效率与数据的存储结构无关 算法的空间复杂度是指算法程序中指令(或语句)的条数 算法的有穷性是指算法必须能在执行有限个步骤之后终止 以上三种描述都不对,128,算法,例: 对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 log2n n/2 n n+1,129,数据结构的基本概念,数据结构是指带有结构的数据元素的集合。它包括数据的逻辑结构和数据的存储结构。 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。 数据的存储结构是指数据在计算机存储空间中的存

17、放形式。,130,数据结构的基本概念,数据的逻辑结构有线性结构和非线性结构两大类。,131,数据结构的基本概念,根据数据结构中各数据元素之间前后间关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而树是非线性结构。,132,数据结构的基本概念,例: 数据结构包括数据的【5】结构和数据的存储结构。,133,数据结构的基本概念,例: 数据的逻辑结构有线性结构和【3】两大类。,134,数据

18、结构的基本概念,例: 数据结构分为线性结构和非线性结构,带链的队列属于【2】,135,数据结构的基本概念,例: 数据结构中,与所使用的计算机无关的是数据的 存储结构 物理结构 逻辑结构 物理和存储结构,136,数据结构的基本概念,例: 与数据元素本身的形式、内容、相对位置、个数无关的是数据的 存储结构存储结构 存储实现 逻辑结构 运算实现,137,数据结构的基本概念,例: 下面数据结构中,属于非线性的是 线性表 树 队列 堆栈,138,数据结构的基本概念,例: 下列叙述中正确的是 线性表是线性结构 栈与队列是非线性结构 线性链表是非线性结构 二叉树是线性结构,139,线性表,例: 线性表L=(

19、a1,a2,a3,ai,an),下列说法正确的是 队列每个元素都有一个直接前件和直接后件 线性表中至少要有一个元素 表中诸元素的排列顺序必须是由小到大或由大到小 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件,140,线性表,例: 长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【5】,141,栈和队列,例: 下列数据结构中,按先进后出原则组织数据的是 队列线性链表 栈 循环链表 顺序表,142,栈和队列,例: 按照“先进先出”原则组织数据的数据结构是 队列 栈 双向链表 二叉树,143,栈和队列,例: 按

20、“先进后出“原则组织数据的数据结构是【4】,144,栈和队列,例: 栈通常采用的两种存储结构是 顺序存储结构和链式存储结构 散列方式和索引方式 链表存储结构和数组 线性存储结构和非线性存储结构,145,栈和队列,例: 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是 ABCED DCBEA DBCEA CDABE,146,栈和队列,例: 如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 e3,e1,e4,e2 e2,e4,e3,e1 e3,e4,e1,e2 任意顺序,147,栈和队列,例: 栈底至栈顶依次存放元素A、B、C、D,在第五个元素

21、E入栈前,栈中元素可以出栈,则出栈序列可能是【1】,148,栈和队列,例: 通常元素进栈的操作是【2】。,149,栈和队列,例: 下列关于队列的叙述中正确的是 在队列中只能插入数据 在队列中只能删除数据 队列是先进先出的线性表 队列是先进后出的线性表,150,栈和队列,例: 栈和队列的共同点是 都是先进后出 都是先进先出 只允许在端点处插入和删除元素 没有共同点,151,栈和队列,在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直至队尾指针rear指向的位置之间所有的元素均为队列中的元素。,152,栈

22、和队列,入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先将队尾指针进一(即rear=rear+1),并当rear=m+1时,置rear=1;然后将新元素插入队尾指针指向的位置。当循环队列非空(s=1)且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为“上溢“。,153,栈和队列,例: 下列叙述中正确的是 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 循环队列中元素的个数是由队头指针和队尾指针共同决定的,154,栈

23、和队列,例: 线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】存储结构。,155,栈和队列,例: 设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【3】个元素。,156,栈和队列,例: 设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有【2】个元素。,157,栈和队列,例: 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【3】。,158,

24、线性链表,例: 数据结构分为逻辑结构与存储结构,线性链表属于【3】,159,线性链表,例: 线性表的顺序存储结构和线性表的链式存储结构分别是 顺序存取的存储结构、顺序存取的存储结构 随机存取的存储结构、顺序存取的存储结构 随机存取的存储结构、随机存取的存储结构 任意存取的存储结构、任意存取的存储结构,160,线性链表,例: 下列对于线性链表的描述中正确的是 存储空间不一定是连续的,且各元素的存储顺序是任意的 存储空间不一定是连续的,且前件元素一定存储在后件元素的前面 存储空间必须连续,且前件元素一定存储在后件元素的前面 存储空间必须连续,且各元素的存储顺序是任意的,161,线性链表,例: 以下

25、关于链式存储结构的叙述中,哪一条是不正确的 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构 逻辑上相邻的结点物理上不必相邻 可以通过计算直接确定第I个结点的存储地址 插入、删除运算操作方便,不必移动结点,162,树与二叉树,在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。,163,树与二叉树,完全二叉树的叶子结点总数是:int(n+1)/2)。其中n为结点总数,int表示取整。,164,树与二叉树,满二叉树是指除最后一层外,每一层上的所有结点都有两个叶子结点。在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树

26、有2m-1个结点。,165,树与二叉树,例: 树是结点的集合,它的根结点数目是 有且只有1 1或多于1 0或1 至少2,166,树与二叉树,例: 在下列关于二叉树的叙述中,正确的一项是 在二叉树中,任何一个结点的度都是2 二叉树的度为2 在二叉树中至少有一个结点的度是2 一棵二叉树的度可以小于2,167,树与二叉树,例: 具有3个结点的二叉树有 2种形态 4种形态 7种形态 5种形态,168,树与二叉树,例:在树形结构中,树根结点没有【2】,169,树与二叉树,例: 某二叉树中度为2的结点有18个,则该二叉树中有【2】个叶子结点。,170,树与二叉树,例: 某二叉树中度为2的结点有n个,则该二

27、叉树中有【4】个叶子结点。,171,树与二叉树,例: 一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 219 221 229 231,172,树与二叉树,例: 设一棵完全二叉树共有700个结点,则在该二叉树中有【1】个叶子结点。,173,树与二叉树,例: 在深度为5的满二叉树中,叶子结点的个数为 32 31 16 15,174,树与二叉树,例: 深度为 5的二叉树最多有【2】个结点。,175,树与二叉树,例: 在深度为7的满二叉树中,度为2的结点个数为【1】,176,树与二叉树,所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这3者中,首先访

28、问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即“根-左-右”。,177,树与二叉树,所谓中序遍历(LDR)是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。,178,树与二叉树,例: 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 acbed decab deabc cedba,179,树与二叉树,例: 若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的

29、结点访问顺序是 bdgcefha gdbecfha bdgaechf gdbehfca,180,树与二叉树,例: 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是【3】。,181,树与二叉树,例: 设有下列二叉树,对此二叉树前序遍历的结果为 ZBTYCPXA ATBZXCYP ZBTACYXP ATBZXCPY,182,树与二叉树,例: 设有下列二叉树,对此二叉树中序遍历的结果为【3】。,183,查找技术,顺序查找又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法如下: 从线性表的第一个元素开始,依次将线性表中的元素与被查元素进行比较,若相等则表

30、示找到(即查找成功);若线性表中所有的元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。,184,查找技术,二分法查找只适用于顺序存储的有序表。设有序线性表的长度为n,被查元素为x,则二分查找的方法如下: 将x 与线性表的中间项进行比较,若中间项的值等于x,则说明查到,查找结束;若x 小于中间项的值,则在线性表的前半部分(即中间项以前的部分)以相同的方法进行查找;若x大于中间项的值 ,则在线性表的后半部分(即中间项以后的部分)以相同的方法进行查找。这个过程一直进行到查找成功或子表长度为 0(说明线性表中没有这个元素)为止。,185,查找技术,对于长度为 n 的有

31、序线性表,在最坏情况下,二分查找只需要比较 log 2 n次 ,而顺序查找需要比较 n 次。,186,查找技术,例: 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为 63 64 6 7,187,查找技术,例: 对线性表进行二分法检索,其前提条件是 线性表以顺序方式存储,并按关键码值排好序 线性表以顺序方式存储,并按关键码的检索频率排好序 线性表以链接方式存储,并按关键码值排好序 线性表以链接方式存储,并按关键码的检索频率排好序,188,查找技术,例: 二分法查找仅适用于这样的表:表中的记录必须【3】,其存储结构必须是顺序存储。,189,查找技术,例: 在长度为n的有序线性表

32、中进行二分查找,最坏情况下需要比较的次数是 O(n) O(n2) O(log2n) O(nlog2n),190,查找技术,例: 设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较次数分别是s和b,在查找不成功的情况下,s和b的关系是 s= b s b s =b,191,排序技术,在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为n(n-1)/2,堆排序需要的比较次数为nlog2n,192,排序技术,例: 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【5】和选择排序等。,193,排序技术,例: 假设线

33、性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为 log2n n2 O(n1.5) n(n-1)/2,194,排序技术,例: 在最坏情况下,堆排序需要比较的次数为【2】,195,排序技术,例: 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是 快速排序 冒泡排序 直接插入排序 堆排序,196,排序技术,例: 用快速排序法对下列关键字序列进行排序,速度最慢的是 7, 11,19,23,25,27,32 27,25,32,19,23,7,11 3, 11,19,32,27,25,7 123,27,7,19,11,25,32 ,197,第2章 程序设计基础,程序

34、设计方法与风格 结构化程序设计 面向对象的程序设计,198,程序设计方法与风格,当今主导的程序设计风格是“清晰第一,效率第二“的观点。,199,程序设计方法与风格,例: 下列叙述中,不符合良好程序设计风格要求的是 程序的效率第一,清晰第二 程序的可读性好 程序中要有必要的注释 输入数据前要有提示信息,200,程序设计方法与风格,例: 结构化程序设计主要强调的是 程序的规模 程序的效率 程序设计语言的先进性 程序易读性,201,程序设计方法与风格,例: 在设计程序时,应采纳的原则之一是 不限制goto语句的使用 减少或取消注解行 程序越短越好 程序结构应有助于读者理解,202,程序设计方法与风格

35、,例: 下列选项中不符合良好程序设计风格的是 源程序要文档化 数据说明的次序要规范化 避免滥用goto语句 模块设计要保证高耦合、高内聚,203,结构化程序设计,例: 结构化程序设计的基本原则不包括 多态性 自顶向下 模块化 逐步求精,204,结构化程序设计,例: 下列选项中不属于结构化程序设计方法的是 自顶向下 逐步求精 模块化 可复用,205,结构化程序设计,例: 结构化程序设计方法的3种基本控制结构中不包括 循环结构 递归结构 顺序结构 选择结构,206,面向对象的程序设计,对象是面向对象方法中最基本的概念,它的基本特点有:标识惟一性、分类性、多态性、封装性、模块独立性。,207,面向对

36、象的程序设计,面向对象程序设计的3个主要特征是:封装性、继承性和多态性。,208,面向对象的程序设计,封装是一种信息屏蔽技术,目的在于将对象的使用者和对象的设计者分开。用户只能见到对象封装界面上的信息,不必知道实现的细节。封装一方面通过数据抽象,把相关的信息结合在一起,另一方面也简化了接口。,209,面向对象的程序设计,例: 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是 模拟现实世界中不同事物之间的联系 强调模拟现实世界中的算法而不强调概念 使用现实世界的概念抽象地思考问题从而自然地解决问题 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考,210,面向对象的程序

37、设计,例: 下面概念中,不属于面向对象方法的是 对象 继承 类 过程调用,211,面向对象的程序设计,例: 在面向对象方法中,不属于“对象“基本特点的是 一致性 分类性 多态性 标识唯一性,212,面向对象的程序设计,例: 下面选项中不属于面向对象程序设计特征的是 继承性 多态性 类比性 封装性,213,面向对象的程序设计,例: 以下不是面向对象思想中的主要特征的是 多态 继承 封装 垃圾回收,214,面向对象的程序设计,例: 在面向对象方法中,实现信息隐蔽是依靠 对象的继承 对象的多态 对象的封装 对象的分类,215,面向对象的程序设计,例: 下面关于对象概念的描述中,错误的是 对象就是C语

38、言中的结构体变量 对象代表着正在创建的系统中的一个实体 对象是一个状态和操作(或方法)的封装体 对象之间的信息传递是通过消息进行的,216,面向对象的程序设计,例: 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送 调用语句 命令 口令 消息,217,面向对象的程序设计,例: 下列叙述中正确的是 在面向对象的程序设计中,各个对象之间具有密切的联系 在面向对象的程序设计中,各个对象都是公用的 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 上述三种说法都不对,218,第3章 软件工程基础,软件工程基础概念 结构化分析方法 结构化设计方法 软件测试 程序的调试,219,结

39、构化分析方法,例: 在软件开发中,需求分析阶段可以使用的工具是 NS图 DFD图 PAD图 程序流程图,220,结构化分析方法,例: 数据流图中带有箭头的线段表示的是 控制流 事件驱动 模块调用 数据流,221,结构化设计方法,例: 在结构化分析使用的数据流图(DFD)中,利用【5】 对其中的图形元素进行确切解释。,222,结构化设计方法,例: 在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示 模块之间的调用关系 程序的组成成分 控制程序的执行顺序 数据的流向,223,结构化设计方法,例: 下列软件系统结构图的宽度为【1】。,224,结构化设计方法,例: 程序流程图中带有箭头的线段

40、表示的是 图元关系 数据流 控制流 调用关系,225,结构化设计方法,例: 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 PAD图 N-S图 结构图 数据流图,226,结构化程序设计,例: 在结构化程序设计中,模块划分的原则是 各模块应包括尽量多的功能 各模块的规模应尽量大 各模块之间的联系应尽量紧密 模块内具有高内聚度、模块间具有低耦合度,227,结构化程序设计,例: 软件设计中模块划分应遵循的准则是 低内聚低耦合 高内聚低耦合 低内聚高耦合 高内聚高耦合,228,软件测试,229,程序的调试,230,第4章 数据库设计基础,数据库系统的基

41、础概念 数据模型 关系代数 数据库设计与管理,231,数据库系统的基础概念,数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式与外部级模式,二级映射则分别是概念级到内部级的映射及外部级到概念级的映射。,232,数据库系统的基础概念,例: 在数据库系统中,是数据库中全体数据的逻辑结构和特征的描述的数据模式为 概念模式 外模式 内模式 物理模式,233,数据库系统的基础概念,例: 单个用户使用的数据视图的描述称为 外模式 概念模式 内模式 存储模式,234,数据库系统的基础概念,例: 下列模式中,能够给出数据库物理存储结构与物理存取方法的是 内模式 外模式 概念模式 逻

42、辑模式,235,数据模型,E-R模型可用E-R图来表示,它具有3个要素:实体(型)用矩形框表示,框内为实体名称。属性用椭圆型来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。实体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。,236,数据模型,例: 在E-R图中,用来表示实体的图形是 矩形 椭圆形 菱形 三角形,237,数据模型,例: 在E-R图中,用来表示实体之间联系的图形是 矩形 椭圆形 菱形 平行四边形,238,数据模型,例: 下列叙述中,正确的是 用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 用E-R图只能表示实体集之间一对

43、一的联系 用E-R图只能表示实体集之间一对多的联系 用E-R图表示的概念数据模型只能转换为关系数据模型,239,数据模型,例: 将E-R图转换到关系模式时,实体与联系都可以表示成 属性 关系 键 域,240,关系代数,查询过程的查询表达式用到的关系运算有:选择、投影、连接。,241,关系代数,选择运算:从关系模式中找出满足给定条件的元组的操作称为选择。 选择运算的运算符:f(R),242,关系代数,投影运算:从关系模式中指定若干个属性组成新的关系称为投影。 投影运算的运算符:f(R),243,关系代数,连接运算:将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足条件的元组。 连接运

44、算的运算符:R|S,244,关系代数,在关系运算中,“并”的定义如下:设R1和R2为参加运算的两个关系,它们具有相同的度n,且相对应的属性值取自同一个域,则R1R2为并运算,结果仍为度等于n的关系,其中的元组或属于R1或属于R2。,245,关系代数,在关系运算中,“交”的定义如下:设R1和R2为参加运算的两个关系,它们具有相同的度n,且相对应的属性值取自同一个域,则R1R2为交运算,结果仍为度等于n的关系,其中的元组既属于R1又属于R2。,246,关系代数,对于两个关系的合并操作可以用笛卡尔积表示。设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡儿积记为RS它是一个m+n元关

45、系,元组个数是pq。 笛卡尔积运算的运算符: RS,247,关系代数,自然连接是一种特殊的等值连接。当关系R和S有相同的属性组,且该属性组的值相等时的连接称为自然连接。 自然连接运算的运算符: R|S,248,关系代数,例: 关系数据库的任何检索操作都是由三种基本运算组合而成的,这三种基本运算不包括 连接 比较 选择 投影,249,关系代数,例: 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 并 交 投影 笛卡儿乘积,250,关系代数,例: 按条件f对关系R进行选择,其关系代数表达式是 R | R R f|R f(R) f(R),251,关系代数,例: 有两个关系R和T如下,

46、则由关系R得到关系T的操作是 选择 投影 交 并,252,关系代数,例: 设有如下关系表,则下列操作中,正确的是 T=RS T=RS T=RS T=R/S,R,T,S,253,关系代数,例: 有三个关系R、S和T如下,由关系R和S通过运算得到关系T,则所使用的运算为 并 自然连接 笛卡尔积 交,254,关系代数,例: 设有如下三个关系表,下列操作中正确的是 T=RS T=RS T=RS T=R/S,255,关系代数,例: 有三个关系R、S和T如下,由关系R和S通过运算得到关系T,则所使用的运算为 笛卡尔积 交 并 自然连接,256,关系代数,例: 设有关系R和S,关系代数表达式为R-(R-S)

47、表示的是 RS R-S RS RS,257,数据库设计与管理,258,数据库设计与管理,例: 将E-R图转换到关系模式时,实体与联系都可以表示成 属性 关系 键 域,259,栈,栈顶(top)入栈、退栈 栈底(bottom),260,循环队列,元素个数=rear-front ,当rear=front时,元素个数或为0或为满,队尾(rear)入队 队头(front)退队,261,二叉树,262,数据流图(DFD),银行取款业务数据流图,263,结构图(SC图),财务管理系统结构图,深度,宽度,264,程序流程图(PFD),265,N-S图,266,三级模式及二级映射,267,概念模式,概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。 此种描述是一种抽象的描述,不涉及具体的硬件环境与平台,也与具体的软件环境无关。,268,外模式,外模式也称子模式或用户模式,它是用户的数据视图,它由概念模式推导而出。外模式给出每个用户的局部数据描述。 一个概念模式可以有若干个外模式,每个用户只关心与自己有关的模式。,269,内模式,内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。 内模式对一般用户是透明的,但它的设计直接影响数据库的性能。,270,E-R图,课程管理E-R图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报