没有合适的资源?快使用搜索试试~ 我知道了~
2017全国计算机等级考试二级C语言知识点超全整打印版.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 154 浏览量
2022-07-10
23:29:08
上传
评论
收藏 197KB DOCX 举报
温馨提示
试读
32页
2017全国计算机等级考试二级C语言知识点超全整打印版.docx
资源推荐
资源详情
资源评论
1 / 32
全国计算机
等级考试
目录
第一部分公共基础知识
第 1 章 算法与数据结构 ................................1
考点 1 算法......................................................1
考点 2 数据结构..........................................1
考点 3 线性表及其顺序存储结构..............1
考点 4 栈和队列..........................................1
考点 5 线性链表..........................................2
考点 6 树与二叉树......................................2
考点 7 查找技术..........................................3
考点 8 排序技术..........................................3
第 2 章 程序设计基础 ......................................4
考点 1 程序设计方法与风格......................4
考点 2 结构化程序设计..............................5
考点 3 面向对象的程序设计......................5
第 3 章 软件工程基础 ..................................5
考点 1 软件工程基本概念..........................5
考点 2 软件分析方法..................................6
考点 3 结构化设计方法..............................7
考点 4 软件测试..........................................8
考点 5 程序的调试......................................9
第 4 章 数据库设计基础 ................................9
考点 1 数据库系统的基本概念..................9
考点 2 数据库系统的基本概念................10
考点 3 关系代数........................................12
考点 4 数据库设计与管理........................12
第二部分 二级 C 语言
第 1 章 程序设计基本概念 ..........................14
考点 1 程序设计........................................14
考点 2 C 程序的结构和格式.....................14
考点 3 常量和变量....................................14
考点 4 算术表达式....................................15
考点 5 赋值表达式....................................16
考点 6 自加、自减和逗号运算................16
第 2 章 顺序结构 ..........................................17
考点 1 字符型常量与变量........................17
考点 2 putchar 与 getchar 函数 ...................17
考点 3 printf 函数 ..........................................17
考点 4 scanf 函数...........................................18
考点 5 位运算的含义和应用....................18
第 3 章 选择结构 ..........................................19
考点 1 关系运算符和关系表达式............19
考点 2 逻辑运算符和逻辑表达式............19
考点 3 if 语句及其构成的选择结构 .........19
考点 4 switch 语句与 break 语句 ..............20
第 4 章 循环结构 ..........................................20
考点 1 while 循环结构...............................20
考点 2 do-while 循环结构 .........................21
考点 3 for 循环结构...................................21
考点 4 嵌套循环语句................................21
第 5 章 函数.......................................................21
考点 1 库函数 ...........................................21
考点 2 函数的调用....................................22
考点 3 参数传递........................................22
考点 4 函数的递归调用............................23
考点 5 局部、全局变量和存储分类........23
第 6 章 地址与指针 ......................................23
考点 1 变量的地址和指针........................23
考点 2 指针变量的操作............................24
考点 3 函数之间地址的传递....................24
第 7 章 数组.......................................................24
考点 1 一维数组的定义及元素的引用.. 24
考点 2 函数对一维数组及元素的引用.. 25
考点 3 二维数组的定义............................25
考点 4 二维数组和指针............................25
考点 5 二维数组名和指针数组作为实参... 26
第 8 章 字 符串 ..............................................26
考点 1 用一维字符数组存放字符串........26
考点 2 使指针指向字符串........................26
考点 3 字符串的输入和输出....................26
考点 4 字符串数组....................................27
考点 5 用于字符串处理的函数................27
第 9 章 编译预处理和动态存储分配 ............27
考点 1 编译预处理....................................27
考点 2 宏替换 ...........................................27
考点 3 文件包含处理................................28
考点 4 动态存储分配................................28
第 10 章 结构体、共用体和用户定义类型28
考点 1 结构体 ...........................................28
考点 2 共用体 ...........................................29
考点 3 用户定义类型................................29
第 11 章 文件 ................................................29
考点 1 文件指针........................................29
考点 2 文件的读写....................................30
1 / 32
第一部分公共基础知识第
1 章算法与数据结构
考点1 算法
1.什么是算法
算法是指对解题方案的准确而完整的描述。
计算机程序本质上就是一个算法,它告诉计算
机确切的步骤来执行一个指定的任务。
(1)算法的基本特征
一般来说,算法应具有:可行性、确定性、
有穷性、拥有足够的情报这几个特征。
(2)算法的组成要素
通常,一个算法由两部分组成:一是对数据
对象的运算和操作,二是算法的控制结构。
2.算法的复杂度
算法的复杂度是算法规模的度量,一个算法
的复杂度高低体现在运行该算法所需要的计算机
资源的多少,所需的资源越多,就说明该算法的
复杂度越高;反之,所需的资源越少,则该算法
的复杂度越低。算法复杂度包括算法的时间复杂
度和算法的空间复杂度。
考点2 数据结构
1.数据结构的概念
所谓数据结构是指由某一数据对象和该对象
中所有数据成员之间的关系组成的集合。成员之
间的关系有很多种,最常见的是前后件关系。
2.数据的逻辑结构
(1)逻辑结构的定义
数据的逻辑结构,是指反映数据之间逻辑
关系的数据结构。对于电脑上的数据而言,逻
辑结构就是能够用眼睛看到的数据形式,包括
在屏幕上看到的文本、图片、视频等。
(2)逻辑结构的分类
根据数据结构中各元素之间前后关系的复
杂程度,将数据的逻辑结构分成线性结构和非
线性结构。一个非空的线性结构如果满足以下
两个条件:①有且只有一个根结点;②每一个
结点最多有一个前件,也最多有一个后件。
3.数据的存储结构
数据的存储结构也称为数据的物理结构,
是指数据在计算机中存放的方式,包括数据元
素的存储和关系的存储。通常,一种数据的逻
辑结构根据需要可以表示成多种存储结构,常
用的存储结构有顺序、链式存储结构。
考点3 线性表和其顺序存储结构
1.线性表的基本概念
线性表是由n 个数据元素组成的有限序列,
是最简单、最常用的数据结构。其中的数据元
素有着广泛的含义,可以是一个单独的数字或
字母,可以是矩阵中的一行或一列向量,也可
以是二维表中的一条记录。线性表是一种线性
结构。数据元素在线性表中的位置,只取决于
它们自己的序号,即数据元素之间的相对位置
是线性的。
2.线性表的顺序存储结构
一种数据的逻辑结构根据需要可以表示成多
种存储结构。线性表的存储结构常用的是顺序存
储,也称为顺序分配。线性表的顺序存储结构具
有以下两个基本特点:①线性表中所有元素所占
的存储空间是连续的;②线性表中各数据元素在
存储空间中是按逻辑顺序依次存放的。
3.顺序表的插入
所谓“顺序表”指的是使用顺序存储结构的
线性表。在顺序表中插入一个新的数据元素,就
像是在排队买票的时候进来了一个插队的人。
4.顺序表的删除
在顺序表中删除一个数据元素,就像是在排
队买票的时候其中的一个人离开了。在平均情况
下,要在线性表中删除一个元素,需要移动线性
表中一半的数据元素。
考点4 栈和队列
1.栈和其基本运算
(1)什么是栈
栈是一种特殊的线性表。在这种特殊的线
性表中,其插入和删除运算都只能在线性表的
一端进行。一端是封闭的,不允许插入和删除
数据元素;另一端是敞开的,允许插入和删除
数据元素。
在栈中,允许插入和删除数据元素的一端
称为栈顶,而不允许插入和删除数据元素的一
端称为栈底。栈顶元素总会是被最后插入的元
素,从而也是最先被删除的元素;栈底元素总
是最先被插入的元素,从而也是最后才能被删
除的元素。即栈是按照“先进后出”或“后进
先出”的原则组织数据的。栈具有记忆的功能,
支持子程序的调用。通常用指针top 来指示栈顶位
置,用指针bottom 来指示栈底的位置。往栈中插
入一个元素称为入栈运算,从栈中删除一
个元素称为退栈运算。通过栈顶指针top 来反反映
栈中元素的动态变化情况。
(2)栈的基本运算
栈的基本运算有3种:入栈、退栈与读栈顶
元素。①入栈运算。入栈运算是指在栈顶位置
插入一个新元素。这个运算有两个基本操作:
首先将栈顶指针进一(即 top加1),然后将新
元素插入到栈顶指针指向的位置。②退栈运算。
退栈运算是指取出栈顶元素并赋给指定的变量。
这个运算有两个基本操作:首先将栈顶元素赋
值给一个指定的变量,然后将栈顶指针退一
(即top减1)。③读栈顶元素。读栈顶元素是指
将栈顶元素赋给一个指定的变量,但是不删除
栈顶元素。因此,在这个运算中,栈顶指针不
会改变。当栈顶指针为0时,说明栈空,读不到
栈顶元素。
2.队列和其基本运算
(1)什么是队列
队列是指允许在表的一端进行插入、而在另
一端进行删除的线性表。允许插入的一端称为队
尾,通常用一个队尾指针(rear)指向队尾元素,
队尾指针总是指向最后被插入的元素;允许删
除的一端称为排头(也称为队头),通常也用一
个排头指针(front)指向排头元素的前一个位
置。
(2)循环队列和其运算
队列的顺序存储结构一般采用循环队列
的形式。所谓的循环队列,就是将队列的存储
空间的最后一个位置绕到第一个位置,形成逻
辑上的环状空间,供队列循环使用。
①入队运算。入队运算是指在循环队列的
队尾加入一个新元素。这个运算有两个基本操
作:首先将队尾指针进一(即rear=rera+1),并
当rear=m+1 时置rear=1;然后将新元素插入到队
尾指针指向的位置。②退队运算。退队运算是指
在循环队列的排头位置退出一个元素并赋值给指
定的变量。这个运算有两个基本操作:首先将排
头指针进一(即front=front+1),并当
front=m+1 时置front=1;然后将排头指针指向的元
素赋给指定的变量。
考点5 线性链表
1.线性链表
(1)线性链表
线性表的链式存储结构称为线性链表。在
线性链表中,存储空间上的每一个存储结点都
要分成两部分:一部分用于存储数据元素的
值,称为数据域;另一部分用于存储该数据元
素的存储序号(存储结点的地址,即指向后件
结点),称为指针域。
(2)线性链表的查找
在非空的线性链表中查找指定元素的操作:
从头指针指向的结点开始往后沿着指针进行扫描,
如果找到要查找的内容,则查找成功;如果没有对
应的要查找的元素,则查找失败。为了弥补线性
单链表的这个缺点,对线性链表中的每个结点设
置两个指针,一个称为左指针
(Llink),用以指向其前件结点;另一个称为
右指针(Rlink),用来指向其后件结点。这样
的线性表称为双向链表。
(3)线性链表的插入
在向线性链表中插入一个新元素之前,我
们先要给该元素分配一个新结点,其中包括值
域和指针域以便用于存储该元素的值。然后找
到插入位置,将插入位置前件的指针指向新结点,
将新接点的指针指向插入位置后件的结点。
(4)线性链表的删除
要从线性表中删除一个元素,首先将要删除
元素的前后件两个指针断开,然后把要删除结点
的前件的指针,指向删除结点后的数据元素。
2.循环链表
循环链表与单链表唯一的不同,就是最后
一个结点的指针域中的值不同。单链表的最后
一个结点的指针域存放的是一个空指针,而循
环链表的最后一个结点的指针域存放的是指向
第一个结点的指针。
考点6 树与二叉树
1.树的基本概念
树是一种比较简单的非线型结构。在树中所
有的数据元素之间具有明显的层次关系。之所以
将这种数据结构命名为“树”,是因为其结构
看上去像一棵倒长着的树。在树的图形表示中,
上端的结点是前件,下端的结点是后件。
2.二叉树和基本性质
(1)二叉树
二叉树是一种特殊的树,是一种很有用的非
线型结构。所有树结构上的术语都可以用在二叉
树上。二叉树具有以下两个特征:① 非空二叉树只
有一个根结点;② 每个结点最多有两棵子树,
3 / 32
且分别称为该结点的左子树和右子树。在二叉树
中,每个结点的度最大为2,所有的左子树和右
子树也均是二叉树。同时,在二叉树中所有的结
点可以没有左子树,也可以没有右子树。即没有
左子树又没有右子树的结点是叶子结点。
(2)满二叉树
所谓满二叉树是指:除最后一层外,每一层
上的所有结点都有两个子结点。这就是说,在满
二叉树中,每一层上的结点数都达到最大值,即
满二叉树的第k 层上有2
k-1
个结点,且深度为m
的满二叉树有2
m
-1 个结点。
(3)完全二叉树
所谓的完全二叉树是指:除最后一层外,
每一层上的结点数均达到最大值,最后一层上
只缺少右边的若干个结点。
完全二叉树就是去掉最后一层若干个右
边结点的满二叉树。
(4)二叉树的基本性质
①二叉树的基本性质。二叉树具有以下几
个基本性质:性质1:在二叉树的第K 层上最多
有2
k-1
(k≥1)个结点。性质2:深度为m 的二
叉树最多有2
m
-1 个结点。性质3:在任意一棵二
叉树中,叶子结点(即度为0 的结点),总比度为
2 的结点多一个。性质4:具有n 个结点
的二叉树,
其深度至少为[log
2
n]+1。
②完全二叉树的两项特性。完全二叉树还
具有以下两项特性:性质5:具有n 个结点的
完全二叉树,其深度为[log
2
n]+1。性质6:设
完
全二叉树共有n 个结点。如果从根结点开始,按层
序(每一层从左到右)用自然数“1,2,„,
n”给结点进行编号。
3.二叉树的遍历
二叉树的遍历是指按照一定的顺序访问
二叉树中的结点,每个结点只被访问一次。为
了保证所有结点被不重不漏地访问,必须按照
一定的顺序进行。
(1)前序遍历(DLR)
首先访问根结点,然后遍历左子树,最后遍
历右子树;在遍历左、右子树时,也按上述的顺序
执行。可见前序遍历二叉树是一个递归的过程。对于
二叉树的前序遍历,具有如下的规则:对于空的二
叉树,不进行操作返回空值。对于非空的二叉树的
遍历按下列顺序执行:①访问根结点;
②前序遍历左子树;③前序遍历右子树。
(2)中序遍历(LDR)
首先遍历左子树,然后访问根结点,最后遍
历右子树;在遍历左、右子树时,也按上述的顺
序执行。可见中序遍历二叉树也是一个递归的过
程。对于二叉树的中序遍历,具有的规则:①对
于空的二叉树,不进行操作返回空值。②对于非
空的二叉树的遍历按下列顺序执行:中序遍历左
子树;访问根结点;中序遍历右子树。
(3)后序遍历(LRD)
首先遍历左子树,然后遍历右子树,最后
访问根结点;在遍历左、右子树时,也按上述
的顺序执行。可见后序遍历二叉树同样也是一
个递归的过程。对于二叉树的后序遍历,具有
的规则:①对于空的二叉树,不进行操作返回
空值。②对于非空的二叉树的遍历按下列顺序
执行:后序遍历左子树;后序遍历右子树;访
问根结点。
考点7 查找技术
查找就是从给定的一个数据结构中,找出指
定的数据元素。本节中我们只学习对线性表的查找,
常用的查找方法有顺序查找和二分法查找。
1.顺序查找
顺序查找的过程是:从线性表的第一个元素
开始,依次将线性表中的数据与要查找的数据进
行比较,如果找到了相等的数据,则查找成功,
停止向下查找;如果比较完了线性表中的所有数
据元素,没有找到相等的数据,则查找失败。
2.二分法查找
二分法查找又称为折半查找,只能应用于
顺序存储的有序表。有序表是指线性表中的元
素已经按值非递减(从整体上看是升序,但相
邻的元素的值可以相同)排列。
考点8 排序技术
排序就是将一组无序的数据按照一定的顺
序排列起来。本节中所指的顺序是非递减顺序
(整体上呈升序,但相邻的数据可以相等),基
本排序算法主要有交换类排序、插入类排序和
选择类排序3 大类。
1.交换类排序
交换排序就是借助数据元素之间的互相交
换进行排序的方法。常用的交换排序方法有冒
泡排序和快速排序。
(1)冒泡排序
冒泡排序的过程简单,它的基本思想是通
剩余31页未读,继续阅读
资源评论
kfcel5889
- 粉丝: 3
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功