全国计算机等级考试《二级C++语言程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】.docx
《全国计算机等级考试《二级C++语言程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试《二级C++语言程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】.docx(287页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录第卷分公共亶出知识6第1章 数据结构与算法6皿分析6考点修井61.1 算法61.2 数据结构的基本概念121.3 线性表及其顺序存储结构141.4 栈和队列171.5 线性链表221.6 树与二叉树271.7 查找技术341.8 排序技术35强化习题39第2章 不辨设计基础44考纲分析44考点播井442.1 程序设计方法与风格442.2 结构彳储序设计462.3 面向对象的出削48强化习题54第3章 软件工程基础58考纲分析58考点播井583.1 软件工程基本峥583.2 结构化分析方法653.3 结构化设计方法713.4 软件测试823.5 程序的调试92强化习题95第4章 数据库设计基
2、础100考纲分析100考点播井1004.1 数据库系统的基本概念1004.2 数据模型1104.3 关系代数1204.4 蝇库蚓与W3127强化习题134第二部分C + +语言程序蜘139第1章C+语言概述139考纲分析139考点篙井1394.5 C+语言的发展1394.6 C+语言的特点1404.7 面向对象程序蚓1414.8 C+语言的基本符号1424.9 C+语言的词汇1434.10 C+程序的基本框架1454.11 C+程序的开发过程146强化习题148第2章 数据类型、运算符和表达式150匏分析150考点mi井1504.12 C+语言的数据类型1504.13 常量1534.14 变量
3、1564.15 算符和表达式160强化习题167第3章 基本控制结构169匏分析169考点播井1694.16 C+语句1694.17 序结构1694.18 择结构1734.19 环结构1764.20 转语句180强化习题182第4章 数组、指针与引用185皿分析185考点mi井1854.21 数组1854.22 指针1894.23 弓 | 用1924.24 态存储分配193强化习题194第5章函数197考纲分析197考点mi井1975.1 函级义1975.2 函数调用1985.3 函雕型1995.4 函搬回类型1995.5 函数参数2015.6 函数重载2025.7 内联函数2035.8 递归
4、函数2035.9 变量的生存周期203强化习题204第6章 类和对象207考纲分析207考点播井2076.1 类的定义2076.2 对象的定义2126.3 构造函数和析构函数2126.4 自由存储又搀2176.5 this 指针2176.6 静态成员2196.7 常成员2216.8 友元2236.9 对象数组2256.10 成员四225强化习题225第7章 继翦口派生232考纲分析232考点播井2327.1 继承与派生2327.2 派生类对基类成员的访问2347.3 派生类的构造函数和析构函数2367.4 多继承与虚基类2397.5 子类型关系2417.6 虚函数与多态性242强化习题246第
5、8章运算符重载252匏分析252考点mi井2528.1 运算符函数与运算符重载2528.2 典型运算符的重载2538.3 运算符重载应注意的几个问题259强化习题261第9章模板265粗分析265考点播井2659.1 函数模板2659.2 类模板266强化习题268第10章 C + +流272物分析272考点mi井27210.1 C+流的概念27210.2 输入输出的格式控制27610.3 文件流282强化习题287第一部分公共基础知识 第1章 数据结构与算法考纲分析1 .算法的基本概念,算法复杂度的概念和意义(时间复杂度与空间复杂度)。2 .数据结构的定义,数据的逻辑结构与存储结构;数据结构
6、的图形表示;线 性结构与非线性结构的概念。3 .线性表的定义,线性表的顺序存储结构及其插入与删除运算。4 .栈和队列的定义,栈和队列的顺序存储结构及其基本运算。5 .线性单链表、双向链表与循环链表的结构及其基本运算。6 .树的基本概念,二叉树的定义及其存储结构;二叉树的前序、中序和后序 遍历。7 .顺序查找与二分法查找算法,基本排序算法(交换类排序,选择类排序, 插入类排序).考点精讲1.1 算法考点1算法的基本概念(1)算法的定义算法是指解题方案的准确而完整的描述,即算法是对特定问题求解步骤的一 种描述。它是一组严谨定义运算顺序的规则,且每个规则都是明确有效的,此顺 序将在有限的次数下终止。
7、需要注意的是:算法不等于程序,也不等于计算方法。(2 )算法的基本特征可行性a.算法中的每一步骤都必须能够实现;b.算法执行的结果要能够达到预期的目的。确定性确定性是指算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的 解释,也不允许有多义性。有穷性有穷性是指算法必须能在有限的时间内做完,即必须能在执行有限个步骤之 后终止,且必须有合理的执行时间。拥有足够的情报算法是否有效,取决于为算法所提供的情报是否足够。一般而言,当算法有 足够的情报时,此算法有效,而当提供的情报不够时,算法可能无效。【真题演练】算法的有穷性是指() 2013年9月真题A.算法程序的运行时间是有限的B.算法程序所处理
8、的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用【答案】A【解析】算法设计有穷性要求操作步骤有限且必须在有限时间内完成,耗费 太长时间得到的正确结果是没有意义的。考点2算法设计基本方法(1)列举法基本思想根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是 需要的,哪些是不需要的。常用于解决是否存在或有多少种可能等类型 的问题。主要特点算法比较简单,但列举情况较多时,算法工作量很大。注意事项例举算法时,通过对实际问题进行详细分析,将与问题有关的知识条理化、 完备化、系统化,并从中找出规律,或对所有可能的情况进行分类,从而引出一 些有用的信息,减少列举量。(2
9、 )归纳法基本思想通过列举少量的特殊情况,经过分析,最后找出一般的关系。主要特点a.比列举法更能反映问题的本质,可解决列举量为无限的问题;b.可操作性低,不易归纳出一个具体数学模型;c.归纳得出的结论只是一种猜测,须对这种猜测加以必要的证明。(3)递推基本思想从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。主要特点a.初始条件或问题本身已给定,或通过对问题的分析化简得到;b.递推本质上属于归纳法,递推关系式往往是归纳的结果;c.数值型递推算法计算过程中必须注意数值计算的稳定性问题。(4)递归基本思想将复杂问题逐层分解,归结为一些简单的问题,将简单问题解决掉,再沿着 原来分解的逆过程
10、逐步进行综合。主要特点a .递归的基础是归纳,对问题逐层分解的过程实际上并没有对问题进行求解;b.在可计算性理论和算法设计中占有重要地位;c.递归算法比递推算法清晰易读,结构简练;d.设计递归算法比递推算法容易,但是其执行效率较低。分类a .直接递归。一个算法P显式地调用自己。b .间接递归。算法P调用另一个算法Q,而算法Q又调用算法Po递归与递推的区别递归与递推的区别主要在于二者实现方法的不同,表现为:a.递归是从算法本身到达递归的边界的;b.递推是从初始条件出发,逐次推出所需求的结果。(5)减半递推技术减半递推技术是工程上常用的分治法,其中,减半指将问题的规模减半, 而问题的性质不变;递推
11、指重复减半”的过程。(6)回溯法回溯法是指通过对问题的分析,找出一个解决问题的线索,然后沿着这个线 索逐步试探,若试探成功,则问题得到解决,若试探失败,则逐步回退换别的路 线再进行试探。【真题演练】1 .下列叙述中正确的是().2013年9月真题A.所谓算法就是计算方法B.程序可以作为算法的一种描述方法C.算法设计只需考虑得到计算结果D.算法设计可以忽略算法的运算时间【答案】B【解析】程序可以作为算法的一种描述方法,算法在实现时需要用具体的程序 设计语言描述。A项错误,算法并不等同于计算方法,是指对解题方案的准确而 完整的描述;C项错误,算法设计需要考虑可行性、确定性、有穷性与足够的情 报;D
12、项错误,算法设计有穷性要求操作步骤有限且必须在有限时间内完成,耗 费太长时间得到的正确结果是没有意义的。2 .下列关于算法的描述中错误的是()o 2014年3月真题A.算法强调动态的执行过程,不同于静态的计算公式B.算法必须能在有限个步骤之后终止C.算法设计必须考虑算法的复杂度D.算法的优劣取决于运行算法程序的环境【答案】D【解析】算法是指对解题方案的准确而完整的描述。A项正确,算法强调实 现,不同于数学上的计算方法;B项正确,算法的有穷性是指,算法中的操作步骤 为有限个,且每个步骤都能在有限时间内完成;C项正确,算法设计必须考虑执 行算法所需要的资源,即时间复杂度与空间复杂度;D项错误,算法
13、的优劣取决 于算法复杂度,只有当算法被编程实现运行时才会受到运行环境影响。考点3算法复杂度(1)时间复杂度定义算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运 算次数是问题规模的函数,即算法的工作量= f(n)其中,n是问题的规模。在同一问题规模下,若算法的基本运算次数取决于某一特定输入,可用以 下两种方法来分析算法的工作量:a.平均性态平均性态分析是指用各种特定输入下的基本运算次数的加权平均值来度量算 法的工作量。算法的平均性态定义为:A(n) = p(x)t(x)xeD其中,X是所有可能输入中的某个特定输入,P ( X )是
14、X出现的概率,即输 入为X的概率,t(x)是算法在输入为X时所执行的基本运算次数,Dn表示当规 模为n时,算法执行时所有可能输入的集合。b.最坏情况复杂性最坏情况分析是指规模为n时,算法所执行的基本运算的最大次数。其定义 为:W(n) = maxt(x)(2 )空间复杂度定义算法的空间复杂度一般是指执行这个算法所需要的内存空间。存储空间组成一个算法的存储空间包括以下几种:a.算法程序占用的空间;b.输入的初始数据占用的存储空间;c .算法执行过程中所需要的额外空间。额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附 加存储空间,若额外空间相对于问题规模来说是常数,则称该算法是原
15、地工作的。【真题演练】1 .下列叙述中正确的是().2015年3月真题A.算法的效率只与问题的规模有关,而与数据的存储结构无关B,算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是对应的D.算法的时间复杂度与空间复杂度一定相关【答案】B【解析】算法的时间复杂度是指算法在计算机内执行时所需时间的度量;与 时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。2 .算法的空间复杂度是指()0 2013年9月真题A.算法在执行过程中所需要的计算机存储空间8 .算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数【答案】A
16、【解析】空间复杂度是是对一个算法在运行过程中临时占用存储空间大小的 量度。3 .算法空间复杂度的度量方法是()。2014年9月真题A.算法程序的长度1.1 法所处理的数据量C.执行算法所需要的工作单元D.执行算法所需要的存储空间【答案】D【解析】算法的空间复杂度包括:输入数据所占的存储空间;程序本身 所占的存储空间;算法执行过程中所需要的额外空间,是指执行这个算法所需 要的内存空间,1.2 数据结构的基本概念考点1概述(1)数据处理概述定义数据处理是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、 杳找、更改等运算,也包括对数据元素进行分析。关键问题大量数据元素在计算机中如何组织,以
17、便提高数据处理的效率,从而节省计 算机的存储空间,这是进行数据结构处理的关键问题。(2)数据结构研究概述研究问题a.数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;b.在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储 结构;c.对各种数据结构进行的运算。研究目的数据结构研究和讨论上述3个问题的主要目的在于提高数据处理效率,包括: a .提高数据处理的速度;b .尽量节省在数据处理过程中所占用的计算机存储空 间。考点2数据结构的概念(1)数据结构的定义数据结构是指相互有关联的数据元素的集合,即它是反映数据元素之间关系 的数据元素集合的表示。简言之,数据结构是指带有结构
18、的数据元素的集合,这 里的“结构指数据元素之间的前后件关系。一个数据结构应包含以下两方面内 容:表述数据元素的信息;表示各数据元素之间的前后件关系。(2)数据的逻辑结构定义数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。要素:a.数据元素的集合,通常记为D;b . D上的关系,通常记为R ,它反映了 D中各数据元素之间的前后件关系。 表示一个数据结构B可表示为:B=(D,R)为反映D中个数据元素之间的前后件关系,T殳用二元组来表示。(3)数据的存储结构定义数据的存储结构,也称数据的物理结构,是指数据逻辑结构在计算机存储空 间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,而
19、且要 存放各数据元素之间的前后件信息。常用的存储结构:a .顺序;b .链接;c .索引。采用不同的存储结构,数据处理的效率是不同的。【真题演练】下列叙述中正确的是().2014年3月真题A.有且只有一个根结点的数据结构一定是线性结构B .每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构 C.有且只有一个根结点的数据结构一定是非线性结构D.有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构 【答案】D【解析】逻辑结构分为线性结构和非线性结构,线性结构的特征有:集合 中必存在唯一的一个第一个元素;集合中必存在唯一的一个最后的元素”; 除第一元素之外,其它数据元素均有唯
20、一的前驱;除最后元素之外,其 它数据元素均有唯一的后继。D项正确,如树形结构只有一个根结点,为非 线性结构。考点3数据结构的图形表示(1)在数据结构的图形表示中,数据集合D中每个元素用中间标有元素值的 方框表示,称为数据结点(简称结点);对关系R中的每一个二元组,用一条有 向线段从前件结点指向后件结点。(2)在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端 结点(也称叶子结点),其余结点都称为内部结点。(3)数据结构中的元素结点可能是在动态变化的,这种变化体现在结点数量 的增减以及各结点之间的前后件关系的动态变化上。考点4线性结构与非线性结构根据数据结构中各数据元素之间的前后件关
21、系的复杂程度,可将数据结构分 为:(1)线性结构(线性表)一个非空的数据结构满足下列两个条件时,称其为线性结构:有且只有一个根结点;每个结点最多只有一个前件,也最多只有一个后件。线性结构中插入或删除任何一个结点还应是线性结构,如果不满足这个条件 就不能称之为线性结构。(2)非线性结构如果一个数据结构不是线性结构,则称之为非线性结构。注:线性结构与非线性结构都可以是空的数据结构。一个空的数据结构属于 线性结构还是非线性结构,需要根据对该数据结构的运算是否按照线性结构的规 则来处理进行判断。1.3 线性表及其顺序存储结构考点1线性表的基本概念(1)线性表是一种最常见最简单的数据结构,由一组数据元素
22、构成。数据元 素在线性表中的位置值只取决于它们自己的序号,即数据元素之间的相对位置是 线性的。(2)非空线性表的结构特征:有且只有一个根结点ai,它无前件;有且只有一个终端结点an,它无后件;除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一 个后件。线性表中结点的个数n称为线性表的长度。当n = 0时,称为空表。【真题演练】下列叙述中正确的是().2014年9月真题A.结点中具有两个指针域的链表一定是二叉链表B.结点中具有两个指针域的链表可以是线性结构,也可以是非线性结构C.二叉树只能采用链式存储结构D.循环链表是非线性结构【答案】B【解析】A项错误,具有两个指针域的链表可能是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级C语言程序设计 考纲分析考点精讲真题演练强化习题 全国 计算机等级考试 二级 语言程序设计 专用 教材 分析 考点 演练 强化 习题
链接地址:https://www.taowenge.com/p-68221735.html
限制150内