全国计算机等级考试二级c语言公共基础知识总结.docx
《全国计算机等级考试二级c语言公共基础知识总结.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级c语言公共基础知识总结.docx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 全国计算机等级考试二级c语言公共根底学问总结第一章 数据构造及算法1.1 算法算法:是指解题方案的精确而完整的描述。算法不等于程序,也不等计算机方法,程序的编制不行能优于算法的设计。算法的根本特征:是一组严谨地定义运算依次的规那么,每一个规那么都是有效的,是明确的,此依次将在有限的次数下终止。特征包括:1可行性;2确定性,算法中每一步骤都必需有明确定义,不充许有模棱两可的说明,不允许有多义性;3有穷性,算法必需能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;4拥有足够的情报。算法的根本要素:一是对数据对象的运算和操作;二是算法的限制构造。指令系统:一个计算机系统能
2、执行的全部指令的集合。根本运算包括:算术运算, 逻辑运算, 关系运算, 数据传输。算法的限制构造:依次构造, 选择构造, 循环构造。算法根本设计方法:列举法, 归纳法, 递推, 递归, 减斗递推技术, 回溯法。算法困难度:算法时间困难度和算法空间困难度。算法时间困难度是指执行算法所须要的计算工作量。算法空间困难度是指执行这个算法所须要的内存空间。1.2 数据构造的根本根本概念数据构造探讨的三个方面:1数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑构造;2在对数据进展处理时,各数据元素在计算机中的存储关系,即数据的存储构造;3对各种数据构造进展的运算。数据构造是指相互有关联的数据元素的集
3、合。数据的逻辑构造包含:1表示数据元素的信息;2表示各数据元素之间的前后件关系。数据的存储构造有依次, 链接, 索引等。线性构造条件:1有且只有一个根结点;2每一个结点最多有一个前件,也最多有一个后件。非线性构造:不满意线性构造条件的数据构造。13 线性表及其依次存储构造线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。在困难线性表中,由假设干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。非空线性表的构造特征:1且只有一个根结点a1,它无前件;2有且只有一个终端结点an,它无后件;3除根结点及终端结点外,其他全部结点有且只有一个前
4、件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。线性表的依次存储构造具有以下两个根本特点:1线性表中全部元素的所占的存储空间是连续的;2线性表中各数据元素在存储空间中是按逻辑依次依次存放的。ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。依次表的运算:插入, 删除。详见14-16页14 栈和队列栈是限定在一端进展插入及删除的线性表,允许插入及删除的一端称为栈顶,不允许插入及删除的另一端称为栈底。栈依据“先进后出FILO或“后进先出LIFO组织数据,栈具有记忆作用。用top表示栈顶位置,用bo
5、ttom表示栈底。栈的根本运算:1插入元素称为入栈运算;2删除元素称为退栈运算;3读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无改变。队列是指允许在一端队尾进入插入,而在另一端队头进展删除的线性表。Rear指针指向队尾,front指针指向队头。队列是“先进展出FIFO或“后进后出LILO的线性表。队列运算包括1入队运算:从队尾插入一个元素;2退队运算:从队头删除一个元素。循环队列:s=0表示队列空,s=1且front=rear表示队列满15 线性链表数据构造中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。结点由两局部组成:1用于存储数据元素值,称为数据域;2用于存放
6、指针,称为指针域,用于指向前一个或后一个结点。在链式存储构造中,存储数据构造的存储空间可以不连续,各数据结点的存储依次及数据元素之间的逻辑关系可以不一样,而数据元素之间的逻辑关系是由指针域来确定的。链式存储方式即可用于表示线性构造,也可用于表示非线性构造。线性链表,HEAD称为头指针,HEAD=NULL或0称为空表,假如是两指针:左指针Llink指向前件结点,右指针Rlink指向后件结点。线性链表的根本运算:查找, 插入, 删除。16 树及二叉树树是一种简洁的非线性构造,全部元素之间具有明显的层次特性。在树构造中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称
7、树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。在树构造中,一个结点所拥有的后件的个数称为该结点的度,全部结点中最大的度称为树的度。树的最大层次称为树的深度。二叉树的特点:1非空二叉树只有一个根结点;2每一个结点最多有两棵子树,且分别称为该结点的左子树及右子树。二叉树的根本性质:1在二叉树的第k层上,最多有2k-1(k1)个结点;2深度为m的二叉树最多有2m-1个结点;3度为0的结点即叶子结点总是比度为2的结点多一个;4具有n个结点的二叉树,其深度至少为log2n+1,其中log2n表示取log2n的整数局部;5具有n个结点的完全二叉树的深度为log2n+1;
8、6设完全二叉树共有n个结点。假如从根结点开场,按层序每一层从左到右用自然数1,2,.n给结点进展编号k=1,2.n,有以下结论:假设k=1,那么该结点为根结点,它没有父结点;假设k1,那么该结点的父结点编号为INT(k/2);假设2kn,那么编号为k的结点的左子结点编号为2k;否那么该结点无左子结点也无右子结点;假设2k+1n,那么编号为k的结点的右子结点编号为2k+1;否那么该结点无右子结点。满二叉树是指除最终一层外,每一层上的全部结点有两个子结点,那么k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。完全二叉树是指除最终一层外,每一层上的结点数均到达最大值,在最终一层上只缺少右边的
9、假设干结点。二叉树存储构造采纳链式存储构造,对于满二叉树及完全二叉树可以按层序进展依次存储。二叉树的遍历:1前序遍历DLR,首先访问根结点,然后遍历左子树,最终遍历右子树;2中序遍历LDR,首先遍历左子树,然后访问根结点,最终遍历右子树;3后序遍历LRD首先遍历左子树,然后访问遍历右子树,最终访问根结点。17 查找技术依次查找的运用状况:1线性表为无序表;2表采纳链式存储构造。二分法查找只适用于依次存储的有序表,对于长度为n的有序线性表,最坏状况只需比拟log2n次。18 排序技术排序是指将一个无序序列整理成按值非递减依次排列的有序序列。交换类排序法:1冒泡排序法,须要比拟的次数为n(n-1)
10、/2;2快速排序法。插入类排序法:1简洁插入排序法,最坏状况须要n(n-1)/2次比拟;2希尔排序法,最坏状况须要O(n1.5)次比拟。选择类排序法:1简洁项选择择排序法, 最坏状况须要n(n-1)/2次比拟;2堆排序法,最坏状况须要O(nlog2n)次比拟。第二章程序设计根底21 程序设计设计方法和风格如何形成良好的程序设计风格1, 源程序文档化; 2, 数据说明的方法;3, 语句的构造; 4, 输入和输出。注释分序言性注释和功能性注释,语句构造清楚第一, 效率第二。22 构造化程序设计构造化程序设计方法的四条原那么是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制运用goto语句。构
11、造化程序的根本构造和特点:1依次构造:一种简洁的程序设计,最根本, 最常用的构造;2选择构造:又称分支构造,包括简洁项选择择和多分支选择构造,可依据条件,推断应当选择哪一条分支来执行相应的语句序列;3循环构造:可依据给定条件,推断是否须要重复执行某一一样程序段。23 面对对象的程序设计面对对象的程序设计:以60年头末挪威奥斯陆高校和挪威计算机中心研制的SIMULA语言为标记。面对对象方法的优点:1及人类习惯的思维方法一样;2稳定性好;3可重用性好;4易于开发大型软件产品;5可维护性好。对象是面对对象方法中最根本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。面对对象的程序设计方法中
12、的对象是系统中用来描述客观事物的一个实体,是构成系统的一个根本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或效劳。对象的根本特点:1标识惟一性;2分类性;3多态性;4封装性;5模块独立性好。类是指具有共同属性, 共同方法的对象的集合。所以类是对象的抽象,对象是对应类的一个实例。消息是一个实例及另一个实例之间传递的信息。消息的组成包括1接收消息的对象的名称;2消息标识符,也称消息名;3零个或多个参数。继承是指能够干脆获得已有的性质和特征,而不必重复定义他们。继承分单继承和多重继承。单继承指一个类只允许有一个父类,多重继
13、承指一个类允许有多个父类。多态性是指同样的消息被不同的对象承受时可导致完全不同的行动的现象全国计算机等级考试二级C语言公共根底学问复习资料B第三章软件工程根底31 软件工程根本概念计算机软件是包括程序, 数据及相关文档的完整集合。软件的特点包括:1软件是一种逻辑实体;2软件的生产及硬件不同,它没有明显的制作过程;3软件在运行, 运用期间不存在磨损, 老化问题;4软件的开发, 运行对计算机系统具有依靠性,受计算机系统的限制,这导致了软件移植的问题;5软件困难性高,本钱昂贵;6软件开发涉及诸多的社会因素。软件按功能分为应用软件, 系统软件, 支撑软件或工具软件。软件危机主要表现在本钱, 质量, 生
14、产率等问题。软件工程是应用于计算机软件的定义, 开发和维护的一整套方法, 工具, 文档, 实践标准和工序。软件工程包括3个要素:方法, 工具和过程。软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种根本活动:1P软件规格说明;2D软件开发;3C软件确认;4A软件演进。软件周期:软件产品从提出, 实现, 运用维护到停顿运用退役的过程。软件生命周期三个阶段:软件定义, 软件开发, 运行维护,主要活动阶段是:1可行性探讨及方案制定;2需求分析;3软件设计;4软件实现;5软件测试;6运行和维护。软件工程的目标和及原那么:目标:在给定本钱, 进度的前提下,开发出具有有效性, 牢靠性, 可
15、理解性, 可维护性, 可重用性, 可适应性, 可移植性, 可追踪性和可互操作性且满意用户需求的产品。根本目标:付出较低的开发本钱;到达要求的软件功能;取得较好的软件性能;开发软件易于移植;须要较低的费用;能按时完成开发,刚好交付运用。根本原那么:抽象, 信息隐藏, 模块化, 局部化, 确定性, 一样性, 完备性和可验证性。软件工程的理论和技术性探讨的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学, 开发过程, 开发工具和软件工程环境。软件工程管理包括:软件管理学, 软件工程经济学, 软件心理学等内容。软件管理学包括人员组织, 进度支配, 质量保证, 配置管理, 工程
16、方案等。软件工程原那么包括抽象, 信息隐藏, 模块化, 局部化, 确定性, 一样性, 完备性和可验证性。32 构造化分析方法构造化方法的核心和根底是构造化程序设计理论。需求分析方法有1构造化需求分析方法; 2面对对象的分析的方法。从需求分析建立的模型的特性来分:静态分析和动态分析。构造化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。构造化分析的常用工具1数据流图; 2数据字典; 3判定树; 4判定表。数据流图:描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它干脆支持系统功能建模。数据字典:对全部及系统相关的数
17、据元素的一个有组织的列表,以及精确的, 严格的定义,使得用户和系统分析员对于输入, 输出, 存储成分和中间计算结果有共同的理解。判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,依据描述材料中的连接词找出判定条件之间的附属关系, 并列关系, 选择关系,依据它们构造判定树。判定表:及判定树相像,当数据流图中的加工要依靠于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,运用判定表描述比拟相宜。数据字典是构造化分析的核心。软件需求规格说明书的特点:1正确性;2无岐义性;3完整性;4可验证性;5一样性;6可理解性;7可追踪性。33 构造化设计方法软件设
18、计的根本目标是用比拟抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。软件设计是开发阶段最重要的步骤,是将需求精确地转化为完整的软件产品或系统的唯一途径。从技术观点来看,软件设计包括软件构造设计, 数据设计, 接口设计, 过程设计。构造设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创立的模型转化为数据构造的定义。接口设计:描述软件内部, 软件和协作系统之间以及软件及人之间如何通信。过程设计:把系统构造部件转换成软件的过程描述。从工程管理角度来看:概要设计和具体设计。软件设计的一般过程:软件设计是一个迭代的过程;先进展高层次的构造设计;后进展低层次的过程设计
19、;穿插进展数据设计和接口设计。衡量软件模块独立性运用耦合性和内聚性两个定性的度量标准。在程序构造中各模块的内聚性越强,那么耦合性越弱。优秀软件应高内聚,低耦合。软件概要设计的根本任务是:1设计软件系统构造;2数据构造及数据库设计;3编写概要设计文档;4概要设计文档评审。模块用一个矩形表示,箭头表示模块间的调用关系。在构造图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是限制信息,空心圆箭心表示传递的是数据。构造图的根本形式:根本形式, 依次形式, 重复形式, 选择形式。构造图有四种模块类型:传入模块, 传出模块, 变换模块和协调模块。典型的数据流类型有两
20、种:变换型和事务型。变换型系统构造图由输入, 中心变换, 输出三局部组成。事务型数据流的特点是:承受一项事务,依据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。具体设计:是为软件构造图中的每一个模块确定实现算法和局部数据构造,用某种选定的表达工具表示算法和数据构造的细微环节。常见的过程设计工具有:图形工具程序流程图, 表格工具判定表, 语言工具PDL。34 软件测试软件测试定义:运用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满意规定的需求或是弄清预期结果及实际结果之间的差异。软件测试的目的:发觉错误而执行程序的过程。软件测试方法:静态测试和动态测试。静态测
21、试包括代码检查, 静态构造分析, 代码质量度量。不实际运行软件,主要通过人工进展。动态测试:是根本计算机的测试,主要包括白盒测试方法和黑盒测试方法。白盒测试:在程序内部进展,主要用于完成软件内部CAO作的验证。主要方法有逻辑覆盖, 根本基路径测试。黑盒测试:主要诊断功能不对或遗漏, 界面错误, 数据构造或外部数据库访问错误, 性能错误, 初始化和终止条件错,用于软件确认。主要方法有等价类划分法, 边界值分析法, 错误推想法, 因果图等。软件测试过程一般按4个步骤进展:单元测试, 集成测试, 验收测试确认测试和系统测试。35 程序的调试程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进展。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 公共 基础知识 总结
限制150内