Appearance
第1章 GESP 一级考点总览
一、🎯 本章学习目标
读完本章,你将能够:
- ✅ 说清 GESP 是什么、一级考什么、怎么考
- ✅ 说出一级的 7 大知识块和每块的核心考点
- ✅ 了解考试的题型分布、分值比例与合格标准
- ✅ 制定适合自己的备考计划与时间安排
- ✅ 掌握一级编程题的"七大经典套路"方向
- ✅ 亲手敲出第一个 C++ 程序 Hello World
- ✅ 知道进制与存储单位是计算机基础的重要组成部分
- ✅ 理解调试(debug)是编程的必备技能
二、🗺️ 本章知识图谱
GESP一级(C++)总览
├── 认识GESP
│ ├── 什么是CCF GESP认证
│ ├── 为什么选择C++方向
│ └── 一级在体系中的位置
├── 考试须知
│ ├── 考试形式:上机120分钟
│ ├── 题型分布:选择15+判断10+编程2
│ ├── 分值:30+20+50=100分,60分合格
│ └── 开发环境:Dev-C++ (C++11标准)
├── 七大知识块
│ ├── ① 计算机基础知识 (进制/存储/历史/调试)
│ ├── ② 集成开发环境 (新建/编译/运行/报错)
│ ├── ③ 结构化程序设计 (顺序/分支/循环)
│ ├── ④ 程序的基本语句 (输入/输出/赋值)
│ ├── ⑤ 程序的基本概念 (变量/常量/标识符/表达式)
│ ├── ⑥ 基本运算 (算术/关系/逻辑/自增/三目)
│ └── ⑦ 基本数据类型 (int/long long/double/char/bool/类型转换)
├── 编程题七大套路 🔥
│ ├── ① 累加求和
│ ├── ② 计数统计
│ ├── ③ 数位拆分
│ ├── ④ 打擂台(找最值)
│ ├── ⑤ 分支判断(if-else)
│ ├── ⑥ switch等值分支
│ └── ⑦ do-while循环输入
└── 备考策略
├── 学习路线规划
├── 考场时间分配
└── 高分技巧三、🎯 写在前面:GESP是什么?
很多家长和同学刚接触GESP,会很困惑: 一级到底学哪些内容? 考试怎么考?C++方向值不值得学?
CCF GESP(编程能力等级认证) 是由中国计算机学会(CCF)主办的青少年编程能力等级考试,一共分 1~8 级。一级是整个考级体系的第一级台阶,也是很多同学编程启蒙的第一站。
如果把学编程比作学做饭,那么一级要回答的问题特别简单:
"你能不能照着菜谱,让厨房帮你做出第一道菜?"
- 🖥️ 先认识厨房:电脑由哪些部件组成、操作系统怎么用、编程软件怎么打开
- ✍️ 再学会写菜谱:让计算机记住数字、做加减乘除、听懂你从键盘敲进去的话
- 🔁 最后指挥厨房重复干活:判断"如果……就……",循环"把这件事做 100 遍"
为什么推荐考 C++ 方向?因为 C++ 是信息学奥赛(CSP-J/S、NOI)的官方语言。GESP 一级 C++ 学到的语法,和将来信奥路线上用到的知识一脉相承——一级打地基,二级三级往上盖楼,最终通向 CSP-J 信奥赛场。换句话说:考下一级 C++ 证书,就是拿到了信奥路线的第一张入场券 🎫。
🔗 前后关联:GESP 八级体系中,一级是入门台阶;二级会学到数据类型转换、多层循环嵌套、数学函数;三级开始接触数组、字符串、枚举与模拟算法;四级学函数与排序;五级以上逐步进入算法竞赛的核心内容。学好一级的语法基础,后续每一级都是"站在巨人的肩膀上"。
C++ 是一门编译型语言,像一位严谨又能干的大厨:你写的菜谱(源代码)必须先经过"翻译官"(编译器)翻译成厨房能执行的指令,才能开工。规矩比家常说话多一点(每条句子要带分号、段落要包大括号),但一旦跑通,又快又稳。
一级的知识一点都不难:没有难懂的算法,也没有复杂的英语,就像学写字先学"横、竖、撇、捺"——把最基础的规矩练熟,60 分合格轻轻松松,冲刺满分也大有人在!
💡 本书结构:本章是全书总览,第2~9章将逐模块深入拆解,覆盖知识点精讲、典型例题、代码实战与备考策略,零基础也能一步步跟上。
四、📋 GESP一级(C++)考试速览
在拆解考点之前,先搞清楚考试怎么考:
| 项目 | 详情 |
|---|---|
| 🖥️ 考试形式 | 上机考试(在电脑上做题,代码现场编译、现场运行) |
| 💻 考试语言 | C++,考题以 C++11 标准为准 |
| 🛠️ 开发环境 | Dev-C++ 等集成开发环境(IDE) |
| ⏱️ 考试时长 | 120 分钟(2 小时) |
| 🏆 满分 | 100 分 |
| ✅ 合格线 | 60 分(含) |
| 📜 认证机构 | 中国计算机学会(CCF) |
📊 题型与分值分布
| 题型 | 题量 | 每题分值 | 合计分值 | 建议用时 |
|---|---|---|---|---|
| 🔘 单选题 | 15 题 | 2 分 | 30 分 | 20~25 分钟 |
| ☑️ 判断题 | 10 题 | 2 分 | 20 分 | 10~15 分钟 |
| ⌨️ 编程题 | 2 题 | 25 分 | 50 分 | 70~80 分钟 |
| 合计 | 27 题 | — | 100 分 | 120 分钟 |
⚡ 关键提醒:编程题占了一半分数(50 分)!一级编程题特别友好,都是简单模拟、单一功能程序,比如求几个数的和、统计个数、拆一个数的每一位、判断奇偶数等等。套路固定、代码不长,只要肯动手敲,50 分里拿到大半并不难。
⏰ 考场时间分配建议
| 阶段 | 任务 | 时间 | 要点 |
|---|---|---|---|
| 第 1 步 | 快速浏览全卷 | 2 分钟 | 看看编程题考什么,心里有底 |
| 第 2 步 | 单选题 | 20~25 分钟 | 不会的先标记,别死磕 |
| 第 3 步 | 判断题 | 10~15 分钟 | 快速过,相信第一直觉 |
| 第 4 步 | 第 1 道编程题 | 25~30 分钟 | 通常较简单,先确保拿下 |
| 第 5 步 | 第 2 道编程题 | 40~45 分钟 | 可能稍难,多读题、多测试 |
| 第 6 步 | 检查收尾 | 5~10 分钟 | 回头看标记的题、检查代码 |
💡 应试技巧:
- 先易后难:选择判断有拿不准的,先选个答案做上标记,跳过去做后面的,最后回来再想;
- 编程题先编译:代码写个框架就编译一下,确保没有语法错误,再往里加逻辑;
- 样例必须过:编程题写完后,用题目给的样例输入跑一遍,输出和样例一模一样才算完;
- 检查格式:编程题输出有没有多余的空格、换行?别因为格式问题丢分。
五、👋 第一个 C++ 程序:Hello World
学编程的第一堂课,全世界都一样——让计算机跟世界打个招呼。打开 Dev-C++,新建一个源代码文件,敲入下面 5 行代码:
cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World";
return 0;
}点击"编译",再点击"运行",黑色窗口里就会出现:
Hello World恭喜!你已经和计算机"对上话"了 🎉。这 5 行代码每行都有讲究,我们逐行认识一下:
| 代码 | 作用 | 生活化比喻 |
|---|---|---|
#include <iostream> | 引入输入输出头文件——cin、cout 这两个工具就住在这个"工具箱"里 | 做菜前先把锅碗瓢盆从橱柜里拿出来 🍳 |
using namespace std; | 使用标准命名空间。cout 的全名其实叫 std::cout,有了这句话就能直接简写 | 宣布"我用的是学校标准教材",不用每句话都带校名 |
int main() | 主函数,程序的入口。程序一运行,就从 main 这里开始执行 | 学校的大门,所有人都从这里进校 🚪 |
{ } | 大括号包住函数体,程序要做的事都写在这对括号里 | 一个大包裹,里面装着所有要做的事 📦 |
cout << "Hello World"; | 输出语句:<< 像两个小箭头,把右边的内容"送"到屏幕上显示 | 指着屏幕说:"把这句话显示出来!" 📺 |
return 0; | 程序结束,返回数字 0 表示"顺利完成任务" | 干完活举手报告:"任务完成!" 🙋 |
🔥 高频考点(也是入门第一课):C++ 程序的完整流程是 写代码 → 编译 → 运行 三步走:
- 写:在 Dev-C++ 里新建文件、敲代码,保存为后缀
.cpp的源文件;- 编译:点"编译"按钮(快捷键 F9),编译器把
.cpp源代码翻译成计算机能懂的机器语言,生成.exe可执行文件——这一步 C++ 必须做,不像有些脚本语言写完直接就能跑;- 运行:点"运行"按钮(快捷键 F10),看输出结果。
⚠️ 易错点:①每条语句末尾必须有英文分号
;,漏了它编译器就报错,分号就像句子末尾的句号;②代码里所有标点都必须是英文(; "" () {}),打成中文标点(;"'' ())是新手报错第一大原因;③cout的箭头是<<(朝左,送向屏幕),方向写反会报错;④代码有错误时编译会失败,编译器会提示第几行出了问题——按提示改错,重新编译即可,报错一点都不可怕。
✍️ 动手试一试(拓展练习)
练习 A:让程序说更多话
修改 Hello World 程序,输出三行文字:
我叫小明
今年10岁
我正在学C++🔑 点击查看参考代码
cpp
#include <iostream>
using namespace std;
int main()
{
cout << "我叫小明" << endl;
cout << "今年10岁" << endl;
cout << "我正在学C++" << endl;
return 0;
}💡
endl表示"结束这一行",也就是换行。每输出一行就加一个endl。
练习 B:故意制造三个错误,认识编译器报错
新手最害怕报错,但报错其实是最好的老师。故意把代码改出三个错误,看看编译器怎么说:
- 删掉某一行末尾的分号
; - 把
cout写成CouT(大小写错误) - 把双引号打成中文的
""
每改一个就按 F11 编译一次,观察编译器窗口的错误提示长什么样、指向第几行。别怕报错,能看懂报错,你就超过了一半的初学者!
六、📊 七大知识块全景总表
GESP 一级(C++)考纲共 7 大知识块,一览全局:
| 序号 | 📌 知识块 | 📖 一句话概括 | ⭐ 难度星级 | 对应章节 |
|---|---|---|---|---|
| ① | 计算机基础知识 | 认识电脑硬件、操作系统,了解计算机发展史 | ⭐⭐⭐ | 第2章 |
| ② | 集成开发环境 | 会用 Dev-C++:新建、保存、编译、运行、调试 | ⭐⭐⭐ | 第2章 |
| ③ | 结构化程序设计 | 顺序、分支、循环三大结构 | ⭐⭐⭐⭐⭐ | 第6章 |
| ④ | 程序的基本语句 | cin/cout、scanf/printf、if/switch、for/while 等 | ⭐⭐⭐⭐⭐ | 第6、8章 |
| ⑤ | 程序的基本概念 | 标识符、关键字、常量、变量、表达式、注释 | ⭐⭐⭐⭐ | 第3、4章 |
| ⑥ | 基本运算 | 算术、关系、逻辑运算,自增自减,三目运算 | ⭐⭐⭐⭐⭐ | 第7章 |
| ⑦ | 基本数据类型 | int/long long、float/double、char、bool | ⭐⭐⭐⭐ | 第5章 |
📌 星级说明:⭐ 越多表示出题频率越高、在编程题中用得越多。①②是"常识与操作基本盘",主要出现在选择判断题;③④⑥⑦是编程题的"动手四大件"——两道编程题几乎都围绕分支循环、基本语句、运算和数据类型展开。
七、🔍 七大知识块逐一拆解
① 计算机基础知识
🎯 学什么
- 硬件组成:计算机的身体部件——
- 🧠 CPU(中央处理器):负责运算和控制,像厨房的大厨,掌勺又指挥
- 📝 内存:临时工作台,程序运行时数据放在这里,断电后数据全部丢失,像厨师面前的案板
- 🗄️ 硬盘:长期仓库,文件关机后还在,像储物柜/冰箱
- ⌨️🖱️ 输入设备:键盘、鼠标(点菜的人);🖨️🖥️ 输出设备:显示器、打印机(上菜窗口)
- 软件与操作系统:软件分系统软件和应用软件;Windows、Linux 是常见操作系统,负责管理文件、调度硬件;要会文件与文件夹的新建、复制、移动、删除、保存等基本操作
- 发展历史与现代应用:计算机经历了电子管→晶体管→集成电路→大规模集成电路四代;今天的计算机广泛应用于互联网、人工智能、航天、医疗等领域
📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | "哪个部件负责运算?"(CPU)、内存和硬盘的区别、操作系统的作用、计算机发展史排序 |
| 判断题 | "内存断电后数据还在"(错!硬盘才长期保存)、"键盘是输出设备"(错,是输入设备) |
| 编程题 | 不直接考概念,但文件管理、软件操作是答题的基本功 |
🔥 高频考点:CPU 管运算控制、内存是临时存储(断电丢失)、硬盘是长期存储;输入/输出设备的分辨。
💡 小贴士:把电脑想成"厨房"来记——大厨(CPU)+ 案板(内存)+ 冰箱(硬盘)+ 点菜(输入)+ 上菜(输出),一次就记住。
② 集成开发环境(Dev-C++)
🎯 学什么
IDE(集成开发环境)就是写 C++ 的"专业厨房",一级主要用 Dev-C++:
- 创建文件:新建源代码,保存为
.cpp文件 - 编辑与保存:敲代码、改代码、及时保存(Ctrl+S)
- 编译:把源代码翻译成机器语言(快捷键 F9)
- 运行:执行程序看结果(F10),也可"编译运行"一步到位(F11)
- 调试:程序结果不对时,用调试功能一行一行观察变量变化,像慢动作回放找问题
📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | C++ 源文件后缀名(.cpp)、编译的作用、程序从哪个函数开始执行(main) |
| 判断题 | "C++ 程序写完可以直接运行,不需要编译"(错!必须先编译)、"编译出错也能生成可执行文件"(错) |
| 编程题 | 全流程实操:新建→写码→保存→编译→运行,一步都不能少 |
Dev-C++ 默认可能使用较老的标准,建议在'工具 → 编译选项'中勾选'编译时加入以下命令',填入 -std=c++11,确保支持 C++11 特性。
🔥 高频考点:C++ 是编译型语言——先编译后运行;源文件
.cpp,编译后生成可执行文件.exe。
⚠️ 易错点:编译时报错不要慌,看编译器提示的行号和错误信息(常见
expected ';'就是漏分号),改完重新编译。编译错误是最好的老师,每解决一个报错,你就变强一分 💪。
③ 结构化程序设计
🎯 学什么
所有程序,无论多复杂,都由三种基本结构搭成,就像乐高只有三种基础块:
- 顺序结构:代码从上到下一行接一行执行,像读课文从头读到尾
- 分支结构:"如果……就……否则……",条件成立走这条路,用
if、switch - 循环结构:让计算机重复做同一件事,用
for、while、do-while
cpp
int a = 3, b = 5;
// 顺序结构:从上到下,一步一步
cout << a + b << endl; // 输出 8
// 分支结构:条件成立才执行
if (a < b) cout << "a更小" << endl;
// 循环结构:把一句话重复 3 遍
for (int i = 1; i <= 3; i++)
cout << i << " "; // 输出 1 2 3📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | 读程序写输出结果、数循环次数、判断 if 条件走哪个分支 |
| 判断题 | "for 循环会让代码重复执行"(对!)、"if 条件不成立也会执行里面的语句"(错!) |
| 编程题 | 两道大题的核心骨架——"判断一下再做"用 if,"重复很多次"用循环 |
🔥 高频考点:
for (int i = 1; i <= n; i++)循环 n 次;if...else二选一。
💡 小贴士:三大结构是编程的"任督二脉",第6章会专门精讲,现在先混个脸熟。
④ 程序的基本语句
🎯 学什么
语句就是程序里一句一句的"指令",一级要求认识这些:
| 语句 | 作用 | 例子 |
|---|---|---|
cin | 从键盘输入数据 | cin >> a; |
cout | 把结果输出到屏幕 | cout << a; |
scanf | 输入(老式写法,格式控制) | scanf("%d", &a); |
printf | 输出(老式写法,格式控制) | printf("%d", a); |
| 赋值语句 | 用 = 把值存进变量 | a = 10; |
| 复合语句 | 大括号 { } 包起来的一组话 | { a=1; b=2; } |
if 语句 | 分支判断 | if (x>0) ... |
switch 语句 | 多分支选择 | switch(x){ case 1: ... } |
for 语句 | 计数循环 | for(int i=0;i<n;i++) |
while 语句 | 条件循环 | while(x>0){...} |
do-while 语句 | 先做后判断的循环 | do{...}while(x>0); |
cpp
int a;
cin >> a; // 从键盘读一个整数
cout << a << endl; // 输出它,endl 表示换行
scanf("%d", &a); // scanf 也能读整数(注意变量前有 &)
printf("%d\n", a); // printf 输出整数,\n 表示换行📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | cin/cout 的箭头方向、scanf/printf 的格式符(%d 整数、%f 小数、%c 字符)、循环语句执行流程 |
| 判断题 | "cin 用 << 接收输入"(错!输入是 >>)、"do-while 循环至少执行一次"(对!) |
| 编程题 | 几乎每题都用到:cin 读入 → 处理 → cout 输出,是编程题的标准流水线 |
🔥 高频考点:输入
>>、输出<<,方向别记反——想象数据"流"的方向:键盘流入变量用>>,变量流向屏幕用<<。
⚠️ 易错点:①
scanf("%d", &a)里变量前的&最容易漏;②每条语句结尾的分号(尤其是do-while末尾的while(...););③switch里每个分支末尾要写break,否则会"一路往下冲"。
⑤ 程序的基本概念
🎯 学什么
- 标识符:给变量、函数起名字的规则——只能用字母、数字、下划线
_;不能以数字开头;中间不能有空格;区分大小写 - 关键字:C++ 自己"预留"的单词,如
int、if、for、while、return、const,不能拿来当变量名,就像你不能给自己起名叫"老师" - 常量:程序运行中不变的数据,如
3、3.14、'A';也可用const定义命名常量 - 变量:一个贴了名字标签的盒子,用来装数据;C++ 规定先定义、后使用
- 表达式:用运算符把数据连起来的式子,如
a + b * 2 - 注释:给人看的说明,计算机不执行。
//单行注释,/* ... */多行注释
cpp
// 变量必须先定义类型再使用;int 是关键字,age 是我们起的标识符
int age = 10;
const double PI = 3.14; // const 常量:值定好就不能再改
int sum = age + 2; // age + 2 是一个表达式
// 这是单行注释,计算机不执行
/* 这是
多行注释 */📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | 哪个是合法变量名(my_age 对、2name 错)、哪个是关键字、注释符号 |
| 判断题 | "变量名可以用数字开头"(错!)、"注释会被计算机执行"(错!)、"变量不用定义就能直接用"(错!) |
| 编程题 | 定义变量存数据、修改值,是所有程序的基础动作 |
🔥 高频考点:合法标识符判断口诀——"字母数字下划线,开头不能是数字,关键字名不能用"。
⚠️ 易错点:①
Age和age是两个不同的变量(C++ 区分大小写);②=读作"赋值"(把东西放进盒子),不是数学里的"等于";③变量装了新值,旧值就被覆盖。
⑥ 基本运算
🎯 学什么
运算符让计算机"算起来",一级考五大类:
- 算术运算:
+ - * / % - 关系运算:
> >= < <= == !=(结果只有"真"或"假") - 逻辑运算:
&&(并且)、||(或者)、!(不是) - 自增自减:
++(加 1)、--(减 1) - 三目运算:
条件 ? 值1 : 值2(条件真取值 1,假取值 2)
cpp
cout << 7 / 2 << endl; // 3!整数÷整数=整除,小数部分直接丢弃
cout << 7 % 2 << endl; // 1:求余,只看余数
cout << 7.0 / 2 << endl; // 3.5:有小数参与,结果才是小数
cout << (7 > 2 && 3 < 4) << endl; // 1:两边都真,"并且"成立(输出1表示真)
int x = 5;
x++; // 等价于 x = x + 1,x 变成 6
int m = 10, n = 20;
int big = m > n ? m : n; // 三目运算:谁大取谁,big = 20📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | 表达式求值(/ 整除、% 求余最高频)、关系和逻辑运算的真假、++ 后变量的值 |
| 判断题 | "7 / 2 的结果是 3.5"(错!整数相除结果是 3)、"% 可以对小数使用"(错,只能用于整数) |
| 编程题 | 取余判断奇偶(n % 2 == 0 是偶数)、数位拆分(n % 10 取个位)、循环累加 |
🔥 高频考点:整数相除取整(
7/2=3)、求余%(7%2=1) 是 C++ 一级最经典的坑,选择判断编程题里无处不在。
⚠️ 易错点:①想整除用
/(整数之间),想得到小数结果要让小数参与运算(7.0/2);②判断相等用==,赋值才用=,一个等号两个等号差很多;③逻辑运算是符号&& || !,不是英文单词;④%只能用于整数。
⑦ 基本数据类型
🎯 学什么
盒子有不同的型号,不同的数据要装在对应类型的盒子里:
| 类型 | 关键字 | 装什么 | 例子 | 生活化比喻 |
|---|---|---|---|---|
| 整数型 | int | 普通整数 | 100、-5 | 整个的苹果 🍎 |
| 长整数型 | long long | 很大的整数 | 1234567890123 | 大号收纳箱 📦 |
| 实数型 | float / double | 带小数点的数 | 3.14、0.5 | 切开的西瓜 🍉(double 精度更高) |
| 字符型 | char | 单个字符 | 'A'、'9' | 一个格子放一个字 🔤 |
| 布尔型 | bool | 真/假 | true、false | 判断题的"对✅/错❌" |
cpp
int n = 100; // 整数
long long big = 1234567890123LL; // 大整数用 long long
double pi = 3.14; // 小数优先用 double
char ch = 'A'; // 字符用【单引号】包起来
bool ok = true; // 布尔值:true 真 / false 假
cout << n << " " << pi << " " << ch << " " << ok << endl;📝 怎么考
| 题型 | 出题方式 |
|---|---|
| 单选题 | 判断数据是什么类型、字符用单引号还是双引号、整数太大该用什么类型 |
| 判断题 | "'A' 和 "A" 是一回事"(错!单引号是字符 char,双引号是字符串)、"bool 只有 true 和 false 两个值"(对!) |
| 编程题 | 求和结果可能很大时用 long long 防溢出;判断结果用 bool |
🔥 高频考点:字符
char用单引号'A',字符串用双引号"Hello";整数除整数结果还是整数(和第⑥块联动考查)。
⚠️ 易错点:①C++ 里布尔值是小写的
true/false;②'9'是字符(不能直接当数字 9 算),9才是整数;③数很大(比如累加 1 到 100000)时,int 可能"装不下"(溢出),要换 long long。
八、📈 备考路线建议:如何快乐攻克一级?
1️⃣ 阶段一:入门启蒙(1~2 周)
目标:装好环境,跑出第一行代码,认识基本概念
- 装好 Dev-C++,配置 C++11 标准
- 亲手敲出 Hello World,体验"编译→运行"流程
- 认识变量、数据类型、输入输出
- 学会看编译报错,能改"漏分号""中文标点"等低级错误
检验标准:能独立写"读入两个整数,输出它们的和"的小程序。
2️⃣ 阶段二:核心语法(2~3 周)
目标:掌握分支、循环、运算符,能写简单程序
- 精通
if/else/else if分支 - 精通
for循环、while循环 - 熟练使用算术、关系、逻辑运算符
- 掌握
scanf/printf的格式化输入输出
检验标准:能独立完成"判断奇偶""求 1~n 的和""统计偶数个数"等经典题。
3️⃣ 阶段三:题型突破(2~3 周)
目标:七大编程套路烂熟于心,选择判断零失误
- 累加求和、计数统计、数位拆分、打擂台(找最值)、分支判断、switch 等值分支、do-while 循环输入七大套路各练 10 道
- 刷完近 3 年真题的选择判断题,错题整理
- 编程题严格按"读题→思路→编码→测试"四步走
检验标准:模拟考试稳定在 80 分以上。
4️⃣ 阶段四:冲刺模考(1 周)
目标:适应考试节奏,查漏补缺
- 做 2~3 套全真模拟卷,严格计时 120 分钟
- 复盘错题,补全知识漏洞
- 调整作息,保持良好状态
💻 代码亲手敲,不要只用眼睛看
看懂和会写是两回事,就像看别人骑车很简单,自己上去才知道要练。每学一个知识点,亲手敲一遍、编译一遍、运行一遍:
- 故意把
7 / 2和7.0 / 2都跑一遍,亲眼看3和3.5的区别 - 故意删掉行末的分号,看看编译器怎么"红牌警告"
- 故意把中文标点混进去,认识一下报错长什么样
C++ 是上机练出来的,不是看书看出来的。
🧠 概念题用"生活化记忆法"
选择判断题的常识,联系生活记最牢:
- CPU = 大厨、内存 = 案板(断电就清空)、硬盘 = 冰箱(长期保存)
- 变量 = 贴标签的盒子;
== 把东西放进盒子 - 编译 = 翻译官把菜谱翻译成厨房指令;分号 = 句子末尾的句号
- 字符穿单引号外套,字符串穿双引号外套
⌨️ 编程题 50 分,盯住七大经典套路
一级编程题套路固定,把这七类练熟就够用:
| 题型 | 核心操作 | 示例 |
|---|---|---|
| ➕ 求和 | 循环 + 累加器 sum += x | 求 1~100 的和、读 n 个数求和 |
| 🔢 计数 | 循环 + 计数器 if(条件) count++ | 统计偶数个数、统计及格人数 |
| 🔣 数位拆分 | n%10 取个位、n/10 去个位 | 各位数字之和、数字反转、求几位数 |
| 🏆 打擂台 | 第一个数当擂主,更大(更小)就换人 | 找最大值、找最小值、最高分 |
| ❓ 分支判断 | if / else if / else | 奇偶判断、成绩等级、闰年判断 |
| 🔀 switch 等值分支 | switch + case + break | 简易计算器、按编号输出对应内容 |
| 🔁 do-while 循环输入 | do { ... } while (条件); | 反复输入直到输入 0 结束 |
固定流水线:cin 读入 → 处理计算 → cout 输出。考试时先保证编译通过,再用题目给的样例数据亲自跑一遍,对上结果再交。
九、🎯 分数目标与能力对照
| 分数段 | 能力水平 | 备考建议 |
|---|---|---|
| 60~69 分 | 合格过关 | 保证选择判断正确率,编程题做出第一题 |
| 70~79 分 | 基础扎实 | 选择判断少丢分,两道编程题各拿一半分 |
| 80~89 分 | 优秀水平 | 概念题基本全对,编程题能完成主要逻辑 |
| 90~100 分 | 冲刺满分 | 所有知识点无死角,编程题一次通过 |
💡 给零基础同学的定心丸:一级不考难算法、不考复杂英语,只要认真学、动手练,2~3 个月达到 80+ 分完全可行。关键是"每学一个知识点就敲一遍代码",光看不练等于白学。
十、📚 本书章节导航
| 章节 | 主题 | 核心内容 | 重要程度 |
|---|---|---|---|
| 第1章 | GESP一级考点总览与备考指南 | 考纲全景、考试须知、备考规划 | ⭐⭐⭐ |
| 第2章 | 计算机基础知识与开发环境 | 硬件组成、操作系统、Dev-C++使用、编译运行 | ⭐⭐⭐⭐ |
| 第3章 | 编程规范 | 程序框架、大括号、分号、注释、缩进、报错排查 | ⭐⭐⭐⭐ |
| 第4章 | 基础语法:标识符、关键字与变量 | 命名规则、常量变量、赋值与初始化、表达式 | ⭐⭐⭐⭐⭐ |
| 第5章 | 基本数据类型 | int/long long、float/double、char、bool | ⭐⭐⭐⭐⭐ |
| 第6章 | 三大基本结构 | 顺序、分支(if/switch)、循环(for/while/do-while) | ⭐⭐⭐⭐⭐ |
| 第7章 | 运算符 | 算术、关系、逻辑、自增自减、三目、复合赋值 | ⭐⭐⭐⭐⭐ |
| 第8章 | 输入输出与头文件 | cin/cout、scanf/printf、头文件与命名空间 | ⭐⭐⭐⭐⭐ |
| 第9章 | 编程题实战与综合应用 | 七大套路、四步法、经典题精讲、考场技巧 | ⭐⭐⭐⭐⭐ |
📌 阅读建议:
- 零基础同学按顺序从第2章读到第9章,每章读完亲手敲完例题代码再往下走;
- 有一定基础的同学可以直接跳转到薄弱章节,用每章末尾的练习题自测;
- 考前冲刺重点看第9章(编程实战)和每章的"易错点汇总""考点总结"。
十一、📝 实战练习
学完总览篇,先来 8 道综合自测题热热身!全部是一级常考题型,看看你能对几道?
练习题 1(单选题)
题目: GESP 一级 C++ 考试的满分和及格线分别是多少?
A. 100 分,60 分及格 B. 100 分,70 分及格 C. 150 分,90 分及格 D. 150 分,60 分及格
🔑 点击查看答案与解析
答案: A
GESP 各级别考试满分均为 100 分,60 分及格。考试时间 120 分钟,全部上机完成。
🔥 高频考点:题型分布也要记住——单选题 15 题(每题 2 分)、判断题 10 题(每题 2 分)、编程题 2 题(每题 25 分),合计 100 分。
练习题 2(单选题)
题目: 下列关于 C++ 程序的说法,正确的是?
A. 程序从 #include <iostream> 开始执行 B. 程序从 main() 函数开始执行 C. 程序从第一行开始依次执行 D. 程序从 cout 语句开始执行
🔑 点击查看答案与解析
答案: B
C++ 程序的入口是 main() 函数,程序永远从 main() 的第一句开始执行。
⚠️ 易错点:
#include <iostream>是头文件,用来告诉编译器"我要用到输入输出功能",它不是程序执行的起点。
练习题 3(判断题)
题目: 在 C++ 中,cin 用于输出,cout 用于输入。()
🔑 点击查看答案与解析
答案: 错误(✗)
正好说反了!记住箭头方向:
cin >> a→ 数据从键盘流入变量 → 输入cout << a→ 数据从变量流出到屏幕 → 输出
🍎 生活比喻:把
>>想象成漏斗,把键盘上的数据倒进变量里;把<<想象成水管,把变量里的水喷到屏幕上。
练习题 4(单选题)
题目: 下列变量名中,符合 C++ 命名规则的是?
A. 123abc B. int C. my_name D. a-b
🔑 点击查看答案与解析
答案: C
C++ 标识符(变量名)的命名规则:
- 只能由字母、数字、下划线组成
- 不能以数字开头(排除 A)
- 不能是关键字(排除 B,
int是类型关键字) - 不能包含减号等特殊符号(排除 D)
my_name 完全符合规则,下划线是允许的。
练习题 5(单选题)
题目: int 类型大约能存多大的整数?
A. -128 ~ 127 B. -3 万 ~ 3 万 C. -21 亿 ~ 21 亿 D. 无限大
🔑 点击查看答案与解析
答案: C
int 占 4 个字节(32 位),范围大约是 -2,147,483,648 ~ 2,147,483,647,也就是正负约 21 亿。
🔥 高频考点:这是选择题和判断题的常客!记住口诀:
int约 21 亿,超过了就用long long。
练习题 6(程序阅读题)
题目: 下面这段代码执行后,输出什么?
cpp
#include <iostream>
using namespace std;
int main()
{
int a = 10;
int b = 3;
cout << a / b << endl;
return 0;
}A. 3 B. 3.333 C. 3.0 D. 3.333333
🔑 点击查看答案与解析
答案: A
a 和 b 都是 int 类型,整数除以整数还是整数,小数部分会被直接扔掉(不是四舍五入,是截断)。10 ÷ 3 = 3.333...,扔掉小数后得 3。
⚠️ 易错点:这是一级最经典的"坑题"!很多同学以为会得到 3.333,实际上
int / int的结果一定是int。想得到小数,至少有一个数是float或double,比如10.0 / 3就会得到 3.333...
练习题 7(判断题)
题目: for 循环的循环体有可能一次都不执行。()
🔑 点击查看答案与解析
答案: 正确(✓)
for 循环先判断条件,条件不成立就直接跳过,循环体一次都不执行。
例如:
cpp
for (int i = 5; i < 3; i++) {
cout << i; // 一次都不会输出
}💡 对比记忆:
do-while是"先做后判断",所以至少执行一次;for和while是"先判断后做",所以可能一次都不做。
练习题 8(编程题)
题目: 读入一个整数 n,输出 1 到 n 中所有偶数的和。
输入: 一个正整数 n(1 ≤ n ≤ 1000)
输出: 一个整数,表示 1 到 n 中所有偶数的和
样例输入:
10样例输出:
30(提示:2+4+6+8+10 = 30)
🔑 点击查看答案与解析
参考代码:
cpp
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) { // 判断是不是偶数
sum += i; // 是偶数就加进去
}
}
cout << sum << endl;
return 0;
}解析:
这是一级编程题的经典题型——累加 + 分支判断组合:
- 用
for循环遍历 1 到 n 的每个数 - 用
if (i % 2 == 0)判断是否为偶数(取余为 0 就是偶数) - 用累加器
sum把偶数加起来
💡 更优写法:从 2 开始,每次 +2,直接遍历偶数:
cppfor (int i = 2; i <= n; i += 2) { sum += i; }这样不需要 if 判断,循环次数也少一半!
十二、🔖 本章小结
| 要点 | 关键内容 |
|---|---|
| 考试是什么 | CCF GESP 一级 C++,上机 120 分钟,100 分满分,60 分合格 |
| 题型分布 | 单选 15×2 + 判断 10×2 + 编程 2×25 = 100 分 |
| 七大知识块 | 计算机基础、开发环境、三大结构、基本语句、基本概念、基本运算、数据类型 |
| 编程核心 | 分支(if/switch)+ 循环(for/while)+ 输入输出(cin/cout、scanf/printf) |
| 七大套路 | 累加求和、计数统计、数位拆分、打擂台、分支判断、switch、do-while |
| 学习方法 | 亲手敲代码、故意试错、多做真题、边界测试 |
| 应试技巧 | 先易后难、先编译再完善、样例必须过、输出格式严格对照 |
┌──────────────────────────────────────────────────────────────┐
│ ⭐ 一级备考必背速记卡(总览篇) │
├──────────────────────────────────────────────────────────────┤
│ 1. GESP一级 = 选择30分 + 判断20分 + 编程50分 = 100分 │
│ 2. 60分合格,上机120分钟,Dev-C++环境,C++11标准 │
│ 3. 七大知识块:硬软环境 → 规范 → 变量 → 类型 → 结构 → 运算 │
│ → 输入输出 → 编程实战 │
│ 4. 编程题两大支柱:分支(if/switch) + 循环(for/while) │
│ 5. 七大套路:求和sum+=x、计数count++、拆%10/10、打擂台 │
│ 、if分支、switch、do-while │
│ 6. C++是编译型语言:先编译(F9)、后运行(F10)、F11一步到位 │
│ 7. 代码亲手敲,错误亲手改,样例亲自跑,边界自己测 │
│ 8. 输出格式严要求:空格、换行、多余文字一个都不能多 │
│ 9. 零基础2~3个月可达80+,关键是动手不是看 │
└──────────────────────────────────────────────────────────────┘🚀 准备好了吗? 让我们从第2章开始,一步步敲开编程的大门!
