2025三掌柜赠书活动第二十六期 GESP编程能力等级认证一本通(C++一级)

目录

前言

关于CSP-J/S认证

关于GESP赛事

关于《GESP编程能力等级认证一本通(C++一级)》

内容简介

作者简介

图书目录

《GESP编程能力等级认证一本通(C++一级)》全书速览

结束语


前言

在当今数字化时代,编程能力已经成为一项重要的技能,无论是对于学生、职场人士还是编程爱好者来说,掌握编程语言都能为个人发展带来巨大的优势。C++作为一种功能强大的编程语言,广泛应用于游戏开发、系统编程、高性能计算等多个领域。在学习编程的过程中,一个好的指导书籍往往能够起到事半功倍的作用,那么本文就来分享一下相关的内容,希望能够帮助大家在编程学习的道路上少走弯路,快速提升编程能力,顺利通过等级认证考试。

关于CSP-J/S认证

2025年2月,中国计算机学会(CCF)发布新规,要求报名参加CSP-J/S的被认证者在当年9月1日(不含)需满12周岁。不过别担心,即便孩子由于年龄限制暂时无法报名参加CSP-J/S,他们在编程之路上依旧有着新的机会,那就是GESP(CCF编程能力等级认证)。GESP作为CCF推出的编程能力等级认证,为编程小达人们提供了一个更为灵活和广泛的编程能力展示平台。GESP的认证体系设计科学合理,涵盖了从基础到进阶的多个编程知识模块和技能水平。

对于刚开始接触编程的孩子来说,它可以帮助孩子逐步建立起对编程的兴趣和基础认知,通过参与等级认证的过程,循序渐进地提升自己的编程能力。而对于已经有一定编程基础的孩子,GESP则提供了一个挑战自我、检验学习成果的机会,促使他们不断深入学习和探索更高级的编程知识和技巧。

关于GESP赛事

GESP面向青少年群体,与CCF对青少年编程能力发展的科学评估相匹配,为广大青少年提供了一个检验和展示编程能力的专业平台。通过参加GESP赛事,青少年不仅可以获得专业的编程能力评估,还有望在升学和综合素质评价中获得一定的优势。

  • 适用年龄:阶段为‌6-18岁‌,覆盖中小学全学段。‌‌‌‌赛事频率:GESP每年有4次认证机会,分别在3月、6月、9月和12月。
  • 认证方式:全国统一线下机考。
  • 认证语言与分级:C++、Python、Scratch,其中,GESP C++与CSP-J/S、NIOP等赛事直接关联,C++认证分为1到8级。
  • 报名相关:首次参赛,一般从一级报起。GESP考试达到一定级别和分数,可以直接免去CSP-J/S初赛的资格,直接进入复赛。

关于《GESP编程能力等级认证一本通(C++一级)》

接下来给大家推荐一本关于编程学习的实用书籍——《GESP编程能力等级认证一本通(C++一级)》,这是一本专为编程学习者打造的备考指南,内容全面且实用,一经发布就受到了广大读者和编程爱好者的关注与好评。本书从C++编程基础讲起,逐步深入到GESP等级认证考试的重点知识与实战技巧,助力读者在编程学习和等级认证考试中轻松过关!另外,关注本文博主,点赞 + 收藏本文,并在本文评论区评论“入手GESP”,将选取三名幸运读者送出纸质版《GESP编程能力等级认证一本通(C++一级)》一本,截止时间:2025.07.30。入手《GESP编程能力等级认证一本通(C++一级)》传送门:https://item.jd.com/10165774730878.html,个人觉得这本书非常实用,是一本不可多得的编程学习好书,值得每一位编程学习者拥有并深入学习。

内容简介

本书围绕中国计算机学会(CCF)发布的《CCF编程能力等级认证C++& Python认证标准》中的 C++部分而设计,主要介绍C++编程和算法学习的相关内容。 本书对标CCF编程能力等级认证(GESP)C++一级,详细介绍了初识C++编程、变量、输入语句、算术运算、浮点型数据和字符型数据、程序控制结构及顺序结构、分支结构、关系表达式和逻辑表达式、多分支和switch 语句、循环结构及for 循环、while 循环和do-while循环、程序控制结构的嵌套、break 和 continue语句、程序控制结构综合应用、程序测试及调试等内容。 为帮助读者夯实编程基础,本书特设置案例、基础知识练习一大部分选自GESP历年真题。另外,本书还配有课件、视频等资源,读者购书后,可关注“傲梦少年”**进行领取。 本书可以作为中小学编程社团的教材,也可以作为少儿编程培训机构的培训教材,还可以作为少儿编程等级考试和编程竞赛的入门教材。

作者简介

王桂平,计算机科学与技术专业博士、副教授、硕导。从 2003 年开始从事大学生程 序设计竞赛指导工作,带队参加过浙江省、重庆市、四川省、广东省大学生程序设计大赛,以及中国大学生程序设计大赛、国际大学生程序设计大赛、中国高校计算机大赛——团体程序设计天梯赛、蓝桥杯大赛等各类程序与算法设计类赛事,指导的学生获得*奖项 100 余项、省级奖项 1000 余项;主持省部级教学研究项目 5 项(含重大项目 1 项),主持重庆市*课程 1 门;以*作者发表教学研究论文近 20 篇;以*作者发表科学研究论文 30 余篇,其中 SCI 论文 9 篇、EI论文 10 篇,主持省部级科研项目 3 项,主研*科研项目 3 项。著有《图论算法理论、实现及应用》《程序设计方法及算法导引》《C++ 趣味编程及算法入门》《C++ 编程与信息学竞赛数学基础》《信息学竞赛教程》等多部图书;多所中小学兼职信奥教练。 张兵,中国计算机学会 GESP&PTA 自由度服务中心负责人、重庆大学继续教育学院 家校社中心主任、“傲梦少年”联盟负责人。 在编程教育与信奥教育、青少年人工智能、青少年多元化成长路径、医工融合等领域均有深入研究。此外,还主导并参与了 1 项重庆市技术创新与应用示范项目、1 项重庆市科技型企业技术创新与应用发展专项项目。 王延平,中国计算机学会 GESP 编程能力等级认证组委会主席以及中国计算机学会 PTA 编程师资认证组委会创始主席。具备十余年编程与信息学教学经验,并拥有多 年 GESP、CSP-J/S 培训经历。多次参与中国电子学会、中国软件行业协会等机构组 织的等级考试、竞赛的命题及阅卷工作,对GESP 有着深刻的理解和独特的见解。

图书目录

第 1章 初识C++编程 001

1.1 程序及编程语言 001

1.2 认识键盘 002

1.3 键盘上的字母为什么不按顺序排列 002

1.4 如何练习打字 003

1.5 程序的编写、编译和运行 004

1.6 案例1:Hello World! 005

1.7 案例2:输出大小写字母、计算数学式子 006

1.8 案例3:输出由加号组成的菱形 007

1.9 练习1:求两门课程成绩总分(1) 008

1.10 练习2:还剩多少钱(1) 008

1.11 练习3:输出星号长方形 009

1.12 C和C++语言的发展及版本变迁 009

1.13 基础知识练习(GESP真题) 010

第 2章 数据的存储——变量 012

2.1 计算机里的重要部件——CPU、硬盘和内存 012

2.2 变量的由来——变量*是用来存储数据的 012

2.3 常量和变量 014

2.4 数据类型 014

2.5 案例1:求两门课程成绩总分(2) 014

2.6 案例2:求数学成绩(1) 016

2.7 案例3:求两年后的年龄 016

2.8 练习1:净胜球(1) 017

2.9 练习2:求女生人数 018

2.10 练习3:求身高 018

2.11 计算机小知识:度量存储空间大小的单位 019

2.12 基础知识练习(GESP真题) 020

第3章 数据的输入——输入语句 022

3.1 有输入也有输出才更有意义 022

3.2 编程解题的步骤 022

3.3 案例1:求两门课程成绩总分(3) 023

3.4 案例2:求数学成绩(2) 024

3.5 案例3:交换两个变量的值 025

3.6 练习1:净胜球(2) 027

3.7 练习2:有多少同学不上延时课 028

3.8 练习3:还剩多少钱(2) 029

3.9 基础知识练习(GESP真题) 030

第4章 数据的运算——算术运算 033

4.1 加、减、乘、除之外还有取余 033

4.2 算术运算符和算术表达式 034

4.3 案例1:小杨买书(GESP真题) 034

4.4 案例2:休息时间(GESP真题) 035

4.5 案例3:小杨的考试(GESP真题) 037

4.6 练习1:小杨购物(GESP真题) 038

4.7 练习2:时间规划(GESP真题) 039

4.8 练习3:1~n有多少个3的倍数(除法) 040

4.9 基础知识练习(GESP真题) 041

第5章 浮点型数据和字符型数据 045

5.1 浮点型数据 045

5.2 字符型数据 045

5.3 圆的周长及圆周率 046

5.4 案例1:求圆的周长和面积 047

5.5 案例2: 3件八五折 048

5.6 案例3:输出字符菱形 049

5.7 练习1:求阴影部分的面积 050

5.8 练习2:小写字母变大写字母 051

5.9 练习3:输出后面第4个字母 051

5.10 拓展阅读:基本的数据类型 052

5.11 自动类型转换和强制类型转换 053

5.12 基础知识练习(GESP真题) 053

第6章 程序控制结构及顺序结构 056

6.1 吃午餐的流程 056

6.2 算法*是求解问题的步骤 057

6.3 3种基本的程序控制结构 057

6.4 流程图的规范表示 057

6.5 案例1:体质指数计算 058

6.6 案例2:摄氏温度转华氏温度 059

6.7 案例3:分苹果 060

6.8 练习1:顺流而下和逆流而上 061

6.9 练习2:角度和弧度的转换 062

6.10 练习3:预测孩子身高 063

6.11 计算机小知识: 3种基本的程序控制结构 064

6.12 基础知识练习(GESP真题) 064

第7章 分支结构——if语句 065

7.1 学会比较和判断 065

7.2 实现判断的if语句 065

7.3 案例1:求4个分数的*分 066

7.4 向上取整和向下取整 067

7.5 案例2:计算邮资(GESP真题) 068

7.6 案例3:买文具(GESP真题) 069

7.7 语句块、逗号表达式 071

7.8 条件运算符与条件表达式 071

7.9 练习1:当天的第几秒(GESP真题) 072

7.10 练习2:水仙花数(GESP真题) 073

7.11 练习3:温度转换(GESP真题) 074

7.12 C++语言中的关键字 075

7.13 基础知识练习(GESP真题) 076

第8章 关系表达式和逻辑表达式 078

8.1 条件是怎么形成的 078

8.2 关系运算符和关系表达式 078

8.3 逻辑运算符和逻辑表达式 079

8.4 逻辑“与”和逻辑“或”的例子 079

8.5 布尔(bool)型数据 080

8.6 案例1:大月还是小月 081

8.7 案例2:闰年的判断 082

8.8 案例3:大小写字母转换 083

8.9 练习1:工作日还是* 084

8.10 练习2:平年的判断 085

8.11 练习3:图书馆里的老鼠(GESP真题) 086

8.12 基础知识练习(GESP真题) 087

第9章 多分支和switch语句 090

9.1 分支结构的嵌套——多分支结构 090

9.2 案例1:VIP顾客等级(1) 091

9.3 案例2:每月天数(GESP真题) 093

9.4 switch语句 094

9.5 案例3:VIP顾客等级(2) 095

9.6 练习1:闰年的判断(多分支实现) 096

9.7 练习2:判断是几位数 098

9.8 练习3:简单的计算器 099

9.9 基础知识练习(GESP真题) 100

第 10章 循环结构及for循环 102

10.1 生活中的循环 102

10.2 循环结构及for循环 103

10.3 案例1:求a的n次方(for循环) 103

10.4 案例2:求1+3+5+…+(2n 1)(for循环) 105

10.5 案例3:累计相加(GESP真题) 107

10.6 取整与四舍五入 108

10.7 练习1:四舍五入到整十数(GESP真题) 108

10.8 数列及相关问题 109

10.9 在程序中实现数学上的递推 110

10.10 练习2:输出等差数列 110

10.11 练习3:输出等比数列 112

10.12 基础知识练习(GESP真题) 113

第 11章 while循环和do-while循环 118

11.1 while循环和do-while循环 118

11.2 永真循环、死循环 119

11.3 案例1:求a的n次方(while循环) 120

11.4 案例2:求1+3+5+…+(2n 1)(while循环) 121

11.5 案例3:求一个整数的位数 122

11.6 练习1:折纸 123

11.7 练习2:折半 124

11.8 练习3:求一个整数的各位和 125

11.9 基础知识练习(GESP真题) 126

第 12章 程序控制结构的嵌套 128

12.1 生活中的嵌套 128

12.2 程序控制结构的嵌套 128

12.3 计数器和累加器 129

12.4 案例1:闰年统计(GESP真题) 129

12.5 案例2:奇数和偶数(GESP真题) 130

12.6 案例3:小明的幸运数(GESP真题) 131

12.7 练习1:闰年求和(GESP真题) 133

12.8 练习2:求奇数的和 134

12.9 练习3:求各位数字的*值 134

12.10 基础知识练习(GESP真题) 135

第 13章 break和continue语句 138

13.1 提前结束循环和跳过当前这一轮循环 138

13.2 提前结束循环——break语句 139

13.3 跳过当前这一轮循环——continue语句 140

13.4 案例1:质数的判定(break语句) 140

13.5 状态变量及应用 142

13.6 案例2:小杨报数(continue语句)(GESP真题) 143

13.7 用break语句退出永真循环 144

13.8 案例3:求一组正整数的和 144

13.9 练习1:第 一个100分 145

13.10 练习2:*小质因数 146

13.11 练习3:求偶数的和 147

13.12 基础知识练习(GESP真题) 148

第 14章 程序控制结构综合应用 153

14.1 初识枚举方法 153

14.2 案例1:找因数(GESP真题) 154

14.3 案例2:长方形面积(GESP真题) 155

14.4 案例3:美丽数字(GESP真题) 156

14.5 练习1:立方数(GESP真题) 157

14.6 练习2:角谷猜想 158

14.7 练习3:回文数的判定 160

14.8 基础知识练习(GESP真题) 161

第 15章 程序编译、测试及调试 163

15.1 编译错误和逻辑错误 163

15.2 常见的编译错误 163

15.3 常见的逻辑错误 165

15.4 程序测试 166

15.5 评测系统反馈的评测结果 167

15.6 程序运行结果不正确该怎么办 167

15.7 程序调试 168

15.8 调试步骤和方法 168

15.9 案例:质数的判定(测试和调试) 168

15.10 计算机小知识:bug和debug 171

15.11 基础知识练习(GESP真题) 171

附录A Dev-C++使用指南 174

附录B C语言的输入输出函数 178

附录C 运算符的优先级和结合性 184

附录D 本书配套资源使用指南 186

附录E 基础知识练习答案 189

参考文献 194

《GESP编程能力等级认证一本通(C++一级)》全书速览

结束语

随着本文内容的结束,相信大家已经对GESP编程能力等级认证(C++一级)有了全面而深入的了解。从基础语法到复杂的数据结构,从简单的算法到实际的编程项目,本书为你提供了一个系统的学习框架,帮助你在编程学习的道路上稳步前行。编程不仅是一门技术,更是一种思维和解决问题的方式。通过学习C++,我们不仅能够掌握一种强大的编程语言,还能培养逻辑思维能力和问题解决能力。这些能力将在你未来的学习和工作中发挥重要作用。希望本本文能够成为你在编程学习道路上的可靠伙伴,陪伴你度过每一个学习的阶段。无论你是为了通过GESP认证考试,还是为了提升自己的编程技能,我们都相信,通过努力和坚持,你一定能够实现自己的目标。

### 关于CCF GESP C++ 5级编程能力等级认证模拟题解析 #### 模拟题目一:多态机制的理解与应用 当定义基类指针指向派生类对象并调用虚函数时,实际会调用派生类中的版本。因此,在给定的代码片段中创建了一个`base`类型的指针`b`以及一个`derived`实例`d`,接着让`b`指向`d`,最后过`b->show()`来触发成员方法调用。由于存在继承关系且`show`被声明为虚拟函数,所以最终输出将是“derived class”[^1]。 ```cpp #include <iostream> using namespace std; class base { public: virtual void show() { cout << "base class" << endl; } }; class derived : public base { public: void show() override { cout << "derived class" << endl; } }; int main() { base* b; derived d; b = &d; b->show(); return 0; } ``` #### 模拟题目二:数组越界访问风险分析 对于第二个例子而言,程序试图打印字符数组`geSP`中位于索引位置等于整型数组`x`大小处的那个元素。考虑到`sizeof(x)`返回的是整个数组占用字节数而非元素数量,并且假设每个整形占四个字节,则该表达式的计算结果应为16(即4 * sizeof(int)),这显然超出了字符串的实际长度范围。这种情况下可能会导致未定义行为的发生,具体表现为可能显示随机内存内容或引发异常终止等问题[^2]。 ```cpp int main() { int x[] = {2, 0, 2, 4}; char geSP[] = "Grade Examination of SP"; cout << geSP[sizeof(x)] << endl; cout << endl; return 0; } ``` #### 模拟题目:不常见调试技巧的选择 面对复杂逻辑错误或者难以定位的问题时,常建议采用多种方式相结合来进行排查工作。选项A至C均属于较为常规有效的做法;然而D项涉及到了汇编层面的操作,除非开发者具备深厚底层知识背景并且确实有必要深入探究指令集细节外,一般不会作为首选方案考虑。故而最不可能成为常用解决办法的就是跟踪汇编码[^3]。 #### 模拟题目四:位运算符特性考察 针对给出的选择题,可以逐一验证各个选项: - `2>>1=1`, `1>>1=0`: 不相同; - `(2>>2)=0`, `(1>>1)=0`: 相同; - `(11^00)=(11)_bin=(3)_dec`, `(1^0)=1`: 不相同; - `~0=-1`(补码表示法下),不是正数1。 综上所述,只有B选项描述成立[(2>>2)(1>>1)的结果相等][^4]。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三掌柜666

如果对您有所帮助,请支持一下呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值