GESP2025年9月认证C++四级真题与解析(判断题1-10)

GESP2025年9月认证C++四级真题与解析(判断题1-10)

🌟 第 1 题

(1)以下代码能正确初始化指针。

int a = 5; int *p = a; 

判断结果:错


(2)🧸 故事讲解:钥匙和房子 🏠🔑

  • a = 5
    👉 房子里有 5 个糖果
  • p 是一把 钥匙
  • 但是你写的是:
int *p = a; 

意思是:

👉 用“糖果数量”当地址?!

这是不对的 ❌


(3)✅ 正确写法应该是

int *p = &a; 

(4)🧠 小朋友口诀

👉 指针要地址,要加 &


🌟 第 2 题

(1)执行下面代码将输出 11。

int x = 10; void f() { int x = x + 1; cout << x << endl; } 

判断结果:错


(2)🧸 故事讲解:影子变量 👻

在函数 f() 里:

int x = x + 1; 

这是在说:

👉 重新定义一个x,用这个“还没出生的 x”,给自己加 1

⚠️ 这是未定义行为


(3)🚫 不是 11,也不是 任何确定的值


(4)🧠 小朋友口诀

👉 在函数中,创建变量,未赋初值,是未定义行为,无法预测


🌟 第 3 题

(1)以下 C++ 代码合法。

struct Student { string name; int age; float score; }; Student* students = new Student[20]; 

判断结果:对


(2)🧸 故事讲解:建一个学生班级 🏫

  • Student:学生模板
  • new Student[20]
    👉 创建 20 个学生

(3)🧠 这是 使用指针,创建数组的正确写法

✔ 合法

✔ 常见

✔ Student* students = new Student[20];    new是新开一个。


(4)🧠 记忆口诀

👉 new + 类型[数量] = 一排对象


🌟 第 4 题

(1)执行下面代码将输出 10。

void func(int* p) { *p = 10; } int a = 5; func(&a); cout << a; 

判断结果:对


(2)🧸 故事讲解:

  • a = 5:盒子里 5 个糖
  • &a:把盒子地址给函数
  • *p = 10
    👉 直接改盒子里的糖果数量

(3)🎯 输出结果

10 

(4)🧠 记忆口诀

👉 指针参数给地址,函数就能修改原变量的值


🌟 第 5 题

(1)二维数组传参,函数参数写成 int arr[][4] 是错误的。

判断结果:错


(2)🧸 故事讲解:书架 📚

int arr[3][4]; 
  • 行数:可以不写
  • 列数:必须写!

(3)✅ 正确写法

void f(int arr[][4], int rows) 

(4)🧠 为什么?

因为编译器需要知道:

👉 每一行多宽

(5)🧠 记忆口诀

👉 二维数组传参,列数不能省,行数可以省


🌟 第 6 题

(1)递推是在给定初始条件下,已知前一项求后一项的过程。

判断结果:对


(2)🧸 故事讲解:接力跑 🏃‍♂️🏃‍♀️

  • 第 1 个人知道
  • 第 2 个靠第 1 个
  • 第 3 个靠前两个……

这就是 递推


(3)📌 例子:斐波那契

f[n] = f[n-1] + f[n-2]; 

(4)🧠 记忆口诀

👉 前人栽树,后人乘凉

👉 递推算法,怎么算

👉 从前向后,逐步来推算


🌟 第 7 题

(1)虽然插入排序是 O(n²),但小数据下很受欢迎。

判断结果:对


(2)🧸 故事讲解:整理几张扑克牌 🃏

  • 5 张牌:插入排序很快
  • 10000 张牌:就慢了

(3)🎯 原因

  • 操作简单
  • 常数小
  • 小数据很快

(4)🧠 记忆口诀

👉 数据小,插入好,移动单元比较少


🌟 第 8 题

(1)冒泡排序一轮后结果是 {4,1,3,1,2,5}

❌️ 判断结果:错误


(2)🧸 故事讲解:气泡往上冒 🫧

原数组:

4 1 3 1 5 2 

一轮冒泡(最大往后):

 1 3 1 4 2 5 

(3)👉 “冒泡排序的每一轮”是怎样换?

一轮冒泡排序 = 从左到右,相邻元素两两比较一次

⚠️ 注意关键词:

相邻
一次一格地比

不是“直接把最大换到最后”,
而是——一步一步冒过去


(4)“冒泡排序三句话口诀”🫧

1️⃣ 只能比相邻
2️⃣ 一步一步换
3️⃣ 一轮结束,最大的移到最后面



🌟 第 9 题

(1)以下代码只能捕获 int 类型异常。

int main() { try { throw 42; } catch (...) { cout << "Caught" << endl; } return 0; }

❌️ 判断结果:错误


(2)🧸 故事讲解:万能接球手 ⚾

  • catch(...)
    👉 是万能接球球
  • 所有类型都能接

(3)🧠 记忆口诀

👉 catch 参数写啥,只抓啥

👉 catch (...)是万能接球手,所有没写的类型,它全包


🌟 第 10 题

(1)以下代码将 Hello 写入文件 data.txt。

ofstream file("data.txt"); cout << "Hello"; file.close(); 

判断结果:错


(2)🧸 故事讲解:写错本子 📘

  • cout:写到 屏幕
  • file:是程序中创建的 ofstream 对象,它可以写到文件"data.txt"里

(3)❌ 错在哪里?

cout << "Hello"; // ❌ 写屏幕 

✅ 正确写法

file << "Hello"; 

(4)🧠 记忆口诀

👉创建 ofstream 对象并打开文件,使用对象 与 << 写入内容是关键!

Read more

保姆级教程:OpenClaw 本地 AI 助手安装、配置与钉钉接入全流程

保姆级教程:OpenClaw 本地 AI 助手安装、配置与钉钉接入全流程

文章目录 * 保姆级教程:OpenClaw 本地 AI 助手安装、配置与钉钉接入全流程 * 🌟 引言 * 第一步:环境准备 * 1. 安装 Node.js * 2. 安装 Git * 第二步:安装 OpenClaw * 方式一:使用 npm 全局安装(通用推荐) * 方式二:Windows 快捷安装脚本 * 第三步:首次运行与初始化配置 (Onboard) * 1. 环境依赖检查 * 2. 向导配置流程 * 3. 网关启动与测试 * 第四步:进阶玩法——将 OpenClaw 接入钉钉机器人 * 1. 创建钉钉企业内部应用 * 2. 通过 npm 安装钉钉插件 * 3. 测试通道通讯

By Ne0inhk

【AI】2026年AI学习路线(从入门到精通)重点版

一、2026年AI学习知识图谱(从入门到精通) (一)入门阶段(0-6个月):建立认知,夯实基础 核心目标:掌握AI基础概念、必备数学与编程能力,能实现简单机器学习模型,建立系统的AI认知框架。 核心内容: * AI通识:AI发展史、核心概念、主要学派、经典案例,了解2026年AI前沿趋势(如多模态、具身智能)。 * 数学基础:微积分、线性代数、概率论与统计、优化理论,掌握AI算法所需的数学工具。 * 编程基础:Python核心语法、数据结构与算法、CUDA基础,能熟练使用Python处理数据、编写简单代码。 * 传统机器学习入门:监督/无监督学习基础、线性回归、决策树、模型评估方法,入门Scikit-learn工具。 * 基础实践:完成鸢尾花分类、房价预测等简单项目,参与Kaggle入门赛,积累基础实战经验。 (二)进阶阶段(6-12个月):掌握核心算法,

By Ne0inhk
Flutter for OpenHarmony:Flutter 三方库 dart_mcp — 开启鸿蒙端的 AI Agent 通信协议新纪元(适配鸿蒙 HarmonyOS Next ohos)

Flutter for OpenHarmony:Flutter 三方库 dart_mcp — 开启鸿蒙端的 AI Agent 通信协议新纪元(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net。 Flutter for OpenHarmony:Flutter 三方库 dart_mcp — 开启鸿蒙端的 AI Agent 通信协议新纪元(适配鸿蒙 HarmonyOS Next ohos) 前言 随着生成式 AI 的爆发,Model Context Protocol (MCP) 正逐渐成为连接大型语言模型(LLM)与外部工具(Tools)、数据源(Resources)及上下(Context)的标准开放协议。它由 Anthropic 发起,旨在解决 AI 代理在获取现实世界信息时的碎片化问题。 在 Flutter for OpenHarmony 开发中,我们不仅关注 UI

By Ne0inhk
OpenCode 安装 oh-my-opencode 插件教程(AI 一键辅助安装版)

OpenCode 安装 oh-my-opencode 插件教程(AI 一键辅助安装版)

最近发现一个很有意思的 OpenCode 插件仓库:oh-my-opencode 项目地址:code-yeongyu/oh-my-opencode: The Best Agent Harness. Meet Sisyphus: The Batteries-Included Agent that codes like you. 它的目标是让 OpenCode 具备更“开箱即用”的体验:通过安装插件增强能力,比如更顺手的指令、工作流、提示词封装等。 这篇文章会用仓库作者推荐的方式来安装:把提示词交给 AI,让 AI 自动完成安装。同时我也会补充关键步骤,避免“只会复制粘贴但不知道发生了什么”。 1. 前置条件 开始前确认你已经具备: * 已安装 OpenCode(没有安装的可参考我的另一篇【ClaudeCode平替(免费)】OpenCode 完整安装与 VSCode 使用指南_

By Ne0inhk