二级C语言公共基础知识
c语言二级公共基础知识
二级公共基础知识总结请认真背诵该资料,至少要看三遍,划横线和方框的都是重点!第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
两个之间没有联系的。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
全国计算机等级考试二级c语言公共基础知识总结
全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
c语言二级公共基础知识
1.好的程序设计风格有助于提高程序的○1正确性○2可读性○3可维护性○4可用性。
2.良好的程序风格包括○1源程序文档化○2数据说明○3语句结构○4输入、输出方法。
3.结构化程序设计方法的四条原则○1自顶向下○2逐步求精○3模块化○4限制使用goto语句。
4.程序的基本结构:○1顺序结构○2选择结构也称分支结构○3重复结构也称循环结构。
5.面向对象方法的优点○1与人类习惯的思维方法一致○2稳定性好○3可重用性好○4易于开发大型软件产品○5可维护性好。
6.对象的基本特点○1标识唯一性○2分类性○3多态性○4封装性○5模块独立性好。
7.软件的组成○1机器可执行的程序和数据○2与软件开发、运行、维护及使用等有关的文档。
8.支撑软件介于系统软件和应用软件之间,是支援其他软件的开发与维护的软件。
9.软件工程过程的四种基本活动○1软件规格说明○2软件开发○3软件确认○4软件演进。
P26610.软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
11.软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。
12.结构化分析的常用工具:○1数据流图○2数据字典○3判定树○4判定表13.数据流图即DFD图,它以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,所以是一种功能模型。
数据流图中的带箭头线段表示数据流。
程序流程图中的带箭头线段表示控制流。
14.数据字典是结构化分析方法的核心,它是对所有与系统相关的数据元素的一个有组织的列表以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。
15.软件测试的基本准则:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的集群现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
16.数据库应用系统的核心问题是数据库设计。
全国计算机二级c语言 公共基础 知识点总结
第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
3.算法:解题方案准确而完整的描述。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
全国计算机二级C语言公共基础知识
选择合适的数据结构和算 法
合理使用数组、链表、哈希表 等数据结构,以及快速排序、 二分查找等算法,可以提高代 码效率和性能。
减少函数调用
过多的函数调用会增加时间复 杂度,可以通过减少函数调用 或使用内联函数来提高性能。
避免重复计算
将重复计算的结果存储在变量 中,避免每次需要时重新计算 。
使用缓存技术
指针的运算
指针可以进行加法、减法、比较等运 算,以方便对数组元素的访问和操作。
指针的声明与初始化
指针变量需要先声明类型,再通过赋 值操作符将变量的地址赋值给指针。
指针与数组
通过指针可以方便地访问数组元素, 例如使用指针遍历数组、访问数组元 素等。
结构体与联合体
结构体的概念
结构体是一种自定义数据类型,可以 包含多个不同类型的数据成员。
1973-1978年
C语言逐渐成熟,成为UNIX操作系统的主要编程语 言。
1978-至今
C语言成为计算机领域中最广泛使用的编程语言之一 ,广泛应用于系统软件、应用软件、嵌入式系统等 领域。
C语言的特点
01
02
03
04
高效
C语言是一种低级语言,能够 直接代码清晰易 懂,易于学习和使用。
结构化
C语言采用结构化的程序设计 方法,强调代码的模块化和组 织结构,提高了代码的可读性 和可维护性。
可移植性
C语言的标准规范统一,在不 同的操作系统和硬件平台上具 有良好的可移植性。
C语言的应用领域
系统软件
操作系统、编译器、数据库等系统软件主要使用 C语言进行开发。
嵌入式系统
C语言在嵌入式系统中应用广泛,如智能家居、 智能硬件等领域。
结构体的声明与初始化
全国计算机等级考试二级c语言公共基础知识总结
全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报.算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法.算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间.1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的.在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
计算机二级C语言公共基础
计算机二级C语言公共基础计算机二级C语言公共基础是计算机类专业学生必须掌握的基础知识。
C语言是一种通用的、过程式的编程语言,广泛应用于操作系统、嵌入式系统、游戏开发等领域。
本文将从C语言的基本语法、数据类型、运算符、控制流、函数等方面,介绍C语言的公共基础知识。
一、基本语法C语言的基本语法主要包括变量声明、注释、标识符等。
变量声明即告诉计算机需要分配内存空间来存储变量的值,语法为:```c数据类型变量名;```其中,数据类型可以是int、float、char等,变量名是自定义的名字。
注释用于解释代码的作用,提高代码的可读性,C语言中有两种注释方式:```c//单行注释/*多行注释*/```标识符是变量、函数、数组等自定义名称,标识符必须以字母或下划线开头,由字母、数字和下划线组成。
二、数据类型C语言支持的数据类型包括基本数据类型和派生数据类型。
基本数据类型有int、float、char、double等,派生数据类型有数组、结构体、指针等。
不同的数据类型在内存中占用的空间大小不同,因此在使用时需要根据需要选择合适的数据类型。
三、运算符C语言提供了一系列的运算符用于进行数值计算和逻辑操作。
常见的运算符有算术运算符(+、-、*、/等)、逻辑运算符(&&!等)、关系运算符(>、<、==、!=等)、赋值运算符(=、+=、-=等)等。
通过组合运算符可以进行复杂的运算操作。
四、控制流控制流用于根据条件来控制程序的执行顺序,主要包括条件语句和循环语句。
条件语句用于判断给定条件是否成立,从而决定执行的代码块,常见的条件语句有if语句和switch语句。
循环语句用于重复执行一段代码,常见的循环语句有while循环、do-while循环和for循环。
掌握条件语句和循环语句可以灵活地控制程序的逻辑流程。
五、函数函数是C语言中的一种封装的机制,通过函数可以对代码进行模块化设计,提高代码的重用性和可读性。
全国计算机等级考试二级c语言公共基础知识总结
全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计.算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报.算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1。
2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等.线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件.非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的.在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
二级C语言公共基础知识
第一部分公共基础部分知识归纳数据结构与算法算法---是一组严谨地定义运算顺序的规则算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构算法设计基本方法---列举法、归纳法、递推、递归、减半递推算法的复杂度---包括时间复杂度和空间复杂度时间复杂度---执行算法所需的计算工作量空间复杂度---执行算法所需的内存空间数据结构---相互有关联的数据元素的集合。
如春、夏、秋、冬;18、11、35、23、16。
;父亲、儿子、女儿等都是数据元素。
前件---数据元素之间的关系,如父亲是儿子和女儿的前件后件---如儿子是父亲的后件结构---指数据元素之间的前后件关系数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同。
根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与非线性结构线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有一个前件和后件。
则称该数据结构为线性结构,否则为非线性结构。
线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储的,如数组栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是“先进先出”,其运算有入队和退队。
树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。
根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度。
二叉树---(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右子树),其存储结构为链式。
全国计算机等级考试二级C语言-公共基础知识
第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
计算机二级c语言公共基础知识
计算机二级c语言公共基础知识计算机二级 C 语言公共基础知识是准备参加 C 语言二级考试的考生必备的知识点。
C 语言是一种高级程序设计语言,广泛用于计算机科学与工程领域。
本文将从以下几个方面介绍 C 语言的公共基础知识。
一、C 语言基本语法1. 注释:在 C 语言中,使用 // 进行单行注释,使用 /* */ 进行多行注释。
注释是用来解释代码的作用,提高代码的可读性。
2. 数据类型:C 语言支持的数据类型包括整型、浮点型、字符型、布尔型等。
声明变量时需要指定变量的数据类型。
3. 运算符:C 语言中有各种算术运算符、关系运算符和逻辑运算符,用于进行相应的计算和比较操作。
4. 控制语句:C 语言提供了条件语句(if-else、switch)、循环语句(for、while、do-while)和跳转语句(break、continue、goto)等控制流程语句。
二、C 语言数组与函数1. 数组:数组是一种存储相同类型数据的集合,通过下标来访问数组中的元素。
C 语言中,数组的声明和初始化需要指定数组的大小。
2. 函数:函数是一段封装了一组语句的代码块,可以在程序中多次调用。
C 语言中的函数包括库函数和用户自定义函数。
函数需要声明和定义,通过函数名和参数可以调用函数。
三、C 语言指针与字符串处理1. 指针:指针是存储变量内存地址的变量。
通过指针,可以对变量进行间接访问,实现对内存的灵活操作。
C 语言中使用 * 运算符来定义和操作指针。
2. 字符串处理:C 语言中的字符串是以字符数组的形式存储的,通过使用相应的库函数可以进行字符串的读取、拷贝、连接等操作。
四、C 语言文件操作与结构体1. 文件操作:C 语言提供了一系列函数来进行文件的读写操作,如fopen、fclose、fread、fwrite 等。
通过文件操作,可以实现对外部文件的读取和写入。
2. 结构体:结构体是一种自定义的数据类型,可以将不同类型的数据组合在一起形成一个新的数据类型。
二级C语言公共基础复习资料(精典)
二级公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
(4种)算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
(两者之间无必然的联系)算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
计算机二级C语言公共公共基础知识部分
第章数据结构与算法算法.算法地概念:是指解题方案地准确而完整地描述.算法地基本特征:可行性、确定性、有穷性(有限地时间)、拥有足够地情报.算法地复杂度:时间复杂度和空间复杂度()时间复杂度:算法所需要地计算工作量(算法所执行地基本运算次数)()空间复杂度:执行这个算法所需要地内存空间数据结构地基本概念.数据结构研究地三个问题()逻辑结构:指反应数据元素之间逻辑关系地数据结构()存储结构(物理结构):数据地逻辑结构在计算机存储空间中地存放形式.()对各种数据结构进行地运算.数据结构定义:是指带有结构地数据元素地集合.所谓结构就是指数据元素之间地前后件关系.在数据结构中,没有前件地结点称为根结点,没有后件地结点为终端结点(也叫叶子结点)..空地数据结构:一个元素都没有地数据结构..数据结构地种类:线性结构与非线性结构.线性结构:有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件.非线性结构:如果一个数据结构不是线性结构,则称之为非线性结构.线性表及其顺序存储.线性表是最简单、最常用地一种线性结构..非空线性表地结构特征:()有且只有一个根结点,无前件()有且只有一个终端(叶子)结点,无后件()除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件.在线性表中结点地个数称为线性表地长度,当时,称为空表..线性表顺序存储结构地基本特点:()所有元素所占地存储空间是连续地()各元素在存储空间中是按逻辑顺序依次存放地.在长度为地顺序存储地线性表中,当在任何位置上插入或删除一个元素概率都相等时,插入或删除一个元素所需移动元素地平均个数是为.栈和队列.栈:限定在一端进行插入与删除地线性表..栈地结构特点:先进后出或后进先出.栈地基本运算:入栈运算、退栈运算、读栈顶元素()上溢:当栈空间已满,不能再入栈时,称为“上溢”.()下溢:当栈空间已空,不能再出栈时,称为“下溢”..队列:允许在一端进行插入、而在另一端进行删除地线性表.队列地结构特点:先进先出或后进后出.循环队列:将队列存储空间地最后一个位置绕到第一个位置,形成逻辑上地环状空间..循环队列中元素个数:(分两种情况)()队尾指针>队头指针:元素个数队尾指针队头指针()队尾指针<队头指针:元素个数队尾指针队列容量–队头指针线性链表.线性表地链式存储结构称为线性链表..在链式存储结构中,每个数据结点由两部分组成:一部分存放数据元素地值,称为数据域;另一部分存放下一结点地存储地址,称为指针域..在链式存储结构中,存储数据结构地存储空间可以不连续,各数据结点地存储顺序与数据元素地逻辑关系可以不一致,而数据元素之间地逻辑关系是由指针域来确定地..线性链表地优点:在线性链表中插入或删除一个元素时,不需要移动元素地位置,只需改变指针地指向就行了..循环链表地优点:只要指出表中任何一个结点地位置,就可以从它出发访问到表中其他所有地结点,而线性单链表做不到这一点.树与二叉树.树是一种简单地非线性结构..树地基本术语:父结点;根结点;子结点;叶子结点;结点地度;树地度;树地深度根结点在第层.叶子结点没有子树..二叉树:只有一个根结点,每一个结点最多有颗子树,且分别叫做左子树和右子树..二叉树地基本性质:()在二叉树地第层上,最多有(>)个结点()深度为地二叉树最多有个结点()度为地结点(叶子结点)是比度为地结点多一个()具有个结点地二叉树,其深度至少为[]当完全二叉树总结点为偶数时,叶子节点地个数为:当完全二叉树总结点为奇数时,叶子节点地个数为:().二叉树地遍历:前序遍历(根左右);中序遍历(左根右);后序遍历(左右根)查找技术.顺序查找:最坏情况下,需比较次..二分法查找:最坏情况下,需比较次.排序技术.交换类排序:()冒泡排序法:()(最坏情况下)()快速排序法:()(最坏情况下) ()(平均情况下).插入类排序:()简单插入排序法:()(最坏情况下)()希尔排序法:(. )(最坏情况下).选择类排序:()简单选择法:()(最坏情况下)()堆排序法: () (最坏情况下)第章程序设计基础.程序设计风格:清晰第一,效率第二.注释一般分为:序言性注释和功能性注释.结构化程序设计地原则:自顶向下,逐步求精,模块化,限制使用语句.结构化程序地基本结构:顺序结构、选择结构、重复结构(循环结构).对象:客观世界中地任何实体.类是具有共同属性、共同方法地对象地集合.对象是类地一个实例.类是对象地抽象..对象特点:标识唯一性、分类性、多态性、封装性、模块独立性好.消息:是对象与对象之间传递地信息..在面向对象方法中,类之间共享属性和操作地机制称为:继承.继承性地优点:相似地对象可以共享程序地代码和数据结构,从而大大减少了程序中地冗余信息,提高软件地可重用性,便于软件修改维护第章软件工程基础软件工程地基本概念.软件:包括程序、数据及相关文档地完整集合..软件按功能分为:应用软件、系统软件、支撑软件(或工具软件)..软件危机:是泛指在计算机软件地开发和维护过程中所遇到地一系列严重问题. .软件工程概念地出现源自软件危机.软件工程要素:方法,工具,过程(支持软件开发地各个环节地控制、管理)..软件生命周期:将软件产品从提出、实现、使用维护到停止使用退役地过程. .软件工程地理论和技术性研究:软件开发技术和软件工程管理..软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、可验证性结构化分析方法.需求分析地任务:发现需求、求精、建模和定义需求地过程.需求分析地目地是确定系统地功能..结构化需求分析地常用工具()数据流图():()数据字典():结构化需求分析方法地核心.、软件地需求分析阶段地工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审..软件需求规格说明书:是需求分析阶段地最后成果,是软件开发中地重要文档之一..软件需求规格说明书地作用:()便于用户、开发人员进行理解和交流()反映出用户问题地结构,可以作为软件开发工作地基础和依据.()作为确认测试和验收地依据..软件需求规格说明书地特点:正确性、无歧义性(最重要)、完整性、可验证性、一致性、可理解性、可修改性、可追踪性结构化设计方法.软件设计从技术观点看,软件设计包括软件结构设计、数据设计、接口设计、过程设计.()结构设计:定义软件系统各主要部件之间地关系.()数据设计:将分析时创建地模型转化为数据结构地定义.()接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信.()过程设计:把系统结构部件转换成软件地过程性描述..软件设计从工程管理角度看,软件设计分两步完成:概要设计和详细设计.软件设计地基本原理抽象、模块化、信息隐蔽、模块独立性.衡量软件独立性依据:耦合性(是模块间互相连接地紧密程度地度量)内聚性(是一个模块内部各个元素间彼此结合地紧密程度地度量).耦合性包括:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合..优秀地软件设计应做到“高内聚,低耦合”..与结构化需求分析方法对应地是结构化设计方法..常用地软件结构设计工具是结构图(程序结构图).其中箭头表示模块间地调用关系..典型地数据流类型有两种:变换型和事务型..结构化详细设计工具:()程序流程图:表示控制流;矩形□表示加工步骤;菱形◇表示逻辑条件.()图:为了避免流程图在描述程序逻辑时地随意性和灵活性,提出了用方框图来代替传统地程序流程图,通常也称为图.软件测试.软件测试地目地:检验它是否满足规定地需求可是弄清预期结果与实际结果之间地差别,是为了发现错误而执行程序地过程..测试要以查找错误为中心,而不是为了演示软件地正确功能..软件测试地准则:()所有测试都应追溯到需求()严格执行测试计划,排除测试地随意性()充分注意测试中地群集现象:为了提高测试效率,测试人员应该集中对付那些错误群集地程序.()程序员应避免检查自己地程序()穷举测试不可能:测试只能证明程序中有错误,不能证明程序中没有错误()妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便.软件测试地方法:()按是否需要执行被测软件划分:①静态测试:包括代码检查、静态结构分析、代码质量度量等.②动态测试:是为了发现错误而执行程序地过程.测试用例由测试输入数据和之与对应地预期输出结果两部分组成.()按功能划分:①白盒测试:保证所侧模块中每一独立路径至少执行一次(穷举路径测试)②黑盒测试:完全不考虑程序内部地逻辑结构和内部特性,只依据程序地需求和功能规格说明,检查程序地功能是否符合它地功能说明.黑盒测试方法包括:等价类划分法、边界值分析法、错误推测法、因果图等..软件测试地实施:软件测试是保证软件质量地重要手段,目地是使软件测试工作系统化.软件测试地过程:() 单元测试:目地是发现各模块内部可能存在地各种错误.() 集成测试:是测试和组装软件地过程.() 确认测试:验证软件地功能和性能及其他特性是否满足了需求规格说明中确定地各种需求.() 系统测试:.程序地调试地任务:诊断和改正程序中地错误(主要在开发阶段).软件测试是尽可能多地发现软件中地错误.第章数据库设计基础数据库系统地基本概念.数据库技术地基本目标是解决数据共享问题..数据:是描述事物地符号记录..数据库():是结构化地相关数据集合,是多种应用数据地集成,并可被多个应用程序共享..数据库管理系统():是一种系统软件,是数据库系统地核心,位于用户和操作系统()之间..数据语言: ()数据定义语言():负责数据地模式定义与数据地物理存取构建.()数据操纵语言():负责数据地操作,包括查询及增、删、改等操作.()数据控制语言():负责数据完整性、安全性地定义与检查以及并发控制、故障恢复等功能..数据库管理员():主要工作包括数据库设计、数据库维护、改善系统性能,提高系统效率..数据库系统()由五部分组成:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台.数据库系统包括数据库和数据库管理系统. (即包括和).数据管理发展三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段.在数据管理技术地发展过程中,可实现数据共享地是:数据库系统系统阶段.数据库系统阶段并没有完全消除数据冗余,只是减少了数据冗余..数据库系统基本特点:()数据地集成性()数据地高共享性与低冗余性()数据独立性分为物理独立性和逻辑独立性两级.()数据统一管理与控制物理独立性:当数据地物理结构(存储结构)改变时,不影响数据地逻辑结构,从而不引起应用程序地变化.逻辑独立性:当数据地逻辑结构改变,不需要相应地修改应用程序. .数据库系统地三级模式:()概念模式:全体用户(应用)公共数据视图()外模式:子模式(用户模式)单个用户地数据视图()内模式:物理模式.数据库系统地二级映射: ()概念模式到内模式地映射 ()外模式到概念模式地映射数据模型.数据模型描述地内容:数据结构、数据操作、数据约束.数据模型按不同地层次分为:概念数据模型、逻辑数据模型、物理数据模型.模型(也叫实体联系模型):()实体:现实世界中地事物可以抽象成为实体()属性:事物地特性()联系:现实世界中事物之间地关联(一对一联系、一对多联系、多对多联系)()模型图示法:实体集表示法:矩形属性表示法:椭圆形联系表示法:菱形.数据模型分为三种:层次模型、网状模型和关系模型..关系模型:用二维表结构来表示实体及实体间联系地方法就是关系模型..在关系模型中,一个二维表就是一个关系;表中每行数据称为元组;每列是一个属性,二维表中属性地个数,称为属性元数..关系中地数据约束分为三种:实体完整性约束、参照完整性约束和用户定义地完整性约束.关系代数(见公共基础课本—)关系地基本运算:并,交,选择,投影,连接,笛卡尔积.数据库设计与管理.数据库设计是数据库应用地核心. 重点有三个阶段:需求分析、概念设计、逻辑设计.数据库设计一般采用生命周期法,包括:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段..需求分析阶段:是整个设计活动地基础,也是最困难、最花时间地一步..数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善地. 数据项是数据地最小单位..概念设计阶段视图设计地三种次序:自顶向下、由底向上、由内向外..数据库地逻辑设计:主要工作是将—图转换成指定地中地关系模式.()实体与联系都可以表示成关系.()图中属性也可以转换成关系地属性.()实体集也可以转换成关系.。
全国计算机等级考试二级c语言公共基础知识总结
全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
全国计算机等级考试二级C语言公共基础知识(附例题)
第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
全国计算机等级考试二级c语言公共基础知识总结
全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1。
1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构.指令系统:一个计算机系统能执行的所有指令的集合.基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法.算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间.1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系.数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件.非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分公共基础部分知识归纳第一章数据结构与算法算法---是一组严谨地定义运算顺序的规则算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构算法设计基本方法---列举法、归纳法、递推、递归、减半递推算法的复杂度---包括时间复杂度和空间复杂度时间复杂度---执行算法所需的计算工作量空间复杂度---执行算法所需的内存空间数据结构---相互有关联的数据元素的集合。
如春、夏、秋、冬;18、11、35、23、16。
;父亲、儿子、女儿等都是数据元素。
前件---数据元素之间的关系,如父亲是儿子和女儿的前件后件---如儿子是父亲的后件结构---指数据元素之间的前后件关系数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同。
根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与非线性结构线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有一个前件和后件。
则称该数据结构为线性结构,否则为非线性结构。
线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储的,如数组栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是“先进先出”,其运算有入队和退队。
树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。
根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度。
二叉树---(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右子树),其存储结构为链式。
二叉树性质---(1)K层上最多有2(K-1)个结点(2)深度为m的二叉树最多有2m-1个结点(3)度为0的结点(叶子结点)比度为2的结点多一个(4)具有n个结点的二叉树,其深度至少为[Log2n]+1,其中[Log2n]表示对Log2n取整满二叉树---除最后一层外,其余层的结点都有两个子结点完全二叉树---除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点,叶子结点只可能在层次最大的两层上出现。
满二叉树是完全二叉树,而完全二叉树不是满二叉树。
完全二叉树有两个性质:(1)具有n个结点的完全二叉树的深度为[Log2n]+1(2)二叉树遍历---不重复地访问各个结点。
分为前序遍历(DLR-根左右)、中序遍历(LDR-左根右)和后序遍历(LRD-左右根)查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).习题1算法的时间复杂度是指(),算法的空间复杂度是指();线性表、栈、队列、线性链表是(线性结构),树是(非线性结构);数据的存储结构是指();队列是(先进先出),栈是(先进后出);下列二叉树的遍历结果:前序遍历(ABDECF)、中序遍历(DBEAFC)、后续遍历(DEBFCA)在深度为5的满二叉树中,叶子结点的个数为(16);设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1。
则T中的叶子结点的个数为(8);对于长度为n的有序线性表,顺序查找次数为(n),二分法查找次数为(log2n);一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点;一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后续遍历结果为(DEBFCA);冒泡排序的时间复杂度为(n(n-1)/2);在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有(3)元素;第二章程序设计基础结构化程序设计的三种结构---是顺序、选择和循环对象---表示客观世界的任何实体类---是具有共同属性和方法的对象的集合实例---任何一个对象都是其对应类的实例消息---一个实例和另一个实例之间传递的信息继承---是指直接获得已有的性质和特征,而不必重复定义它们。
例如子类继承父类结构化程序设计主要强调---程序的易读性良好的程序设计风格是---程序应简单、清晰、可读性好在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(消息)来实现的信息隐蔽的概念与(模块独立性)概念直接相关(任何对象都具有继承性)这句话是错误的注释分为(序言性注释)和(功能性注释)在面向对象方法中,信息隐蔽是通过对象的(封装性)来实现的类是一个支持集成的抽象数据类型,而对象是类的(实例)在面向对象方法中,类之间共享属性和操作的机制称为(继承)第三章软件工程基础软件生命周期---软件产品从提出、实现、使用维护到停止使用退役的过程。
分为软件定义、软件开发、软件运行维护三个阶段。
软件生命周期的主要活动阶段---可行性分析、需求分析、软件设计、软件实现、软件测试、运行和维护。
常见的需求分析方法---(1)结构化分析方法---主要包括面向数据流的结构化分析方法SA;面向数据结构的Jackson方法JSD;面向数据结构的结构化数据系统开发方法DSSD。
(2)面向对象的分析方法OOA结构化分析方法工具---(1)数据流图DFD,记住DFD图的几个符号:(2)数据字典DD(3)判定树(4)判定表程序结构图(SC),N-S图,问题分析图(PAD)程序流程图(PFD)的几个符号:软件测试---黑盒测试:功能测试白盒测试:内部结构测试,穷举路径测试习题3在软件生命周期中,能准确地判断软件系统必须做什么和必须具备哪些功能的阶段是(需求分析)软件工程的3个要素(工具),(过程),(方法)检查软件产品是否符合需求定义的过程称为(确认测试)软件设计原则是(抽象)、(模块化)、(信息隐蔽)需求分析常用的工具是(DFD)在结构化方法中,软件功能分解属于(总体设计)阶段软件测试的饿目的是(改正错误)软件需求分析阶段可分为四个方面(需求获取)、(需求分析)、(编写需求格式说明)、(需求评审)软件是(程序)、(数据)、(文档)的集合Jakson方法是一中面向(数据流)的结构化方法软件工程研究的内容包括(软件开发技术)、(软件工程管理)数据流图的类型有(交换型)、(事务型)软件开发环境是全面支持软件开发全过程的(软件工具)集合第四章数据库设计基础数据库---DB;数据库管理系统---DBMS;数据库管理员---DBA;数据库系统---DBS;数据库应用系统---DBAS数据模型所描述的内容分三个部分(数据结构)、(数据操作)、(数据约束)逻辑数据模型分(层次模型)、(网状模型)、(关系模型)、(面向对象模型)E-R模型---实体关系模型,主要由实体、属性、联系组成,联系分:1对1,1对多,多对多;以二维表为基本结构所建立的模型称为关系模型,关系模型采用二维表来表示,简称表,由行和列组成,行称为元组或记录,列称为字段主键---唯一标识一个记录的字段外键---一个表的字段是其他表的主键在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段、数据库系统阶段,其中数据独立性最高的阶段是(数据库系统)数据库系统减少了(数据冗余);数据库系统的核心是(数据库管理系统)用树型结构来表示实体间联系的模型称为(层次模型)关系表中的每一行称为(元组)关系数据库管理系统能实现的专门关系运算包括(选择)、(投影)、(连接)在关系数据库中,用来表示实体之间联系的是(二维表)数据库设计包括两方面的设计内容(概念设计)、(逻辑设计)将E-R图转换到关系模式时,实体与联系都可以表示成(关系)一个项目具有一个项目主管,一个项目主管可以管理多个项目,则实体“项目主管”与“项目”的联系属于(一对多)数据独立性分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为(逻辑独立性)数据库系统中实现各种数据管理功能的核心软件称为(数据库管理系统DBMS)关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、(参照完整性)和自定义完整性下面是公共基础部分可以变化的题:1 一棵二叉树,第K层上最多有2(k-1)个结点,深度为K的二叉树最多有2k-1个结点,如果是满二叉树呢?例如: 在深度为5的满二叉树中,叶子结点的个数为(=2(5-1)=16)2一棵二叉树共有70个叶子结点和80个度为1的结点,问这个二叉树的总结点是多少? 答:因为度为0的结点(叶子结点)比度为2的结点多一个,所以度为2的结点数是69,所以总结点=70+69+80=219个3一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点解答:700/2=350若把700改为675呢?(=675/2=337.5进行四舍五入=338)4设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1。
则T中的叶子结点的个数为(8)解答:n0=(t-1)n t+(t-2)n(t-1)+...+1*n2+0*n1+1=3*1+2*1+1*2+0*4+1=85在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有多少个元素?(3个)解答:若头<尾,元素个数=尾-头:若头>尾,元素个数=15+(尾-头)6 设有则R和S能进行交集(R nS)、并集(RuS)、差操作(R-S)如果R和S的元不同的话,则R和S只能进行笛卡尔集(RXS)和自然连接7 关于二叉树遍历问题:有两个题型,一是给出二叉树,求三种遍历结果;二是给出两种遍历,求第三种遍历结果。
后者有点难度三种遍历是:前序(根左右)、中序(左根右)和后序(左右根)8 关于查找和排序问题:查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).9 关于出栈的问题:记住是先进后出例1:栈底到顶依次存放A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈可能的序列是ABCED DCBEA DBCEA CDABE例2:如果进栈序列为e1,e2,e3,e4,则可能的出栈序列为:e3,e1,e4,e2 e2,e4,e3,e1 e3,e4,e1,e2 任意顺序10 关于E---R图是实体属性和实体关系图,实体之间的关系有1:1 1:m m:n第二部分全国计算机等级考试二级公共考试训练模拟试题一一选择题(每小题2分)在下列各题的A),B),C),D),4个选项中,只有1个选项是正确选项添涂在答题卡相应位置上,答在试卷上不得分。