没有合适的资源?快使用搜索试试~ 我知道了~
2017全国计算机等级考试二级C语言知识点超全整打印版.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 11 浏览量
2023-05-03
11:03:56
上传
评论
收藏 1.84MB PDF 举报
温馨提示
试读
32页
2017全国计算机等级考试二级C语言知识点超全整打印版.pdf
资源推荐
资源详情
资源评论
全国计算机
等级考试
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 章 算法与数据结构
考点 1 算法
1.什么是算法
算法是指对解题方案的准确而完整的描
述。计算机程序本质上就是一个算法,它告诉
计算机确切的步骤来执行一个指定的任务。
(1)算法的基本特征
一般来说,算法应具有:可行性、确定性、
有穷性、拥有足够的情报这几个特征。
(2)算法的组成要素
通常,一个算法由两部分组成:一是对数据
对象的运算和操作,二是算法的控制结构。
2.算法的复杂度
算法的复杂度是算法规模的度量,一个算法
的复杂度高低体现在运行该算法所需要的计算机
资源的多少,所需的资源越多,就说明该算法的
复杂度越高;反之,所需的资源越少,则该算法
的复杂度越低。算法复杂度包括算法的时间复杂
度和算法的空间复杂度。
考点 2 数据结构
1.数据结构的概念
所谓数据结构是指由某一数据对象及该对象
中所有数据成员之间的关系组成的集合。成员之
间的关系有很多种,最常见的是前后件关系。
2.数据的逻辑结构
(1)逻辑结构的定义
数据的逻辑结构,是指反映数据之间逻辑
关系的数据结构。对于电脑上的数据而言,逻
辑结构就是能够用眼睛看到的数据形式,包括
在屏幕上看到的文本、图片、视频等。
(2)逻辑结构的分类
根据数据结构中各元素之间前后关系的复
杂程度,将数据的逻辑结构分成线性结构和非
线性结构。一个非空的线性结构如果满足以下
两个条件:①有且只有一个根结点;②每一个
结点最多有一个前件,也最多有一个后件。
3.数据的存储结构
数据的存储结构也称为数据的物理结构,
是指数据在计算机中存放的方式,包括数据元
素的存储和关系的存储。通常,一种数据的逻
辑结构根据需要可以表示成多种存储结构,常
用的存储结构有顺序、链式存储结构。
考点 3 线性表及其顺序存储结构
1.线性表的基本概念
线性表是由 n 个数据元素组成的有限序
列,是最简单、最常用的数据结构。其中的数
据元素有着广泛的含义,可以是一个单独的数
字或字母,可以是矩阵中的一行或一列向量,
也可以是二维表中的一条记录。线性表是一种
线性结构。数据元素在线性表中的位置,只取
决于它们自己的序号,即数据元素之间的相对
位置是线性的。
2.线性表的顺序存储结构
一种数据的逻辑结构根据需要可以表示成多
种存储结构。线性表的存储结构常用的是顺序存
储,也称为顺序分配。线性表的顺序存储结构具
有以下两个基本特点:①线性表中所有元素所占
的存储空间是连续的;②线性表中各数据元素在
存储空间中是按逻辑顺序依次存放的。
3.顺序表的插入
所谓“顺序表”指的是使用顺序存储结构的
线性表。在顺序表中插入一个新的数据元素,就
像是在排队买票的时候进来了一个插队的人。
4.顺序表的删除
在顺序表中删除一个数据元素,就像是在排
队买票的时候其中的一个人离开了。在平均情况
下,要在线性表中删除一个元素,需要移动线性
表中一半的数据元素。
考点 4 栈和队列
1.栈及其基本运算
(1)什么是栈
栈是一种特殊的线性表。在这种特殊的线
性表中,其插入和删除运算都只能在线性表的
一端进行。一端是封闭的,不允许插入和删除
数据元素;另一端是敞开的,允许插入和删除
数据元素。
在栈中,允许插入和删除数据元素的一端
称为栈顶,而不允许插入和删除数据元素的一
端称为栈底。栈顶元素总会是被最后插入的元
素,从而也是最先被删除的元素;栈底元素总
是最先被插入的元素,从而也是最后才能被删
除的元素。即栈是按照“先进后出”或“后进
先出”的原则组织数据的。栈具有记忆的功能,
支持子程序的调用。通常用指针top 来指示栈顶位
置,用指针 bottom来指示栈底的位置。往栈中
插入一个元素称为入栈运算,从栈中删除一
1 / 32
个元素称为退栈运算。通过栈顶指针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)二叉树
二叉树是一种特殊的树,是一种很有用的非
线型结构。所有树结构上的术语都可以用在二叉
树上。二叉树具有以下两个特征:① 非空二叉树只
有一个根结点;② 每个结点最多有两棵子树,
且分别称为该结点的左子树和右子树。在二叉树
中,每个结点的度最大为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)冒泡排序
冒泡排序的过程简单,它的基本思想是通
3 / 32
剩余31页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 61
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功