《代码世界冒险指南》系列:GESP二级通
2026-07-30 09:39:20
发布于:新疆
哈喽!同学们大家好!我是郭禹老师,很高兴又和大家见面啦!那在前段时间,老师在评论区里也看到有同学在问老师能不能出一篇gesp2级备考的帖子呀?那么今天它来啦:《代码世界冒险指南》系列:GESP二级通关宝典。这个系列以后主要就给同学们分享考试的备考指南啦,以后老师也会经常出这个系列的哦 那既然是gesp等级考试,就必须先让大家看一下考试大纲:
https://oj-forum.cdn.hetaoedu.com/markdownImg/202512/c7bc792ada4346eeb1c981a68b3e4fdb.png
同学们,接下来让我们来具体看一下每个考点的内容吧
一、计算机存储与网络
计算机存储
ROM (只读存储器):出厂后就只能读数据,所以叫只读存储器,后来随着技术的发展,在ROM的基础上出现了新的半导体存储介质EPROM和EEPROM,这两种可擦写。就像你出生时就被写进 DNA 里的本能(比如眨眼),电脑一出生就有,用来存最基本、不能丢的“出厂设置”
RAM(随机存取存储器):分为SRAM(静态RAM,用于Cache)和DRAM(动态RAM,用于内存),需注意其易失性——断电后数据丢失。
CACHE(高速缓存):位于CPU和内存之间,利用局部性原理(时间局部性、空间局部性)提高数据访问速度。就像你手边的一小叠最常用的草稿纸。它是 CPU 的“贴身小秘书”,把马上要用到的数据从“大堆草稿纸(内存)”里提前拿出来,让 CPU 不用等,速度超快
计算机网络
网络分类:除LAN(局域网)、WAN(广域网)外,还有MAN(城域网)、PAN(个人域网)。
网络模型
TCP/IP四层模型:应用层、传输层、网络层、网络接口层
OSI七层模型:像寄快递有7个标准步骤:1.打包(物理层)2.加防震层(数据链路层)3.写地址(网络层)4.选快递公司(传输层)5.约配送时间(会话层)6.翻译成收件人语言(表示层)7.最终你收到礼物(应用层) 【口诀:应表会传网数物(从上到下)】注意:在TCP/IP协议中,数据链路层和物理层合并称为网络接口层
IP地址与子网划分:IPv4地址由32位二进制组成,常用点分十进制表,就像你家的街道门牌号(比如192.168.1.101),全网唯一。IPv4地址一共可以分为A,B,C,D,E等5类地址,字母越往后,网络的规模越小,一个A类网络可以容纳224-2台主机,是不是相当大呀?而一个C类网络就只能容纳28-2台主机了
子网划分通过借用主机位创建子网,计算子网掩码、网络地址、广播地址。
易错点:
别把运行内存(RAM)和硬盘存储搞混了!内存是“正在用的草稿纸”,关机就消失;硬盘是“永久的笔记本”,关机了还在。
记网络模型时,重点记住TCP/IP这四层的名字和大概作用,别被OSI七层的细节搞晕了哦。
算IP或者子网时,把数字转换成二进制来看会更清晰,就像看门牌号的本质。多练几个题就找到感觉了。
二、程序设计语言的特点
知识点:
编译型语言(如C++):通过编译器将源代码一次性转换为机器码,执行效率高,但跨平台性差。
解释型语言(如Python):通过解释器逐行执行,便于调试和跨平台,但执行速度较慢。
混合型语言(如Java):先编译为字节码,再由虚拟机(JVM)解释执行,实现“一次编写,到处运行”。
语言特点比较:
C++:面向对象、高性能、系统级开发。
Python:语法简洁、动态类型、适合人工智能以及嵌入式开发。
Java:强类型、自动内存管理、企业级应用。
易错点:
解释型语言并不是“不用编译”,它只是把编译过程藏起来了,边解释边执行。
选语言就像选工具。想快、做底层系统(如游戏引擎、计算机操作系统)选C++;想快速实现想法、做AI/嵌入式选Python;想做大型商业应用选Java。
三、流程图
知识点:
常用符号:
起止框(椭圆/圆角矩形)
处理框(矩形)
判断框(菱形)
输入/输出框(平行四边形)
流程线(箭头)
绘制规则:自上而下、逻辑清晰、避免交叉,使用标准符号。
流程图与算法:可用流程图描述排序、查找等基础算法。易错点: 在GESP2级的考试中,与流程图相关的题目大部分都出在客观题里面,所以大家一定要记清楚每个符号的作用哦,千万不要因为记错符号含义的原因导致扣分呀
四、ASCII编码
我们知道计算机里一切皆数字。ASCII码就是给键盘上每个字符(字母、数字、符号)分配的一个独家数字ID。 知识点:
标准ASCII:共128个字符(0-127),包括控制字符(0-31)、数字(48-57)、大写字母(65-90)、小写字母(97-122)。
扩展ASCII:共256个字符(128-255为扩展字符,如制表符、特殊符号)。
字符与整型互转:
int num = 'A'; // num=65
char ch = 97; // ch='a'
记住几个关键的:
'A' → 65, 'B' → 66 ... (大写字母连续)
'a' → 97, 'b' → 98 ... (小写字母连续)
'0' → 48, '1' → 49 ... (数字字符连续)
规律:小写字母比对应大写字母大32。数字字符'0'是48,不是0! 易错点:
最容易混的就是 '0' (字符) 和 0 (整数)。'0'的ASCII码是48!
字符比较大小,比的就是它们的ASCII码值。所以 'a' (97) > 'A' (65)。
五、数据类型转换
知识点:
隐式转换(自动类型提升):
规则:低精度→高精度(如int→double)。
发生在赋值、算术运算中。
显式转换(强制转换):
C风格:(目标类型)表达式 如:(int)a
C++风格:static_cast<目标类型>(表达式)
精度丢失:高精度转低精度时发生(如double→int舍去小数)。 易错点:
精度丢失:double转int不是四舍五入,是直接丢弃小数!(int)3.999也是3。
负数余数问题:-5 % 2 在很多语言里是 -1,而不是 1。计算时要留意规则。
六、多层分支结构
知识点:
if并列:如果在代码运行的过程中,多个条件都满足并且你希望只要满足条件的情况都执行,那么这种情况下使用if并列就没有问题
if-else if:如果你希望多个条件互斥,也就是说再判断的过程中,有且仅有一种情况被执行,那么就需要使用if-else if。
switch-case:适用于多路分支,注意不要因为忘记加break导致所有的情况都执行哦。
嵌套层次:不宜过深(一般不超过3层),否则可考虑用函数或状态变量简化。 易错点:
条件重叠:比如先写 if(score>60),再写if(score>80),顺序不对就会出逻辑错误,因为大于80的分数肯定大于60,所以再判断大于60的时候,大于80的成绩也一并被筛掉了。
switch的break:忘了写break是超级常见的错误,会导致执行了你想执行的,又把后面不想执行的也执行了。
七、多层循环语句 知识点:
循环嵌套:外层循环执行一次,内层循环执行完整一轮。
循环控制:
break:跳出当前循环。
continue:跳过本次循环剩余语句。
应用场景:二维数组遍历、模拟、枚举等。 一般咱们考试遇到模拟和枚举类型的题目时,有时候就需要用到多层循环啦,那下面老师就给大家看一道非常经典的题目:
language
复制
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y,z,n,m,count=0;
cin>>x>>y>>z>>n>>m;
for(int i=0;i<=m;i++){//枚举所有公鸡数量
for(int j=0;j<=m-i;j++){//枚举可能的母鸡数量
int k=m-i-j;//小鸡的数量
if(ix+jy+k/zn && k%z0){
//如果这种情况下价格刚好等于钱的数量,并且小鸡的数量可以被z整除
count++;//方案加1
}
}
}
cout<<count;
return 0;
}
易错点:
变量搞混:内外层循环通常用 i 和 j 两个不同的变量。别在里层错用了外层的 i。
死循环:如果循环条件永远为真,比如 while(1) 或者忘了更新变量,循环就停不下来了!
理解执行顺序:一定要明确,外层走一步,内层走完一整圈。
八、常用数学函数
知识点:
常用函数:
abs(x):取绝对值
sqrt(x):平方根(x≥0)
pow(x, y):x的y次幂
max(a, b) / min(a, b):最值比较
round(x):对x进行四舍五入
随机数:
srand(ti me(0)):这个表达式的作用是为随机数生成算法提供一个起始点,也就是一个种子值,用当前时间初始化随机种子。
rand() % n:生成[0, n-1]的随机整数。
随机数生成模板(制作抽奖程序的关键!):
language
复制
#include <cstdlib>
#include <cti me>
srand(ti me(0)); // 用当前时间做“随机种子”,确保每次启动种子不同
int luckyNumber = rand() % 100; // 生成一个 0~99 的随机数
注意:rand() 本身会生成一个很大的随机数,我们可以用 %(取余)来它缩小到我们需要的范围。 3. 易错点:
头文件:用数学函数要加上#include <cmath>,用随机数要加上#include <cstdlib>和#include <cti me>,不然计算机是认不出你使用的函数的哦(当然,因为GESP等级考试是允许大家使用万能头的,所以大家直接用万能头#include<bits/stdc++.h>就好啦)。
帖子看完之后,是不是感觉自己又行了呀?那还等什么,快去做几套真题练练手吧:https://htoj.com.cn/cpp/oj/training/detail?tid=22293423638016
这里空空如也



















有帮助,赞一个