GESP-C++考试(二级)考试重点 (附:【编程题模板】大全)

GESP-C++考试(二级)考试重点 (附:【编程题模板】大全)

一、GESP C++ 二级考试重点

“会写多层 if else  +  多层循环  +  用基础数学函数解决综合问题”

(一)理论部分重点(选择 / 判断题高频)

根据大纲,以下内容是必考且高频

GESP大纲:

(1)计算机基础

  • 存储器
    • RAM(内存) vs ROM(只读)
    • Cache(高速缓存)
  • 网络
    • LAN / MAN / WAN
    • OSI 七层模型(知道名字)
    • TCP/IP 四层模型(知道名字)
  • 程序设计语言
    • 机器语言 / 汇编语言 / 高级语言
    • C++ 属于高级语言

👉 特点

  • 不考计算
  • 多为“认识型”“判断型”

(2)流程图

  • 三种结构:
    • 顺序
    • 分支
    • 循环
  • 常见符号:
    • 起止(椭圆)
    • 处理(矩形)
    • 判断(菱形)

👉 可能
「下面流程图表示的是哪种结构?」


(3)ASCII 编码(必考)

必须牢记的 4 个:

' ' → 32 '0' → 48 'A' → 65 'a' → 97 

常考形式:

  • char c ='A'; c+1 是什么?
  • 字符 ↔ 数字转换

(4)数据类型转换

  • 隐式转换
int a = 3.8; // a = 3 

        强制转换

int a = (int)3.8; 

(5)多层分支 & 多层循环(核心)

  • if / if-else / switch
  • for / while / do-while
  • 嵌套是二级的“灵魂”

(6)数学函数(编程题必背)

abs(x); // 绝对值 sqrt(x); // 平方根 max(a,b); // 最大值 min(a,b); // 最小值 rand(); // 随机数(了解) 

二、C++ 二级【编程题模板合集】

根据历次真题与大纲目标,总结如下:

C++ 二级编程题特征:

“流程题 + 分类讨论 + 循环统计”

 

下面这些模板,可以直接作为二级备考速查
📘《二级编程题模板速查表》


模板 1️⃣:标准输入输出模板(所有题通用)

#include <iostream> #include <cmath> #include <algorithm> using namespace std; int main() { // 在这里写代码 return 0; } 

模板 2️⃣:多层 if 判断(分类题必用)

if (条件1) { // 情况 1 } else if (条件2) { // 情况 2 } else if (条件3) { // 情况 3 } else { // 其他情况 } 

📌 常见应用:

  • 成绩等级
  • 年龄分类
  • 区间判断

模板 3️⃣:switch 分类模板(离散值)

switch (x) { case 1: // 情况 1 break; case 2: // 情况 2 break; case 3: // 情况 3 break; default: // 其他 } 

📌 典型题型:

  • 星期
  • 月份
  • 菜单选择

模板 4️⃣:单层循环统计(第一题最常考)

int n; cin >> n; int sum = 0; for (int i = 1; i <= n; i++) { sum += i; } cout << sum << endl; 

模板 5️⃣:多层循环与二维问题(第二题经常考)

for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { // 处理第 i 行,第 j 列 } } 

📌 高频场景:

  • 表格输出
  • 坐标遍历
  • 数字矩阵

模板 6️⃣:循环 + 条件统计(第一题常考)

int cnt = 0; for (int i = 1; i <= n; i++) { if (条件) { cnt++; } } cout << cnt << endl; 

📌 用途:

  • 统计符合条件的个数
  • 计数题

模板 7️⃣:ASCII 字符处理模板(必会)

char c; cin >> c; int code = (int)c; cout << code << endl; 

char c; cin >> c; if (c >= 'a' && c <= 'z') { cout << "小写字母"; } 

模板 8️⃣:数学函数综合模板

double x; cin >> x; cout << abs(x) << endl; cout << sqrt(x) << endl; 

模板 9️⃣:统计 + 分类综合模板

int n; cin >> n; int cnt1 = 0, cnt2 = 0; for (int i = 1; i <= n; i++) { int x; cin >> x; if (x >= 60) cnt1++; else cnt2++; } cout << cnt1 << " " << cnt2 << endl; 

📌 场景:

  • 合格 / 不合格
  • 正数 / 负数
  • 奇数 / 偶数

模板 🔟:最大最小值模板(必会)

int n; cin >> n; int x; cin >> x; int mx = x, mn = x; for (int i = 2; i <= n; i++) { cin >> x; mx = max(mx, x); mn = min(mn, x); } cout << mx << " " << mn << endl; 

📌 不用max/min 写成 if 判断语句也可以


模板 1️⃣1️⃣:字符统计模板(ASCII 联动题)

char c; int cnt = 0; while (cin >> c) { if (c >= '0' && c <= '9') { cnt++; } } cout << cnt << endl; 

📌 常考:

  • 数字字符个数
  • 字母判断

模板 1️⃣2️⃣:随机数模板(了解即可)

#include <cstdlib> #include <ctime> srand(time(0)); int x = rand() % 10; // 0~9 

三、防错指南

这些内容没写进“模板”
90% 二级编程题都会用到

① 输入细节防坑模板(非常重要)

❗常见翻车点

  • 输入是 多组数据
  • 输入以 0 / -1 结束
  • 输入数量不固定

✅ 模板:读到结束为止

int x; while (cin >> x) { // 处理 x } 

📌 用途:

  • 直到 EOF
  • 多行输入

✅ 模板:以特殊值结束

int x; while (cin >> x && x != 0) { // 处理 x } 

📌 二级常见:
“输入若干整数,以 0 结束”


② 初始化模板(不初始化=必丢分)

❗二级学生最容易犯的错

int sum; // ❌ 未初始化 sum += x; 

✅ 正确模板

int sum = 0; int cnt = 0; double ans = 0; 

📌 记忆口诀

“统计类变量,先给 变量赋值为0”

③ 边界值处理模板(选择题 + 编程题)

❗常见边界

  • 0
  • 1
  • 负数

✅ 防御式模板

if (n <= 0) { cout << 0 << endl; return 0; } 

📌 二级对算法无太大要求,但要求考虑特殊情况


④ 输出格式模板(二级极易扣分)

❗常见扣分原因

  • 多空格
  • 少换行
  • 输出多了文字

✅ 规范输出模板

cout << ans << endl; 

❌ 禁止出现

cout << "结果是:" << ans; // ❌ 

📌 GESP 原则

“输出必须和题目一模一样”

⑤ 浮点数输出模板(隐藏考点)

❗常见题型

  • 平均值
  • 开平方
  • 计算结果带小数

✅ 保留两位小数模板

#include <iomanip> cout << fixed << setprecision(2) << ans << endl; 

📌 二级常见要求:

  • “保留 2 位小数”
  • “输出结果为实数”

⑥ 数学函数使用规范模板(细节题)

❗错误写法(最常见)

sqrt(2); // 返回 double int x = sqrt(2); // ❌ 易错理解 

✅ 正确示范

double x = sqrt(2.0); 

int x = (int)sqrt(2.0); 

📌 结合「强制类型转换」一起考


四、C++ 二级编程题【“必检查 8 项清单”】

学生交卷前对照检查

✅ 变量是否初始化
✅ 循环是否少 / 多一次
✅ if 是否漏 else
✅ 边界值是否处理
✅ 输出是否多字
✅ 换行是否正确
✅ 是否用了题目不允许的输出
✅ 是否遗漏 return 0;


五、记忆口诀

二级拼的不是算法,而是“细节完整度”

思路正确 ≠ 程序得分

初始化 + 边界 + 输出格式
👉 是真正的“保命三件套”

Read more

政安晨【零基础玩转开源AI项目】OpenClaw 跨平台AI助手完全使用指南:从入门到精通 (基于我这段时间在Ubuntu Linux系统上的使用经验为大家总结一下)

政安晨【零基础玩转开源AI项目】OpenClaw 跨平台AI助手完全使用指南:从入门到精通 (基于我这段时间在Ubuntu Linux系统上的使用经验为大家总结一下)

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 【详细安装过程见我博客的上上篇文章】 目录 第一章:OpenClaw核心概念与架构 1.1 什么是OpenClaw? 1.2 OpenClaw技术架构 1.3 支持的模型 第二章:安装与配置 2.1 系统要求 2.2 快速安装(推荐) 2.3 从源码安装(开发版) 2.4 Docker安装 2.5 配置文件详解 第三章:通道配置详解 3.1 飞书配置 3.2 Telegram配置 3.

By Ne0inhk
GitHub学生认证

GitHub学生认证

目录 GitHub 学生认证申请指南 流程         1进入github准备         2.编辑个人信息         3.添加2FA(两步验证)         4.添加账单信息         5.开始进行认证 认证有效期 GitHub 学生认证申请指南      GitHub 学生认证允许学生免费使用 GitHub Pro 功能,包括私有仓库、协作工具等。以下是申请流程和注意事项:  准备材料      1.首先你需要有自己的GitHub账号 , 2你要能进入GitHub ,3.你要有效的学校邮箱(以 .edu 或学校域名结尾) 4.当前在读证明(学生证、录取通知书或学信网验证报告) 一般手写材料 成功率高 流程         1进入github准备           https://github.com/进入登录github账号         2.编辑个人信息        注:个人信息其中1.

By Ne0inhk
基于Rust实现爬取 GitHub Trending 热门仓库

基于Rust实现爬取 GitHub Trending 热门仓库

基于Rust实现爬取 GitHub Trending 热门仓库 这个实战项目将使用 Rust 实现一个爬虫,目标是爬取 GitHub Trending 页面的热门 Rust 仓库信息(仓库名、描述、星标数、作者等),并将结果输出为 JSON 文件。本次更新基于优化后的代码,重点提升了错误处理容错性和 CSS 选择器稳定性。 技术栈 * HTTP 请求:reqwest( Rust 最流行的 HTTP 客户端,支持异步) * HTML 解析:scraper(基于 selectors 库,支持 CSS 选择器,轻量高效) * JSON 序列化:serde + serde_json( Rust 标准的序列化

By Ne0inhk
免费无限量API调用 GLM-5、Qwen3.5-398B 使用教程(AtomGit 限时开放)

免费无限量API调用 GLM-5、Qwen3.5-398B 使用教程(AtomGit 限时开放)

免费无限量API调用 GLM-5、Qwen3.5-398B大模型的 使用教程(AtomGit 限时开放) SEO关键词:GLM-5免费、Qwen3.5-398B免费API、AtomGit AI模型、免费大模型API、Qwen3.5接口调用、GLM5接口地址 最近在找一些可以免费调用的大模型 API时,意外发现一个平台开放了限时活动:AtomGit 提供 GLM-5、Qwen3.5 系列模型的免费调用,而且不限量。 https://atomgit.com/setting/points?type=invite&picode=RJFA9V4U&utm_source=ic_p 对于经常做 AI工具开发、自动化脚本、AI应用测试 的开发者来说,这种活动其实不太常见,所以简单记录一下注册和调用的方法,也顺便测试了一下实际情况。

By Ne0inhk