描述
开 本: 大16开纸 张: 轻型纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115469663
1.考点精准、内容讲解易学易懂
2.全套无纸化考试题库,题量丰富
3.根据每次考试情况及时更新题目
4.无纸化模拟软件完全模拟全新真考环境,软件功能强大,能做题能评分能看解析
为了帮助考生在*短的时间内顺利通过计算机等级考试,全国计算机等级考试命题研究中心和未来教育教学与研究中心联合策划、编写了本书。
全书共15章,主要内容包括:考试指南、公共基础知识、C语言概述、运算符与表达式、基本语句、选择结构、循环结构、数组、函数、指针、编译预处理和动态存储分配、结构体和共用体、文件、操作题高频考点精讲、新增真考试题及解析。
本书配套软件提供的模拟考试系统包含全套真考题库试题,完全模拟真考环境,带领考生提前进入“考场”,其自动评分的功能可帮助考生了解自己对知识的掌握程度。书与软件的完美结合,为考生通过考试提供实实在在的帮助。
本书可作为全国计算机等级考试二级C语言科目的培训教材与自学用书,也可作为学习C语言的参考书。
目录
第0章 考试指南 1
0.1 考试环境简介 2
0.2 考试流程演示 2
第1章 公共基础知识 5
1.1 数据结构与算法 6
考点1 算法 6
考点2 数据结构的基本概念 6
考点3 线性表及其顺序存储结构 7
考点4 栈和队列 9
考点5 线性链表 10
考点6 树和二叉树 11
考点7 查找技术 12
考点8 排序技术 13
1.2 程序设计基础 15
考点9 程序设计方法与风格 15
考点10 结构化程序设计 15
考点11 面向对象的程序设计 16
1.3 软件工程基础 17
考点12 软件工程的基本概念 17
考点13 结构化分析方法 19
考点14 结构化设计方法 20
考点15 软件测试 21
考点16 程序的调试 23
1.4 数据库设计基础 23
考点17 数据库系统的基本概念 25
考点18 数据模型 25
考点19 关系代数 26
考点20 数据库设计与管理 28
1.5 综合自测 29
第2章 C语言概述 32
2.1 语言基础知识 33
考点1 C语言概述 33
考点2 C语言的构成 33
2.2 常量、变量和数据类型 35
考点3 标识符 35
考点4 常量 36
考点5 变量 38
2.3 综合自测 40
第3章 运算符与表达式 42
3.1 C语言运算符 43
考点1 C语言运算符简介 43
考点2 运算符的结合性和优先级 44
考点3 逗号运算符和逗号表达式 45
3.2 算术运算符和算术表达式 46
考点4 基本的算术运算符 46
考点5 算术表达式和运算符的优先级与结合性 47
考点6 自加、自减运算符 48
3.3 赋值运算符和赋值表达式 50
考点7 赋值运算符和赋值表达式 50
考点8 复合的赋值运算符 51
考点9 强制类型转换运算符与赋值运算中的类型转换 52
3.4 位运算 54
考点10 位运算符和位运算 54
3.5 综合自测 55
第4章 基本语句 57
4.1 C语句概述 58
考点1 C语句分类 58
4.2 赋值语句与输入/输出 59
考点2 字符输出函数putchar 59
考点3 字符输入函数 getchar 60
考点4 格式输出函数printf() 61
考点5 格式输入函数scanf() 63
4.3 综合自测 65
第5章 选择结构 67
5.1 关系运算符和关系表达式 68
考点1 关系运算符和关系表达式 68
5.2 逻辑运算符和逻辑表达式 70
考点2 逻辑运算符和逻辑表达式 70
5.3 if语句和用if语句构成的选择结构 72
考点3 if语句的几种形式 72
考点4 if语句的嵌套 74
考点5 由条件运算符构成的选择结构 75
5.4 switch语句 76
考点6 switch语句 76
5.5 综合自测 78
第6章 循环结构 81
6.1 while 语句 82
考点1 while语句 82
6.2 do…while 语句 83
考点2 do…while 语句 83
6.3 for语句 85
考点3 for 语句 85
6.4 循环的嵌套 88
考点4 循环的嵌套 88
6.5 break语句和continue语句 90
考点5 break语句 90
考点6 continue语句 91
6.6 综合自测 93
第7章 数组 96
7.1 一维数组的定义和引用 97
考点1 一维数组的定义及其元素的引用 97
考点2 一维数组的初始化 98
7.2 二维数组的定义和引用 100
考点3 二维数组的定义及其元素的引用 100
考点4 二维数组的初始化 102
7.3 字符数组 105
考点5 字符数组的定义及其初始化和引用 105
考点6 字符串和字符串结束标识 106
考点7 字符数组的输入/输出 107
考点8 字符串处理函数 108
7.4 综合自测 110
第8章 函数 115
8.1 库函数 116
考点1 库函数 116
8.2 函数定义的一般形式 117
考点2 函数的定义 117
8.3 函数参数和函数返回值 118
考点3 函数参数及函数的返回值 118
8.4 函数的调用 120
考点4 函数调用的一般形式和调用方式 120
考点5 函数的说明及其位置122
8.5 函数的递归调用 124
考点6 函数的递归调用 124
8.6 标识符的作用域和存储类别 126
考点7 标识符的作用域和存储类别 127
8.7 综合自测 127
第9章 指针 131
9.1 关于地址和指针 132
9.2 变量的指针和指向变量的指针变量 133
考点1 指针变量的定义和引 133
考点2 指针变量作为函数参 135
9.3 数组与指针 137
考点3 移动指针 138
考点4 指向数组元素的指针以及通过指针引用数组元素 139
考点5 用数组名作为函数参数 140
9.4 字符串与指针 141
考点6 字符串及字符指针 141
9.5 指向函数的指针及返回指针值的函数 142
考点7 用函数指针变量调用函数 142
9.6 综合自测 143
第10章 编译预处理和动态存储分配 147
10.1 宏定义 148
考点1 不带参数的宏定义 148
考点2 带参数的宏定义 149
10.2 文件包含 150
考点3 文件包含 150
10.3 关于动态存储的函数 151
考点4 malloc()函数 152
考点5 free()函数 153
10.4 综合自测 154
第11章 结构体和共用体 157
11.1 用typedef说明一种新类型名 158
考点1 用typedef说明一种新类型名 158
11.2 结构体类型、结构体变量的定义和引用 159
考点2 结构体类型的变量、数组和指针变量的定义 159
11.3 指向结构体类型数据的指针 162
考点3 指向结构体变量的指针 162
11.4 链表 163
考点4 链表 163
考点5 建立单向链表 165
考点6 顺序访问链表中各节点的数据域 167
考点7 在链表中插入和删除节点 168
11.5 共用体 169
考点8 共用体类型的定义和引用 170
11.6 综合自测 171
第12章 文件 176
12.1 C语言文件的概念 177
考点1 文件的概念和文件指针 177
12.2 文件的打开与关闭 178
考点2 fopen()函数和fclose()函数 178
12.3 文件的读、写 180
考点3 fputc()函数和fgetc()函数 180
考点4 fread()函数和fwrite()函数 183
考点5 fscanf()函数和fprintf()函数 183
考点6 fgets()函数和fputs()函数 185
12.4 文件的定位 186
考点7 fseek()函数和随机读写 186
12.5 综合自测 188
第13章 操作题高频考点精讲 191
13.1C 程序设计基础 192
考点1 C程序结构特点 192
考点2 常量与变量 192
考点3 运算符及表达式 192
考点4 强制类型转换 193
13.2 C语言的基本结构 193
考点5 格式输入与输出 193
考点6 条件与分支(if,switch)194
考点7 循环 195
13.3 函数 196
考点8 函数的定义、调用及参数传递 196
考点9 迭代算法和递归算法 196
13.4 指针 197
考点10 指针变量的定义 197
考点11 函数之间的地址传递 197
13.5 数组 198
考点12 一维数组 198
考点13 排序算法 198
考点14 二维数组199
13.6 字符串 200
考点15 字符串的表示 200
考点16 指向字符串的指 201
考点17 字符串处理函数 201
13.7 结构体、共用体和用户定义类型 201
考点18 结构体变量的定义与表示方法 201
考点19 链表 202
考点20 命名类型 203
考点21 宏定义 203
13.8 文件 203
考点22 文件的打开与关闭 203
考点23 文件的读写 203
考点24 文件检测函数 204
第14章 新增真考试题及解析 205
14.1 新增真考试题 206
第1套 新增真考试题 206
第2套 新增真考试题 215
14.2 新增真考试题参考答案及解析 224
第1套 参考答案及解析 224
第2套 参考答案及解析 227
14.3 第1~第109套无纸化真考试题及解析(见光盘)230
附录 231
附录A 新版考试大纲专家解读 231
附录B 综合自测参考答案 234
1.1数据结构与算法
考点1算法1.算法的基本概念
算法是指对解题方案准确而完整的描述。
(1)算法的基本特征。
考核概率为45%。该知识点属于熟记内容,考生要熟记算法的概念,以及时间复杂度和空间复杂度的概念。可行性:针对实际问题而设计的算法,执行后能够得到满意的结果,即必须有一个或多个输出。注意,即使某一算法在数学理论上是正确的,但如果在实际的计算工具上不能执行,则该算法也是不具有可行性的。
确定性:指算法中每一步骤都必须是有明确定义的。
有穷性:指算法必须能在有限的时间内做完。
拥有足够的情报:一个算法是否有效,还取决于为算法所提供的情报是否足够。
(2)算法的基本要素。
算法一般由两种基本要素构成:
对数据对象的运算和操作;
算法的控制结构,即运算和操作时间的顺序。
算法中对数据的运算和操作:算法就是按解题要求从指令系统中选择合适的指令组成的指令序列。因此计算机算法就是计算机能执行的操作所组成的指令序列。不同的计算机系统,其指令系统是有差异的,但一般的计算机系统中都包括的运算和操作有4类,即算术运算、逻辑运算、关系运算和数据传输。
算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。算法的功能不仅取决于所选用的操作,还与各操作之间的执行顺序有关。基本的控制结构包括顺序结构、选择结构和循环结构。
(3)算法设计的基本方法。
算法设计的基本方法有列举法、归纳法、递推法、递归法、减半递推技术和回溯法。
2.算法复杂度
算法的复杂度主要包括时间复杂度和空间复杂度。
(1)算法的时间复杂度。
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
一般情况下,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即
算法的工作量=f(n)
其中n是问题的规模。这个表达式表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。
在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入,可以用两种方法来分析算法的工作量:平均性态分析和坏情况分析。
(2)算法的空间复杂度。
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。算法执行期间所需要的存储空间包括3个部分:
算法程序所占的空间;
输入的初始数据所占的存储空间;
算法执行过程中所需要的额外空间。
在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术。
考点2数据结构的基本概念1.数据结构的定义
数据结构是指相互有关联的数据元素的集合,即数据的组织形式。
在选择题中,考核概率45%。该知识点属于熟记内容,熟记数据结构的定义、分类,能区分线性结构与非线性结构。(1)数据的逻辑结构。
所谓数据的逻辑结构,是指反映数据元素之间逻辑关系(即前、后件关系)的数据结构。它包括数据元素的集合和数据元素之间的关系。
(2)数据的存储结构。
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称为数据的物理结构)。数据结构的存储方式有顺序存储方法、链式存储方法、索引存储方法和散列存储方法。而采用不同的存储结构,其数据处理的效率是不同的。因此,在进行数据处理时,选择合适的存储结构是很重要的。
数据结构研究的内容主要包括3个方面:
数据集合中各数据元素之间的逻辑关系,即数据的逻辑结构;
在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;
对各种数据结构进行的运算。
2.数据结构的图形表示
数据元素之间基本的关系是前、后件关系。前、后件关系,即每一个二元组,都可以用图形来表示。用中间标有元素值的方框表示数据元素,一般称之为数据节点,简称为节点。对于每一个二元组,用一条有向线段从前件指向后件。
用图形表示数据结构具有直观易懂的特点,在不引起歧义的情况下,前件节点到后件节点连线上的箭头可以省去。例如,树形结构中,通常是用无向线段来表示前、后件关系的。
3.线性结构与非线性结构
根据数据结构中各数据元素之间前、后关系的复杂程度,一般将数据结构分为两大类型,即线性结构和非线性结构。
如果一个非空的数据结构有且只有一个根节点,并且每个节点多有一个直接前驱或直接后继,则称该数据结构为线性结构,又称线性表。不满足上述条件的数据结构称为非线性结构。
小提示需要注意的是,在一个线性结构中插入或删除任何一个节点后还应该是线性结构;否则,不能称之为线性结构。
下列叙述中正确的是()。
A.程序执行的效率与数据的存储结构密切相关
B.程序执行的效率只取决于程序的控制结构
C.程序执行的效率只取决于所处理的数据量
D.以上3种说法都不对
【答案】 A
【解析】在计算机中,数据的存储结构对数据的执行效率有较大影响,如在有序存储的表中查找某个数值比在无序存储的表中查找的效率高很多。
评论
还没有评论。