2020全国计算机等级考试二级C语言知识点全套复习提纲(精华版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.顺序表的删除
在顺序表中删除一个数据元素,就像是在排队买票的时候其中的一个人离开了。在平均情况下,要在线性表中删除一个元素,需要移动线性表中一半的数据元素。
考点
1.栈及其基本运算
(1)什么是栈
栈是一种特殊的线性表。在这种特殊的线性表中,其插入和删除运算都只能在线性表的一端进行。一端是封闭的,不允许插入和删除数据元素;另一端是敞开的,允许插入和删除数据元素。
2.线性表的顺序存储结构
一种数据的逻辑结构根据需要可以表示成多种存储结构。线性表的存储结构常用的是顺序存储,也称为顺序分配。线性表的顺序存储结构具有以下两个基本特点:①线性表中所有元素所占的存储空间是连续的;②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
3.顺序表的插入
所谓“顺序表”指的是使用顺序存储结构的线性表。在顺序表中插入一个新的数据元素,就像是在排队买票的时候进来了一个插队的人。
front=m+1时置front=1;然后将排头指针指向的元素赋给指定的变量。
考点
1.线性链表
(1)线性链表
线性表的链式存储结构称为线性链表。在
线性链表中,存储空间上的每一个存储结点都要分成两部分:一部分用于存储数据元素的值,称为数据域;另一部分用于存储该数据元素的存储序号(存储结点的地址,即指向后件结点),称为指针域。
全国计算机等级考试二级C语言全套复习提纲(精华版)
第一部分 公共基础知识
第一部分 公共基础知识第
考点
1.什么是算法
算法是指对解题方案的准确而完整的描述。计算机程序本质上就是一个算法,它告诉计算机确切的步骤来执行一个指定的任务。
(1)算法的基本特征
一般来说,算法应具有:可行性、确定性、有穷性、拥有足够的情报这几个特征。
1.线性表的基本概念
线性表是由n个数据元素组成的有限序列,是最简单、最常用的数据结构。其中的数据元素有着广泛的含义,可以是一个单独的数字或字母,可以是矩阵中的一行或一列向量, 也可以是二维表中的一条记录。线性表是一种线性结构。数据元素在线性表中的位置,只取决于它们自己的序号,即数据元素之间的相对位置是线性的。
2.队列及其基本运算
(1)什么是队列
队列是指允许在表的一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个队尾指针(rear)指向队尾元素,队尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。
(2)循环队列及其运算
在栈中,允许插入和删除数据元素的一端称为栈顶,而不允许插入和删除数据元素的一端称为栈底。栈顶元素总会是被最后插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。栈具有记忆的功能,支持子程序的调用。通常用指针top来指示栈顶位置,用指针bottom来指示栈底的位置。往栈中插入一个元素称为入栈运算,从栈中删除一
个元素称为退栈运算。通过栈顶指针top来反反映栈中元素的动态变化情况。
(2)栈的基本运算
栈的基本运算有3种:入栈、退栈与读栈顶元素。①入栈运算。入栈运算是指在栈顶位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。②退栈运算。退栈运算是指取出栈顶元素并赋给指定的变量。这个运算有两个基本操作:首先将栈顶元素赋值给一个指定的变量,然后将栈顶指针退一(即top减1)。③读栈顶元素。读栈顶元素是指将栈顶元素赋给一个指定的变量,但是不删除栈顶元素。因此,在这个运算中,栈顶指针不会改变。当栈顶指针为0时,说明栈空,读不到栈顶元素。
(2)线性链表的查找
在非空的线性链表中查找指定元素的操作:从头指针指向的结点开始往后沿着指针进行扫描,如果找到要查找的内容,则查找成功;如果没有对应的要ຫໍສະໝຸດ Baidu找的元素,则查找失败。为了弥补线性单链表的这个缺点,对线性链表中的每个结点设置两个指针,一个称为左指针
(Llink),用以指向其前件结点;另一个称为右指针(Rlink),用来指向其后件结点。这样的线性表称为双向链表。
(2)逻辑结构的分类
根据数据结构中各元素之间前后关系的复杂程度,将数据的逻辑结构分成线性结构和非线性结构。一个非空的线性结构如果满足以下两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。
3.数据的存储结构
数据的存储结构也称为数据的物理结构, 是指数据在计算机中存放的方式,包括数据元素的存储和关系的存储。通常,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链式存储结构。
队列的顺序存储结构一般采用循环队列的形式。所谓的循环队列,就是将队列的存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。
①入队运算。入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先将队尾指针进一(即rear=rera+1),并当rear=m+1时置rear=1;然后将新元素插入到队尾指针指向的位置。②退队运算。退队运算是指在循环队列的排头位置退出一个元素并赋值给指定的变量。这个运算有两个基本操作:首先将排头指针进一(即front=front+1),并当
考点
1.数据结构的概念
所谓数据结构是指由某一数据对象及该对象中所有数据成员之间的关系组成的集合。成员之间的关系有很多种,最常见的是前后件关系。
2.数据的逻辑结构
(1)逻辑结构的定义
数据的逻辑结构,是指反映数据之间逻辑关系的数据结构。对于电脑上的数据而言,逻辑结构就是能够用眼睛看到的数据形式,包括在屏幕上看到的文本、图片、视频等。
(2)算法的组成要素
通常,一个算法由两部分组成:一是对数据对象的运算和操作,二是算法的控制结构。
2.算法的复杂度
算法的复杂度是算法规模的度量,一个算法的复杂度高低体现在运行该算法所需要的计算机资源的多少,所需的资源越多,就说明该算法的复杂度越高;反之,所需的资源越少,则该算法的复杂度越低。算法复杂度包括算法的时间复杂度和算法的空间复杂度。
(3)线性链表的插入
在顺序表中删除一个数据元素,就像是在排队买票的时候其中的一个人离开了。在平均情况下,要在线性表中删除一个元素,需要移动线性表中一半的数据元素。
考点
1.栈及其基本运算
(1)什么是栈
栈是一种特殊的线性表。在这种特殊的线性表中,其插入和删除运算都只能在线性表的一端进行。一端是封闭的,不允许插入和删除数据元素;另一端是敞开的,允许插入和删除数据元素。
2.线性表的顺序存储结构
一种数据的逻辑结构根据需要可以表示成多种存储结构。线性表的存储结构常用的是顺序存储,也称为顺序分配。线性表的顺序存储结构具有以下两个基本特点:①线性表中所有元素所占的存储空间是连续的;②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
3.顺序表的插入
所谓“顺序表”指的是使用顺序存储结构的线性表。在顺序表中插入一个新的数据元素,就像是在排队买票的时候进来了一个插队的人。
front=m+1时置front=1;然后将排头指针指向的元素赋给指定的变量。
考点
1.线性链表
(1)线性链表
线性表的链式存储结构称为线性链表。在
线性链表中,存储空间上的每一个存储结点都要分成两部分:一部分用于存储数据元素的值,称为数据域;另一部分用于存储该数据元素的存储序号(存储结点的地址,即指向后件结点),称为指针域。
全国计算机等级考试二级C语言全套复习提纲(精华版)
第一部分 公共基础知识
第一部分 公共基础知识第
考点
1.什么是算法
算法是指对解题方案的准确而完整的描述。计算机程序本质上就是一个算法,它告诉计算机确切的步骤来执行一个指定的任务。
(1)算法的基本特征
一般来说,算法应具有:可行性、确定性、有穷性、拥有足够的情报这几个特征。
1.线性表的基本概念
线性表是由n个数据元素组成的有限序列,是最简单、最常用的数据结构。其中的数据元素有着广泛的含义,可以是一个单独的数字或字母,可以是矩阵中的一行或一列向量, 也可以是二维表中的一条记录。线性表是一种线性结构。数据元素在线性表中的位置,只取决于它们自己的序号,即数据元素之间的相对位置是线性的。
2.队列及其基本运算
(1)什么是队列
队列是指允许在表的一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个队尾指针(rear)指向队尾元素,队尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。
(2)循环队列及其运算
在栈中,允许插入和删除数据元素的一端称为栈顶,而不允许插入和删除数据元素的一端称为栈底。栈顶元素总会是被最后插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。栈具有记忆的功能,支持子程序的调用。通常用指针top来指示栈顶位置,用指针bottom来指示栈底的位置。往栈中插入一个元素称为入栈运算,从栈中删除一
个元素称为退栈运算。通过栈顶指针top来反反映栈中元素的动态变化情况。
(2)栈的基本运算
栈的基本运算有3种:入栈、退栈与读栈顶元素。①入栈运算。入栈运算是指在栈顶位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。②退栈运算。退栈运算是指取出栈顶元素并赋给指定的变量。这个运算有两个基本操作:首先将栈顶元素赋值给一个指定的变量,然后将栈顶指针退一(即top减1)。③读栈顶元素。读栈顶元素是指将栈顶元素赋给一个指定的变量,但是不删除栈顶元素。因此,在这个运算中,栈顶指针不会改变。当栈顶指针为0时,说明栈空,读不到栈顶元素。
(2)线性链表的查找
在非空的线性链表中查找指定元素的操作:从头指针指向的结点开始往后沿着指针进行扫描,如果找到要查找的内容,则查找成功;如果没有对应的要ຫໍສະໝຸດ Baidu找的元素,则查找失败。为了弥补线性单链表的这个缺点,对线性链表中的每个结点设置两个指针,一个称为左指针
(Llink),用以指向其前件结点;另一个称为右指针(Rlink),用来指向其后件结点。这样的线性表称为双向链表。
(2)逻辑结构的分类
根据数据结构中各元素之间前后关系的复杂程度,将数据的逻辑结构分成线性结构和非线性结构。一个非空的线性结构如果满足以下两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。
3.数据的存储结构
数据的存储结构也称为数据的物理结构, 是指数据在计算机中存放的方式,包括数据元素的存储和关系的存储。通常,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链式存储结构。
队列的顺序存储结构一般采用循环队列的形式。所谓的循环队列,就是将队列的存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。
①入队运算。入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先将队尾指针进一(即rear=rera+1),并当rear=m+1时置rear=1;然后将新元素插入到队尾指针指向的位置。②退队运算。退队运算是指在循环队列的排头位置退出一个元素并赋值给指定的变量。这个运算有两个基本操作:首先将排头指针进一(即front=front+1),并当
考点
1.数据结构的概念
所谓数据结构是指由某一数据对象及该对象中所有数据成员之间的关系组成的集合。成员之间的关系有很多种,最常见的是前后件关系。
2.数据的逻辑结构
(1)逻辑结构的定义
数据的逻辑结构,是指反映数据之间逻辑关系的数据结构。对于电脑上的数据而言,逻辑结构就是能够用眼睛看到的数据形式,包括在屏幕上看到的文本、图片、视频等。
(2)算法的组成要素
通常,一个算法由两部分组成:一是对数据对象的运算和操作,二是算法的控制结构。
2.算法的复杂度
算法的复杂度是算法规模的度量,一个算法的复杂度高低体现在运行该算法所需要的计算机资源的多少,所需的资源越多,就说明该算法的复杂度越高;反之,所需的资源越少,则该算法的复杂度越低。算法复杂度包括算法的时间复杂度和算法的空间复杂度。
(3)线性链表的插入