本书以“真题导向、讲练结合”为核心,对历年GESP考题进行系统梳理与深入分析,帮助读者理解命题意图,掌握科学的解题方法与技巧。
全书基于GESP考试大纲,系统归纳了每个级别的核心知识点与命题规律,包含大量真题及详细解析,辅以典型例题讲解和综合练习。内容编排由浅入深、循序渐进,每章从基础概念延伸到方法实践,并在每级末尾提供高度仿真的模拟试题,全面覆盖考点,助力学生巩固知识、熟悉考试形式与节奏。
更多科学出版社服务,请扫码获取。
1987年毕业于成都科学技术大学(现四川大学)计算机软件专业,获学士学位。后在职深造,于1998年获计算机科学硕士学位。1987年 - 1995年: 西南计算机系统有限公司,担任软件工程师;1995年 - 2005年: 深圳华成科技股份有限公司,担任项目经理;2005年 - 2015年: 北京数通科技有限公司,任职技术总监;2015年 - 2020年: 上海云智数据服务有限公司;2021年至今:四川榕阳科技有限公司在《计算机工程与应用》、《软件学报》等期刊发表论文10余篇,申请/授权发明专利与软著20余项无社会兼职
目录
第1章 GESP一级 1
1.1 计算机基础与编程环境 2
1.1.1 计算机的基本构成 2
1.1.2 编程环境 5
1.1.3 课堂练习 7
1.1.4 课后习题 9
1.2 计算机历史 10
1.2.1 发展史 10
1.2.2 计算机的分类 11
1.2.3 计算机的基本特征 11
1.2.4 计算机的应用 12
1.2.5 课堂练习 12
1.2.6 课后习题 13
1.3 变量的定义与使用 14
1.3.1 变量的定义 14
1.3.2 变量名的命名规则 14
1.3.3 变量的使用 14
1.3.4 课堂练习 15
1.3.5 课后习题 16
1.4 输入/输出语句 17
1.4.1 输出语句 17
1.4.2 输入语句 18
1.4.3 占位符 19
1.4.4 课堂练习 19
1.4.5 课后习题 21
1.5 基本数据类型 21
1.5.1 整数类型 21
1.5.2 浮点类型 22
1.5.3 字符类型 22
1.5.4 布尔类型 22
1.5.5 课堂练习 23
1.5.6 课后习题 23
1.6 基本运算 24
1.6.1 算术运算 24
1.6.2 关系运算 25
1.6.3 逻辑运算 25
1.6.4 运算优先级 26
1.6.5 课堂练习 26
1.6.6 课后习题 28
1.7 控制语句结构 28
1.7.1 顺序结构 28
1.7.2 选择结构 29
1.7.3 循环结构 32
1.7.4 课堂练习 34
1.7.5 课后习题 36
1.8 编程题解析 37
1.8.1 顺序结构 37
1.8.2 分支结构 38
1.8.3 循环结构 40
GESP一级模拟卷 41
第2章 GESP二级 47
2.1 计算机的存储与网络 48
2.1.1 计算机的存储 48
2.1.2 计算机网络基础 49
2.1.3 课堂练习 53
2.1.4 课后习题 54
2.2 程序设计语言的特点 55
2.2.1 程序设计语言 55
2.2.2 程序编译和运行 56
2.2.3 课堂练习 57
2.2.4 课后习题 57
2.3 流程图的概念与描述 58
2.3.1 流程图的概念 58
2.3.2 流程图的基本符号及含义 58
2.3.3 流程图的基本结构 59
2.3.4 课堂练习 60
2.3.5 课后习题 62
2.4 ASCII编码 62
2.4.1 ASCII编码表 62
2.4.2 ASCII编码的应用 63
2.4.3 课堂练习 64
2.4.4 课后习题 65
2.5 数据类型的转换 66
2.5.1 隐式类型转换 66
2.5.2 显式类型转换 66
2.5.3 课堂练习 67
2.5.4 课后习题 68
2.6 多层分支/循环结构 69
2.6.1 多层分支结构 69
2.6.2 多层循环结构 70
2.6.3 分支与循环的混合嵌套 71
2.6.4 课堂练习 72
2.6.5 课后习题 74
2.7 常用数学函数 76
2.7.1 头文件 76
2.7.2 绝对值函数 76
2.7.3 平方根函数 77
2.7.4 最大值函数 77
2.7.5 最小值函数 77
2.7.6 其他常用数学函数 78
2.7.7 课堂练习 79
2.7.8 课后习题 80
2.8 编程题解析 81
GESP二级模拟卷 85
第3章 GESP三级 91
3.1 数据编码 92
3.1.1 机器数和真值 92
3.1.2 原码、反码、补码 92
3.1.3 数的定点与浮点表示 93
3.1.4 其他编码 94
3.1.5 课堂练习 95
3.1.6 课后习题 98
3.2 进制转换 99
3.2.1 十进制转R 进制(反向取余/正向取整法) 99
3.2.2 二进制转十进制(乘权求和法) 100
3.2.3 二进制转八/十六进制(分组转换法) 100
3.2.4 八/十六进制转二进制(还组转换法) 100
3.2.5 十六进制转八进制(以二进制作为中间桥梁) 101
3.2.6 课堂练习 101
3.2.7 课后习题 104
3.3 位运算 105
3.3.1 按位与(&) 105
3.3.2 按位或(|) 105
3.3.3 按位非(~) 105
3.3.4 异或(^) 106
3.3.5 左移(<<) 106
3.3.6 右移(>>) 106
3.3.7 运算优先级 107
3.3.8 课堂练习 107
3.3.9 课后习题 110
3.4 算法的概念与描述 111
3.4.1 算法基本概念 111
3.4.2 算法的描述方法 112
3.4.3 课堂练习 114
3.4.4 课后习题 116
3.5 一维数组基本运用 117
3.5.1 数组定义 117
3.5.2 初始化方法 117
3.5.3 数组基本操作 118
3.5.4 课堂练习 118
3.5.5 课后习题 121
3.6 字符串及函数 122
3.6.1 课堂练习 124
3.6.2 课后习题 128
3.7 算法:枚举法 129
3.7.1 课堂练习 130
3.7.2 课后习题 135
3.8 算法:模拟法 136
3.8.1 课堂练习 136
3.8.2 课后习题 138
3.9 编程题解析 139
3.9.1 进制转换 139
3.9.2 位运算 140
3.9.3 数 组 141
3.9.4 字符串及函数 142
3.9.5 算法:枚举法 144
3.9.6 算法:模拟法 146
GESP三级模拟卷 147
第4章 GESP四级 155
4.1 函 数 156
4.1.1 函数的定义与调用 156
4.1.2 形参与实参 157
4.1.3 课堂练习 159
4.1.4 课后习题 161
4.2 结构体 163
4.2.1 结构体的定义和使用 163
4.2.2 结构体的成员函数 164
4.2.3 结构体数组 164
4.2.4 课堂练习 165
4.2.5 课后习题 166
4.3 指针类型的概念及基本应用 167
4.3.1 指针基础 167
4.3.2 特殊指针 167
4.3.3 const修饰指针 167
4.3.4 指针与数组 168
4.3.5 结构体指针 168
4.3.6 课堂练习 169
4.3.7 课后习题 171
4.4 二维数组与多维数组基本应用 172
4.4.1 二维数组定义与初始化 172
4.4.2 二维数组遍历 172
4.4.3 多维数组 172
4.4.4 课堂练习 172
4.4.5 课后习题 174
4.5 算法:递推 175
4.5.1 核心概念 175
4.5.2 经典模型 175
4.5.3 课堂练习 176
4.5.4 课后习题 177
4.6 算法:排序 178
4.6.1 排序概念和稳定性 178
4.6.2 排序算法 178
4.6.3 课堂练习 181
4.6.4 课后习题 184
4.7 简单算法复杂度的估算 186
4.7.1 定义及表示 186
4.7.2 计算步骤 186
4.7.3 计算规则 187
4.7.4 课堂练习 187
4.7.5 课后习题 189
4.8 文件重定向与文件读写操作 190
4.8.1 文件重定向 190
4.8.2 文件读写操作 192
4.8.3 课堂练习 193
4.8.4 课后习题 195
4.9 异常处理 195
4.9.1 核心结构 195
4.9.2 标准异常类型 196
4.9.3 执行流程 197
4.9.4 课堂练习 197
4.9.5 课后习题 199
4.10 编程题解析 200
4.10.1 函数 200
4.10.2 二维数组 201
4.10.3 排序 203
GESP四级模拟卷 205
第5章 GESP五级 213
5.1 递归 214
5.1.1 课堂练习 215
5.1.2 课后习题 217
5.2 初等数论 218
5.2.1 质数的判断 218
5.2.2 唯一分解定理 218
5.2.3 辗转相除法 219
5.2.4 埃拉托斯特尼筛法 219
5.2.5 线性筛法 220
5.2.6 课堂练习 221
5.2.7 课后习题 226
5.3 高精度 228
5.3.1 课堂练习 230
5.3.2 课后习题 233
5.4 链表 234
5.4.1 单链表 235
5.4.2 双向链表 236
5.4.3 循环链表 236
5.4.4 链表的基本操作 238
5.4.5 课堂练习 240
5.4.6 课后习题 243
5.5 分治 245
5.5.1 以归并排序为例 245
5.5.2 以快速排序为例 247
5.5.3 课堂练习 248
5.5.4 课后习题 252
5.6 二 分 253
5.6.1 二分查找 253
5.6.2 二分答案 255
2.6.3 课堂练习 257
5.6.4 课后习题 260
5.7 贪心 261
5.7.1 找零问题 261
5.7.2 区间调度问题 262
5.7.3 课堂练习 263
5.7.4 课后习题 265
5.8 编程题解析 266
GESP五级模拟卷 274
第6章 GESP六级 289
6.1 线性数据结构 290
6.1.1 栈 290
6.1.2 队列 291
6.1.3 循环队列 294
6.1.4 课堂练习 296
6.1.5 课后习题 300
6.2 树的定义、构造与遍历 302
6.2.1 树结构 302
6.2.2 二叉树 305
6.2.3 深度优先搜索 311
6.2.4 广度优先搜索 311
6.2.5 课堂练习 312
6.2.6 课后习题 321
6.3 哈夫曼编码 323
6.3.1 课堂练习 325
6.3.2 课后习题 327
6.4 格雷编码 328
6.4.1 格雷码的构造方法——递归法 328
6.4.2 格雷码的构造方法——位运算法 330
6.4.3 课堂练习 331
6.4.4 课后习题 333
6.5 类与对象 333
6.5.1 类的创建 334
6.5.2 面向对象的三大特性 336
6.5.3 访问控制符 336
6.5.4 静态成员 337
6.5.5 课堂练习 338
6.5.6 课后习题 342
6.6 简单动态规划 343
6.6.1 简单一维动态规划 343
6.6.2 简单背包类型动态规划 345
6.6.3 课堂练习 348
6.6.4 课后习题 350
6.7 编程题解析 351
GESP六级模拟卷 358