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