☰
零基础备考GESP一级:C++入门考纲与代码实践指南
2026/11/3 11:16:45 网站建设 项目流程

简介:面向GESP一级认证的集训课PPT,适合K12阶段刚接触C++的青少年及编程启蒙教师使用,用于梳理等级考试大纲、搭建课堂讲授与课后练习框架。整套材料为1个pptx文件,压缩包约19.99MB,页面按“温故知新—课程内容—过关测验—课后练习”组织,便于按课时推进教学。内容覆盖GESP考试简介、Dev-C++集成环境、C++程序基本结构、cout输出与cin输入、变量声明命名规则及加减乘除运算,并配有打印图形、两数求和差积商等课堂练习,能帮助学习者把顺序、选择、循环等基础概念落到具体代码。已有1615人学习,适合需要一份可直接用于一级集训备课或自学复盘的课件。

1. 先弄明白一件事:GESP 一级到底在考什么

很多孩子第一次听到“GESP 一级”,脑子里浮现的画面是厚厚的题库和背不完的单词。翻开这份 GESP 一级集训课ppt,会发现真实情况温和得多:一级要认的东西一只手数得过来——计算机常识、变量的定义与使用、几种基本数据类型、程序三大结构、加减乘除和比较运算、输入与输出。它更像学骑车前先装辅助轮,不要求你飙车,只要求你能稳稳骑出十米不摔。

GESP 是面向青少年计算机与编程学习者的能力等级认证,C++、Python、图形化三条语言线都认,一共分八级,一级是入门那一级。它解决的问题很具体:给“我到底学到哪一步了”一个外部坐标,而不是让孩子在雾里自己猜。适合谁?适合刚摸键盘、连“编译”两个字都没听过、愿意每天坐下来写二十分钟代码的孩子,也适合想陪着一起学、但自己也不是程序员的家长。

2. 为什么零基础也能学 C++:先把三个结构记牢

C++ 这四个字符看着吓人,是因为大多数人第一次见到它时,看到的是别人写的几千行工程代码。一级用到的部分,其实小到可以装进一张卡片:一个固定骨架、几个盒子、几次加减、两句输入输出。把这四样拆开看,你会发现它比很多小学奥数题更讲道理,因为它不允许“我觉得”,每一步都要写清楚。

2.1 一级考纲拆成六行,一下午能数完

集训课ppt 里把一级考纲列成了几行,我把它们翻译成大白话,你对照着看:

考纲条目大白话解释一级要求到什么程度
计算机历史与基础知识计算机大概怎么来的、有哪些基本部件认得、能选对选项
变量的定义与使用会开盒子、会给盒子起名字、会往里面放数会写int a = 1;
基本数据类型整数、小数、字符分别装什么知道int装整数就够用
程序三大结构顺序、选择、循环顺序写熟,另两个认识
基本运算加减乘除、比大小、与或非会算、会判断真假
输入与输出程序怎么收数、怎么吐结果会用cin和cout

六行里,真正需要“动手写熟”的只有变量、运算、输入输出这三行,其余三行偏理解。这就是为什么零基础也能上手:需要肌肉记忆的部分,总量并不大。

再看分数构成,一级满分 100 分,单选题 15 题每题 2 分共 30 分,判断题 10 题每题 2 分共 20 分,编程题 2 题每题 25 分共 50 分。注意这个比例,编程题占了一半。很多人栽跟头不是因为不会,而是因为选择题做得飞快、编程题没练过手,坐到电脑前手是僵的。所以从第一天起,代码就要自己敲,别只看。

2.2 三大结构:用三个生活场景记住它们

“程序三大结构”这六个字听起来像教材术语,其实说的是三件很日常的事。

顺序结构,就是按写的先后一条条执行。像泡面:撕开盖子、倒热水、等三分钟、开吃。你不能先开吃再倒水。程序里的语句默认就是从上往下走,这是最常用、也是一级最核心的结构。一级的编程题,绝大多数用顺序结构加几个变量就能拿分。

选择结构,就是“如果……就……”。出门前看一眼窗外,下雨就带伞,没下就不带。代码里写作if (条件) { ... }。一级对这一块的要求是认得、能读懂,知道条件成立走哪条路。

循环结构,就是“重复做,直到做完”。跳绳数到一百,中间的动作一模一样,只是次数在变。代码里写作for (...) { ... }或while (...)。集训课ppt 里有一道“打印图形”的课堂练习,靠的就是循环把同一行字符重复输出若干次。

入门阶段建议这样分配精力:顺序结构练到闭眼能写,选择结构练到能看懂,循环结构先照着例题抄一遍、改改数字看结果怎么变。不要一上来就啃循环嵌套,那是后面级别的事,现在啃只会把自己劝退。

2.3 五行代码的骨架,每一行都在干一件具体的事

所有 C++ 程序都长着同一副骨架,先把它背下来,后面写什么都往里填。

#include <iostream> // 声明头文件:把输入输出的工具箱搬进来 using namespace std; // 使用标准名空间:省得每次写 std::cout int main() { // 主函数,程序从这里开始执行 cout << "Hello, World!" << endl; // 往屏幕上输出一行字,然后换行 return 0; // 返回 0,告诉系统程序正常结束 }

逐行说清楚,别死记:

#include <iostream>里的iostream是 input/output stream 的缩写,意思是“输入输出流”。这一行的作用是把cout、cin这些工具提前准备好,没有它,后面的cout会报“未声明”的错。

using namespace std;是一句偷懒的话。标准库的工具都住在一个叫std的“小区”里,不写这句,你就得每次喊全名std::cout。加了这个分号,后面直接写cout就行。注意结尾的分号不能漏,这是新手最常见的翻车点之一。

int main()是主函数,整个程序的入口。操作系统运行你的程序,第一眼找的就是它。花括号{ }里的内容就是程序要干的活。int表示这个函数最后要交回一个整数。

cout << "Hello, World!" << endl;里,cout是输出流对象,<<叫插入运算符,你可以把它想成一个箭头,把右边的东西送进屏幕。双引号里的内容原样输出,endl表示换行。这句结尾同样有分号。

return 0;是给系统的一个回执,0 代表一切正常。一级阶段照抄就好,不用深究。

2.4 算术之外还有三类运算,先认识符号就行

一级考纲里“基本运算”写了算术、关系、逻辑三类。算术最好懂:+ - * /,注意乘号是星号,除号是斜杠,不是数学里那个 ÷。

关系运算就是比大小:>大于、<小于、>=大于等于、<=小于等于、==等于、!=不等于。这里有个必须记住的细节,判断相等是两个等号,一个等号是赋值。写成a = 1是“把 1 放进 a”,写成a == 1才是“问 a 是不是等于 1”。这个坑几乎每个新手都会踩一次,我第一次学时也把if (a = 1)当成判断写进作业,结果条件永远成立,怎么改都不对,盯了半小时才发现少了一个等号。

逻辑运算三个:&&表示并且,||表示或者,!表示取反。读法上,a > 0 && a < 10读作“a 大于 0 并且 a 小于 10”。一级考卷上这类题通常以判断对错的形式出现,能读懂真假就够。

3. 第一步怎么迈:装好工具,把第一个程序跑起来

概念看懂了,接下来最怕的是“打开电脑不知道点哪”。这一章就从桌面开始,一步步把程序跑出来。整个过程没有玄学,按顺序点,五分钟能完成。

3.1 为什么一级阶段用 Dev-C++ 就够

集训课ppt 里指定的开发工具是 Dev-C++,它是一个集成开发环境,英文缩写 IDE。这个词的意思是:写代码、编译、运行这三件事被装进同一个窗口,你不用来回切换软件。

对一级来说,这个选择很合适。它体积小、装完就能用、报错信息是中文界面也能看懂的英文短句,最关键是它把“编译”和“运行”合并成了一个按钮。新手最需要的不是功能多,而是“我写完点一下就能看到结果”的即时反馈。

装的时候有两个小地方要注意。一是安装路径别带中文和空格,比如放在D:\DevCpp这种纯英文目录下,带中文的路径偶尔会让编译器找不到文件。二是装完第一次打开如果提示选择语言,选中文即可,界面会顺眼很多。

3.2 从新建到运行:六步走完

第一步,打开 Dev-C++,点左上角菜单里的“文件”,选“新建”,再选“源代码”。窗口里会出现一片空白,光标在闪,这就是你写字的地方。

第二步,先把骨架敲进去。别复制粘贴,一个字一个字敲,敲错才知道错在哪。

第三步,保存。按Ctrl + S,或者点菜单“文件 → 保存”。文件名建议用英文,比如hello.cpp,后缀.cpp是 C++ 源代码的固定后缀。保存在哪?建议在 D 盘建一个专门的文件夹,比如D:\codelab,以后所有练习都放这儿,找起来方便。养成随手保存的习惯,这条从第一天就要立规矩。

第四步,编译。点工具栏上那个带小方块的按钮,或者按F11。编译的意思是把你写的英文代码翻译成机器能读懂的指令。这一步最容易出红字,出了先别慌,看第 5 章。

第五步,运行。按F10,会弹出一个黑色的命令行窗口,里面显示你程序输出的内容。这个黑窗口就是程序的“嘴”,它说什么,全看你代码里写了什么。

第六步,看完结果,窗口可能一闪就没了,这是正常的。想看仔细,可以在return 0;前面加一句system("pause");,或者干脆在末尾多写一句cin.get();,程序会停在那儿等你按键。

3.3 第一个程序:让屏幕说一句话,再算一道题

把下面这段完整敲进去,替换掉你刚才的空骨架。

#include <iostream> using namespace std; int main() { // 第一件事:让程序开口说话 cout << "Hello, World!" << endl; // 第二件事:让程序算一道加法,注意这里没有双引号 cout << 135 + 5 << endl; // 第三件事:把一句话和一个计算结果接在同一行输出 cout << "135 + 5 = " << 135 + 5 << endl; return 0; }

运行后屏幕上会出现三行:

Hello, World! 140 135 + 5 = 140

这里有三个必须理解的点。

第一,带双引号的内容原样输出,不带双引号的表达式会先算出结果再输出。所以cout << "135 + 5"会老老实实印出135 + 5这几个字符,而cout << 135 + 5印出的是140。这是新手最容易混淆的一处,考卷上也爱考。

第二,<<可以连续用,像接力一样把多段内容拼成一行。cout << "135 + 5 = " << 135 + 5 << endl;就是把文字、结果、换行三段接起来。

第三,endl是换行,不写它,后面所有输出都会挤在同一行。你可以试着删掉一个endl再运行,亲眼看看区别,这种“故意改坏看效果”的练习比看十遍讲解都管用。

参数上再补一句:cout后面永远跟<<,cin后面永远跟>>,方向别记反。记忆方法很简单,箭头指向谁,数据就流向谁。cout << x是数据从 x 流向屏幕,cin >> x是数据从键盘流进 x。这个方向感建立起来,后面写输入输出基本不会错。

3.4 五个书写习惯,现在立规矩比考前补救便宜

集训课ppt 里专门列了书写要求,很多人扫一眼就跳过,结果考试时因为一个中文分号丢了整道题的分。这五条现在就要变成肌肉记忆。

英文键盘书写:所有符号必须是英文半角。中文输入法下的逗号、引号、分号看起来和英文的几乎一样,但编译器完全不认。血泪经验是,报错信息里出现莫名其妙的“ stray '\XXX' ”,八成就是混进了中文符号。

缩进用 Tab 键:花括号里的内容往右缩一格,层次一眼看清。程序短的时候感觉不到好处,等到几十行的时候,没缩进的代码就像一锅粥。

符号成对书写:打左括号立刻打右括号,打左引号立刻打右引号。别等写完一整行再回头补,补漏是新手最常见的报错来源。

注意空格:int a之间要有空格,a=1里等号两边加空格更易读。少空格一般不报错,但挤成一团的代码自己都不愿意看第二遍。

随手保存:Ctrl + S这个动作,写三行就按一次。电脑不会提前通知你它要卡死。

4. 变量、输入与输出:让程序记住东西、也能听你说话

上一章的程序只会算固定的数,写完就定死了。真正有用的程序要能记住东西、能接收你给的数。变量和输入就是把程序从“复读机”变成“计算器”的两样东西。

4.1 变量就是一个贴了名字的盒子

教材上的定义是“变量是存储信息的容器”,这句话没错,但太抽象。你可以想象桌上有一排盒子,每个盒子上贴着一张标签,标签上写着名字。往盒子里放一个数,之后你在任何地方喊这个名字,程序就知道你说的是哪个盒子、里面装着什么。

定义变量的写法是:类型名 加 变量名 加 分号。

int n; // 开一个叫 n 的盒子,专门装整数 int score; // 开一个叫 score 的盒子,也装整数

int是整型的意思,英文 integer 的缩写,装的是不带小数点的整数,比如 1、135、-20。一级用到的数据类型以int为主,考纲里还提到小数和字符,认识就行。

定义的时候可以直接往盒子里放东西,这叫初始化:

int c1 = 1; // 开一个叫 c1 的盒子,里面放 1 int c2 = 2; // 开一个叫 c2 的盒子,里面放 2

后面就能拿这两个名字做运算了。

#include <iostream> using namespace std; int main() { int c1 = 1; // 盒子 c1 装 1 int c2 = 2; // 盒子 c2 装 2 cout << c1 + c2 << endl; // 取出两个盒子里的数相加,输出 3 cout << c1 * c2 << endl; // 相乘,输出 2 cout << c1 - c2 << endl; // 相减,输出 -1 cout << c1 / c2 << endl; // 相除,输出 0,原因见第 5 章 return 0; }

注意最后一行输出的是 0,不是 0.5。这不是程序坏了,是整数除法只保留整数部分,小数被直接丢掉。这个现象必须提前知道,否则考试时算出个 0 还以为是编译器出问题。

4.2 命名规则:四条硬规矩和一条软规矩

变量名不能随便起,C++ 有四条硬性规定,违反了直接编译失败。

第一条,只能由字母、数字、下划线组成。score1、my_score都行,score-1不行,因为减号被当成运算符了。

第二条,不能以数字开头。4name是非法的,name4才合法。这条新手特别容易犯,因为直觉上“第 4 个名字”就想写4name。

第三条,不能和关键字重名。int、return、if、for这些是语言自己留着用的词,你拿来当变量名,编译器会懵。想表达“如果”的意思,可以写isOk、flag这类名字。

第四条,区分大小写。teacher、Teacher、TEACHER是三个完全不同的名字。这意味着你定义的是Score,后面写成score,编译器会告诉你“未声明”。这个错很难一眼看出来,因为肉眼看几乎一样。

还有一条软规矩:名字要有意义。a、b、c在练习里能用,但真写题目时,sum、count、total这种名字能让你三天后回头看还认得出自己在干什么。

4.3 用 cin 把数字送进盒子

变量定义好了,值是写死的。想让用户自己输入,就要用cin。

#include <iostream> using namespace std; int main() { int a; // 先开一个空盒子 int b; // 再开一个空盒子 cin >> a; // 从键盘读一个整数,放进 a cin >> b; // 再读一个,放进 b cout << a + b << endl; // 输出两数之和 return 0; }

运行后程序会停住,光标闪,等你输入。你敲135,按回车,再敲5,按回车,屏幕才会输出140。这两次回车很关键,很多人第一次用cin会忘了按回车,以为程序卡死了。

cin >> a >> b;也可以连着写,效果一样,程序会按顺序读两个数。参数方向上再强调一次:>>的箭头指向变量,数据从键盘流进盒子。

还有一个新手常见疑问:如果输入的是一串小数会怎样?int盒子只认整数部分,你输入3.7,它装进去的是3。所以题目要求输入小数时,类型要换成double,这是后面级别的内容,一级先把整数练透。

4.4 把两道课堂练习完整写一遍

集训课ppt 里有两道典型练习,一道是打印图形,一道是输出两个数的和差乘除。第二道直接用变量和cout就能写:

#include <iostream> using namespace std; int main() { int a = 135; // 第一个数 int b = 5; // 第二个数 cout << a + b << endl; // 和:140 cout << a - b << endl; // 差:130 cout << a * b << endl; // 积:675 cout << a / b << endl; // 商:27 return 0; }

四行输出对应四个结果,注意乘号写*,除号写/。这道题看着简单,但它把变量、运算、输出三样东西全串起来了,是检验有没有真懂的最小样本。写的时候建议改一改数字,比如把b改成 7,看看商变成多少,能不能提前算出答案,再运行验证。能算对又跑对,说明整数除法这条规则你真掌握了。

打印图形那道题需要循环,一级阶段可以先照着例题抄一遍,把循环次数改大改小,观察图形怎么变长变短。抄不是目的,看懂“重复”这件事才是。

5. 新手最容易踩的五个坑:考前排查清单

写代码出错是常态,不是你笨。区别只在于,有人看到红字就慌,有人知道先看哪一行。下面五条是一级阶段出现频率最高的故障,每条都按“现象、原因、解决”写清楚,考前照着过一遍,能省下大量干瞪眼的时间。

5.1 编译类问题:红字一大片,其实只有一个错

现象:点编译,下面刷出十几行红字,看着像整个程序都废了,心态直接崩。

原因:编译器一次可能报多个错,但真正的源头常常只有一个,比如某个变量名拼错,导致后面所有用到它的地方全被判为“未声明”。红字多不等于错得多。

解决:从第一条红字开始看,只看第一条。找到它标注的行号,去那一行检查拼写、分号、括号。改完立刻重新编译,别一口气改十处。还有个小技巧,报错信息里出现expected ';'这类话,八成就是上一行末尾漏了分号,报错行本身往往没问题。

5.2 符号类问题:中文标点是最隐蔽的坑

现象:代码看着和别人写的一模一样,就是编译不过,报错里还夹着一串看不懂的字符。

原因:中文输入法下的引号、分号、逗号、括号和英文的长得几乎一样,但编译器只认英文半角的。这种错最气人,因为肉眼几乎分辨不出来。

解决:写代码前先把输入法切成英文,养成习惯。如果已经写完,把可疑的那一行整行删掉重敲一遍,比盯着看有效。判断方法也有,中文标点通常占的位置更宽一点,仔细看能看出差别。

5.3 变量类问题:未声明和大小写

现象:提示'score' was not declared in this scope,意思是这个范围内没找到叫score的东西。

原因:两种可能。一是压根没定义就用了,顺序结构里必须先定义后使用,不能先用后定义。二是定义了但大小写不一致,定义的是Score,用的是score。

解决:回到程序开头检查有没有int score;这一行。再看两处拼写是否完全一致。建议变量名统一用小写加下划线,比如my_score,能避开大部分大小写麻烦。

5.4 运算类问题:整数除法吃掉小数

现象:算1 / 2,满心期待看到 0.5,屏幕上却是 0。

原因:两边都是int,C++ 执行的是整数除法,结果只保留整数部分,小数被直接舍掉,不是四舍五入。这一条不改,编程题里凡是涉及平均分、比例的,答案必错。

解决:一级阶段遇到除法的题,先看一眼数据范围,如果题目保证能整除,直接用/没问题。如果可能出现小数,就要用double类型,或者先乘后除。这个规则不是 bug,是语言就这么设计的,记住它比抱怨它有用。

5.5 运行类问题:窗口一闪而过,或者输出挤成一行

现象一:程序运行完,黑窗口瞬间消失,什么都没看清。

原因:程序执行到最后一行就退出了,窗口跟着关闭。

解决:在return 0;前面加一句cin.get();或system("pause");,程序会停在那儿等你按键。考试环境一般不需要这句,平时练习加上方便观察。

现象二:本该分四行输出的四个结果,全挤在同一行。

原因:忘了写endl,或者把endl拼成了end1(数字 1)或者Endl。拼错时通常直接编译报错,漏写则不报错但结果不对,更容易被忽略。

解决:每输出完一段内容就检查有没有换行。养成“一句话一个endl”的写法,宁可多写也别漏。

6. 下一步学什么:从一级走到二级的路线图

一级过了之后最容易出现的问题,是不知道该往哪儿走,于是把一级的题反复刷,刷到闭眼都能写,进步却停了。我的建议是把接下来的三个月分成三段,每段有一个明确的小目标。

第一段,用两周把一级内容彻底跑通。不是看懂,是能不看答案从空白文件写出来:定义两个变量、用cin读入、做四则运算、分四行输出。写完后自己改三个数字,先手算结果,再运行对答案。这个小循环每天走一遍,比刷十套卷子扎实。这一段的验收标准是:给你一道没说用什么知识点的题,你能判断出该用变量还是该用循环。

第二段,用一个月补上选择和循环。一级只要求认识,二级开始要真写。先从最简单的开始:输入一个数,判断它是奇数还是偶数;再输入一个数,输出 1 加到它的和。这两道题写完,if和for的基本形态就立住了。这一段的常见错误是把if后面的条件写成赋值号,写之前先在心里念一遍“这里是问句还是陈述句”。

第三段,开始接触数组和字符串。这是二级到三级的必经台阶,也是一级到二级之间跨度最大的一块。入门路径建议先学数组的遍历,也就是“从头到尾把每个元素看一遍”,这是后面所有算法的地基。

把三条线的对应关系列成表,方便你判断自己现在站在哪:

一级已经会的东西二级会拿它干什么现在就该多练的一件事
变量与四则运算累加、计数、求平均手算一遍再运行验证
cin与cout多组数据输入输出一次读多个数不慌乱
顺序结构长流程的步骤拆分把大题拆成三到五步
认识if多分支判断条件写成问句而不是赋值
认识for遍历与重复计算数清循环从几跑到几

还有一件事值得提前说:从二级开始,题目会给你一段描述,让你自己判断用什么结构。这种“翻译题”比语法难,因为语法有标准答案,翻译没有。练法是读完题先别写代码,用中文把步骤写在纸上,写清楚第一步做什么、第二步做什么,写完再翻成代码。这个习惯我从一级一直保留到现在,每次遇到卡住的题,都是因为纸上的步骤本身就没写清。

最后说一句我自己的教训。我第一次带学生练一级的时候,图省事,让他们直接抄例题、跑通就算完成。结果考试时有个孩子坐在电脑前,题目会做,代码却怎么也敲不出来,因为平时都是复制粘贴,手根本没记住。从那以后我每次布置练习,都强制要求从空白文件开始一行行敲,敲完再对照答案,哪怕慢一半也认了。你也可以给自己定这条规矩:能背下来的代码,才是你的。

希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询