Skip to content

第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 分钟回头看标记的题、检查代码

💡 应试技巧:

  1. 先易后难:选择判断有拿不准的,先选个答案做上标记,跳过去做后面的,最后回来再想;
  2. 编程题先编译:代码写个框架就编译一下,确保没有语法错误,再往里加逻辑;
  3. 样例必须过:编程题写完后,用题目给的样例输入跑一遍,输出和样例一模一样才算完;
  4. 检查格式:编程题输出有没有多余的空格、换行?别因为格式问题丢分。

五、👋 第一个 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++ 程序的完整流程是 写代码 → 编译 → 运行 三步走:

  1. 写:在 Dev-C++ 里新建文件、敲代码,保存为后缀 .cpp 的源文件;
  2. 编译:点"编译"按钮(快捷键 F9),编译器把 .cpp 源代码翻译成计算机能懂的机器语言,生成 .exe 可执行文件——这一步 C++ 必须做,不像有些脚本语言写完直接就能跑;
  3. 运行:点"运行"按钮(快捷键 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:故意制造三个错误,认识编译器报错

新手最害怕报错,但报错其实是最好的老师。故意把代码改出三个错误,看看编译器怎么说:

  1. 删掉某一行末尾的分号 ;
  2. 把 cout 写成 CouT(大小写错误)
  3. 把双引号打成中文的 ""

每改一个就按 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++ 标识符(变量名)的命名规则:

  1. 只能由字母、数字、下划线组成
  2. 不能以数字开头(排除 A)
  3. 不能是关键字(排除 B,int 是类型关键字)
  4. 不能包含减号等特殊符号(排除 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;
}

解析:

这是一级编程题的经典题型——累加 + 分支判断组合:

  1. 用 for 循环遍历 1 到 n 的每个数
  2. 用 if (i % 2 == 0) 判断是否为偶数(取余为 0 就是偶数)
  3. 用累加器 sum 把偶数加起来

💡 更优写法:从 2 开始,每次 +2,直接遍历偶数:

cpp
for (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章开始,一步步敲开编程的大门!

百炼成钢,融会贯通