《CCF GESP C 编程一级二级高分攻略》专为零基础学习 C 编程的读者编写,系统涵盖 GESP 等级考试一级与二级的知识点。从输入/输出到循环结构,每个知识点均设有独立章节,并辅以大量示例与深入解析,满足课堂教学与课后巩固的需求。
本书由拥有多年一线教学经验的教师团队精心编写,基于长期的教学实践并紧扣当前考试动向,既为学生提供系统的知识梳理,也为教师提供专业的教学支持。
除正文内容,本书还配套提供了GESP一级和二级的试题资源,包含详尽解析及示例代码。
专为零基础C 学习者量身打造,全面覆盖GESP等级考试一、二级核心知识点,从输入输出到循环结构,层层递进,系统讲解,真正帮助读者从零到懂,从懂到会写。
我曾是一名成绩普通的学生,但在初中时有幸遇到了一位信息学奥林匹克竞赛教练。她的指导不仅为我指明了方向,还让我逐渐找回自信,掌握了适合自己的学习方法。如今,我希望更多学生能像我一样,接受优质的计算机教育,找到方向、增强信心。同时,我期待有更多教师能成为像我教练那样的引路人具备扎实的专业知识,为学生提供清晰的学习路径和高效的学习方法。基于这些愿望,我参与创立了执理(天津)教育科技有限公司,并以此为动力带领执理教研中心开发相关产品。
非常荣幸向您介绍这本《CCF GESP C 编程一级二级高分攻略》。在开发教学资源和授课过程中,我们始终在思考一个问题:什么样的教材最适合学生?为此,我们精心设计课件,系统整理知识框架,并精选了一系列典型练习题。然而,我们发现许多学生难以完全掌握课堂讲解的内容。例如,老师用20分钟讲解的知识点,学生可能只理解了前10分钟的内容,后续部分则因些许疑惑而无法跟上。
鉴于此,我们认为有必要编写一本教材,帮助学生预习、学习和复习。为应对信息学奥林匹克竞赛入门难的问题,我们总结了教学经验:首先精简知识点,将20节入门课程浓缩为20张知识卡片;然后通过丰富的实例和大量练习题充实内容,形成教学讲义;最后精选讲解与练习材料,编撰为本书。
本书旨在为初学者提供信息学奥林匹克竞赛的入门指导,涵盖C 基础语法及基本算法概念。每个知识点均配有编程例题、选择题和填空题,并包含编程能力等级认证(grade examination of software programming,GESP)真题及基于教学经验的例题。
此外,GESP为学生每季度提供一次检验学习成果的机会。相比每年仅有一次的信息学奥林匹克竞赛,GESP的考试频率更高,缩短了检测周期,减轻了教学压力,并能更直观地反映教学效果。感谢GESP的支持,我推荐各位学生和教师围绕GESP开展教学活动。
最后,我想谈谈如何准备信息学奥林匹克竞赛,其核心在于通悟。信息学奥林匹克竞赛是一门融合数学与编程的竞赛,考查学生扎实的数学能力和高强度下的编码能力。GESP与CSP-J(certified software professional-junior)的知识点难度适中,重点在于考查学生解构问题的能力。具体来说,学生需要做到以下几点。
(1)理解题目的要求。
(2)理解自己编写的代码。
(3)理解算法的目标及其实现方法。
(4)掌握每个技巧的核心要点。
因此,训练的重点可以分为四个方面:数学题的解题能力、复杂代码的编写能力、理解与表达能力,以及灵活运用技巧的能力。针对这四个方面,我们可以通过以下具体方法进行训练。
(1)通过手动计算每一道题目来提升解决问题的计算能力。
(2)编写复杂的代码和高封装度的模拟程序以增强编码能力。
(3)写注释、写总结,清晰地表达每一步的操作,提高表达能力。
(4)积累优秀的题目和解决方案,形成自己的解题库。
(5)补充思考题与数学题的解题技巧积累,也就是多做数学题。
我知道这些方法实践起来会有些困难,尤其对于习惯传统学习方式的同学来说。以往的学习可能缺乏主动性,未能积极地推进和解决问题。重要的是,信息学奥林匹克竞赛的学习不仅需要老师的指导,还需要自身的主动探索和解决问题的能力。
悟道需独行,心明见本真。
送大家一段在编著本书时,大语言模型辅助我编写的一句诗词:日复一日磨练意,月随月去积劲深。日日夜夜无怠慢,耐得寂寞见真金。
本书为读者配备了以下资源与服务。
(1)配套软件的安装、使用说明以及代码调试方法。
(2)与本书内容对应的编程练习题及参考答案。
在本书的编写过程中,尽管我们力求完美,但由于时间紧迫,书中可能仍存在疏漏和不足之处。我们诚挚地希望各位尊敬的教师、亲爱的同学以及广大读者在阅读过程中不吝赐教,提出宝贵的意见和建议,以便我们在未来的修订中能够不断完善和提升本书的质量。
执理教研中心,负责少儿编程、信息学竞赛、大学生程序设计竞赛的课程研发及培训。
卢翼,执理教研中心负责人。高中阶段参与信息学奥赛 NOIP 提高组,获得一等奖,大学阶段参与ICPC大学生程序设计竞赛获得银奖。大学阶段开始作为信息学奥赛指导老师参与初高中生信息学奥赛训练,具备在学校、机构以及各类赛事中提供信息学奥赛相关服务的丰富经验。
第1章 GESP等级认证 1
1.1 推荐参加GESP的原因 1
1.2 GESP认证大纲 1
1.3 报名流程 2
第一部分 顺序结构
第2章 认识神秘的计算机 6
2.1 什么是计算机 6
2.2 编程相关概念 7
2.3 练习 7
2.3.1 选择题 7
2.3.2 判断题 8
第3章 初学者的第一个程序 9
3.1 第一个程序 9
3.2 编译报错 10
3.3 编程练习与在线评测 11
3.4 练习 13
3.4.1 选择题 13
3.4.2 判断题 13
3.4.3 填空题 13
第4章 学习旅途中的伙伴数据 14
4.1 数据类型 14
4.2 变量 14
4.3 练习 16
4.3.1 选择题 16
4.3.2 判断题 17
第5章 格式化输出与输入 18
5.1 标准格式化输出函数 18
5.2 标准格式化输入函数 19
5.3 输入与输出类 20
5.3.1 标准输出流cout 20
5.3.2 标准输入流cin 21
5.4 练习 22
5.4.1 选择题 22
5.4.2 判断题 23
5.4.3 填空题 24
第6章 数据类型与变量 25
6.1 浮点类型 25
6.2 长整型 26
6.3 变量名的要求 28
6.4 练习 28
6.4.1 选择题 28
6.4.2 判断题 30
第7章 数据在计算机中的运算算术运算 31
7.1 算术运算符 31
7.2 交换变量 33
7.3 练习 33
7.3.1 选择题 33
7.3.2 判断题 35
7.3.3 填空题 35
第8章 和计算机多说点字符类型 37
8.1 字符类型 37
8.2 ASCII码 38
8.2.1 ASCII码的特性 39
8.2.2 字符类型的运算 39
8.3 数据类型转换 40
8.4 练习 42
8.4.1 选择题 42
8.4.2 判断题 43
8.4.3 填空题 43
第9章 C 中的数学工具 45
9.1 浮点数取整 45
9.2 补充运算符 46
9.3 练习 47
9.3.1 选择题 47
9.3.2 判断题 47
9.3.3 填空题 48
第二部分 选择结构
第10章 一步一步真清晰流程图 50
10.1 流程图 50
10.2 练习 51
第11章 比较整数选择结构(1) 53
11.1 布尔类型 53
11.2 关系运算符 53
11.3 选择结构 54
11.4 练习 57
11.4.1 选择题 57
11.4.2 判断题 57
11.4.3 填空题 58
第12章 比较整数选择结构(2) 59
12.1 if-else语句 59
12.2 01变换 60
12.3 练习 62
12.3.1 选择题 62
12.3.2 判断题 64
12.3.3 填空题 64
第13章 比较整数选择结构(3) 65
13.1 else if语句 65
13.2 多分支选择结构 67
13.3 练习 68
13.3.1 选择题 68
13.3.2 判断题 69
13.3.3 填空题 69
第14章 真与真、真与假逻辑运算 71
14.1 逻辑运算符 71
14.2 运算符优先级 73
14.3 练习 75
14.3.1 选择题 75
14.3.2 判断题 77
14.3.3 填空题 77
第15章 环环相扣多重选择 78
15.1 选择结构嵌套 78
15.2 switch语句 81
15.3 练习 83
15.3.1 选择题 83
15.3.2 判断题 85
15.3.3 填空题 85
第16章 补充C 中的数学工具 87
16.1 绝对值函数 87
16.2 算术平方根函数 88
16.3 随机数函数 89
16.4 练习 90
16.4.1 选择题 90
16.4.2 判断题 90
16.4.3 填空题 91
第三部分 循环结构
第17章 一行更比十行强for循环 94
17.1 for循环 94
17.2 模拟过程 95
17.3 求和 98
17.4 练习 99
17.4.1 选择题 99
17.4.2 判断题 102
第18章 一行更比十行强while循环 103
18.1 while循环 103
18.2 do-while循环 105
18.3 练习 106
18.3.1 选择题 106
18.3.2 判断题 109
第19章 循环结构技巧与应用 110
19.1 计数技巧 110
19.2 拆分数字技巧 110
19.3 擂台技巧 112
19.4 记录上轮信息 113
19.5 应用:计算复利 113
19.6 练习 115
19.6.1 选择题 115
19.6.2 判断题 119
第20章 强大的循环需要精密的控制 120
20.1 break语句 120
20.2 continue语句 121
20.3 标记法 122
20.4 练习 123
20.4.1 选择题 123
20.4.2 判断题 127
20.4.3 填空题 127
第21章 重重嵌套多重循环 128
21.1 变量的作用域 128
21.2 多重循环 128
21.3 多重循环技巧与应用 130
21.3.1 技巧一:模块重复 130
21.3.2 技巧二:求解方程式 131
21.3.3 技巧三:多组数据 132
21.4 练习 134
21.4.1 选择题 134
21.4.2 填空题 136
附录A 计算机常识应知应会 138
A.1 计算机基本构成 138
A.2 操作系统 139
A.3 计算机网络 139
A.4 编程语言 140
A.5 练习 141
A.5.1 选择题 141
A.5.2 判断题 142
GESP真题 143
2024年9月一级真题 143
2024年12月一级真题 148
2024年9月二级真题 153
2024年12月二级真题 159
GESP模拟题 165
GESP一级模拟卷1 165
GESP一级模拟卷2 170
GESP二级模拟卷1 174
GESP二级模拟卷2 180
参考答案与解析 186
第2章 186
第3章 186
第4章 187
第5章 187
第6章 188
第7章 189
第8章 190
第9章 191
第10章 191
第11章 191
第12章 192
第13章 192
第14章 193
第15章 194
第16章 194
第17章 195
第18章 196
第19章 197
第20章 198
第21章 199
附录A 199
2024年9月一级真题解析 200
2024年12月一级真题解析 202
2024年9月二级真题解析 205
2024年12月二级真题解析 207
GESP一级模拟卷1解析 209
GESP一级模拟卷2解析 211
GESP二级模拟卷1解析 213
GESP二级模拟卷2解析 215