全国计算机考试二级《C语言》复习资料2017
C语言是近年来非常流行的语言,是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。以下是本站小编搜索整理的关于全国计算机考试二级《C语言》复习资料,供参考复习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!
一、C语言的特点
C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,}
概括起来,C语言程序具有如下的风格: ①C语言程序的函数具体模块结构风格,使得程序整体结构清晰、层次清楚,为模块化程序设计提供了强有力的支持。 ②C语言的源程序的扩展名都是.C。 其原因是C语言有优于其他语言的一系列特点。下面是C语言的`主要特点:
(1)语言简洁、紧凑,并且使用方便、灵活;
(2)运算符丰富; (3)数据结构丰富;
(4)具有结构化的控制语句;
(5)语法限制不太严格,使程序设计比较自由; (6)C语言允许用户直接访问物理地址,能进行位(bit)操作,可以直接对硬件进行操作。
二、源程序的书写规则
C语言的书写规则。C语言书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。C程序没有行号,每个语句和数据定义的最后必须有一个分号。C语言中分号是语句中不可少的,即使是程序中的最后一个语句也应该包含分号。C语言中的注释可以用〃/*〃用〃*/〃结束,注释可以在任何允许插入空格符的地方插入。C语言中注释不允许嵌套,注释可以用西文,也可以用中文。
三、C语言的风格
由于C语言对语法限制不太严格,为了保证程序的准确性和可读性,建议在书写程序采用阶梯缩进格式。也就是按如下格式书写C语言程序: **********; *****() {
**********; ********; {
******; ...... }
*********;
③C语言中的注释格式为:/*注释内容*/ /与*之间不允许有空格,注释部分允许出现在程序中的任何位置。
④C语言中的所有语句都必须以分号“;”结束
【计算机二级C语言公共基础知识】
循环链表及其基本运算
在线性链表中,虽然对数据元素的插入和删除操作比较简单,但由于它对第一个结点和空表需要单独处理,使得空表与非空表的处理不一致。
循环链表,即是采用另一种链接方式,它的特点如下:
(1)在循环链表中增加一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。
(2)循环链表中最后一个结点的指针域不是空的,而是指向表头结点。在循环链表中,所有结点的指针构成一个环状链。
在循环链表中,只要指出表中任何一个结点的位置,均可以从它开始扫描到所有的结点,而线性链表做不到,线性链表是一种单向的链表,只能按照指针的方向进行扫描。
循环链表中设置了一个表头结点,因此,在任何时候都至少有一个结点,因此空表与非空表的运算相统一。
循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。
【例】在链表上实现将两个线性表(a1,a2,…,an)和(b1,b2,…,bm)连接成一个线性表(a1,…,an,b1,…bm)的运算。
分析:若在单链表或头指针表示的单循环表上做这种链接操作,都需要遍历第一个链表,找到结点an,然后将结点b1链到an的后面,其执行时间是O(n)。
若在尾指针表示的单循环链表上实现,则只需修改指针,无须遍历,其执行时间是O(1)。
相应的算法如下:
LinkListConnect(LinkListA,LinkListB){
//假设A,B为非空循环链表的尾指针
LinkListp=A->next;//①保存A表的头结点位置
A->next=B->next->next;//②B表的开始结点链接到A表尾
free(B->next);//③释放B表的头结点
B->next=p;//④
returnB;//返回新循环链表的尾指针
}
注意:
①循环链表中没有NULL指针。涉及遍历操作时,其终止条件就不再是像非循环链表那样判别p或p->next是否为空,而是判别它们是否等于某一指定指针,如头指针或尾指针等。
②在单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。
二叉树的遍历
二叉树的遍历即是不重复地访问二叉树的所有结点。
在遍历二叉树时,一般先遍历左子树,然后再遍历右子树。在先左后右的原则下,二叉树的遍历又可分为三种:前序遍历、中序遍历和后序遍历。
1)前序遍历
前序遍历即先访问根结点,然后遍历左子树,最后遍历右子树。在遍历左子树和遍历右子树时,依然是先遍历根结点,然后是左子树,再是右子树。
操作的具体方式:
若二叉树为空,则结束返回。
否则:访问根结点前序遍历左子树前序遍历右子树
如上图所示的完全二叉树,它的前序遍历结果是:A、B、D、H、P、Q、I、R、E、J、K、C、F、L、M、G、N、O
2)中序遍历
中序遍历,即先遍历左子树,然后访问根结点,最后是遍历右子树。
具体的操作方式:
若二叉树为空,则结束返回。
否则:中序遍历左子树访问根结点 中序遍历右子树
这里强调,在遍历左子树和右子树时,仍然要采用中序遍历的方法。
如上图所示的完全二叉树,它的中序遍历结果是:P、H、Q、D、R、I、B、J、E、K、A、L、F、M、C、N、G、O
3)后序遍历
后序遍历,即选遍历左子树,然后是遍历右子树,最后访问根结点。
具体的操作方式:
若二叉树为空,则结束返回。
否则:前序遍历左子树前序遍历右子树访问根结点
如上图所示的完全二叉树,它的后序遍历结果是:P、Q、H、R、I、D、J、K、E、B、L、M、F、N、O、G、C、A
-
2016年计算机二级MySQL数据库考试练习
在复习阶段多做练习可以帮助我们巩固知识和提高做题速度以及掌握做题技巧等。下面是本站小编为大家整理的2016年计算机二级MySQL数据库考试练习,希望可以帮助到大家的学习!习题一一、选择题下列哪种方法不能用于创建索引?_______A)使用CREATEINDEX语句B)使用CRE...
-
全国计算机等级二级考试java试题及答案
为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的全国计算机等级二级考试java试题及答案,供参考练习,预祝考生们考出自己理想的成绩!1、如果在创建表中建立需要存放二进制数据文档的字段,其数据类型应当为___D___。A.文本类型B.货...
-
2021计算机二级《VB》上机操作题与答案解析
VisualBasic是一种由微软公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。以下是本站小编搜索整理的一份2017计算机二级《VB》上机操作题与答案解析,供参考练习,希望对大家有所帮助!想了解更多相关信息请持续...
-
2016计算机二级《C语言》练习题及答案
2016年3月计算机考试即将在3月26日-29日进行,为了帮助大家顺利通过2016年计算机二级考试,下面本站小编为大家带来2016计算机二级《C语言》练习题及答案,供大家参考学习,预祝考生备考成功!1[单选题]有以下程序:程序运行后的输出结果是()。A.10,One*Dream!B.9,One*Dream...