跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
C++算法

GESP 2025 年 9 月 C++ 四级认证真题解析:判断题 1-10

GESP 2025 年 9 月 C++ 四级认证考试中的前 10 道判断题及其解析。内容涵盖指针初始化、变量作用域与未定义行为、动态内存分配、指针传参修改原值、二维数组传参规则、递推算法概念、排序算法特性、异常捕获机制以及文件流操作等核心知识点。通过代码示例和逻辑分析,帮助考生理解常见考点及易错点,提升编程基础能力。

DockerOne发布于 2026/3/23更新于 2026/5/620K 浏览
GESP 2025 年 9 月 C++ 四级认证真题解析:判断题 1-10

第 1 题

题目: 以下代码能正确初始化指针。

int a = 5; int *p = a;

答案: 错 解析: 指针变量存储的是地址,不能直接赋值给整型数值。a 是整型值,p 是指针。正确的写法应该是将 a 的地址赋给 p,即 int *p = &a;。

第 2 题

题目: 执行下面代码将输出 11。

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

答案: 错 解析: 在函数 f() 内部定义的局部变量 x 会遮蔽外部同名的 x。在初始化表达式 int x = x + 1; 中,右侧的 x 指的是当前正在初始化的局部变量本身,此时该变量尚未初始化,属于未定义行为(Undefined Behavior),无法预测输出结果,更不会是 11。

第 3 题

题目: 以下 C++ 代码合法。

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

答案: 对 解析: 这是使用 new 运算符动态分配对象数组的标准写法。Student* students 声明了一个指向 Student 结构体的指针,new Student[20] 在堆上分配了 20 个 Student 对象的空间并返回首地址。语法合法且常见。

第 4 题

题目: 执行下面代码将输出 10。

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

答案: 对 解析: 函数 func 接收一个整型指针参数。调用时传入 &a,即变量 a 的地址。在函数内部通过解引用 *p = 10 修改了指针所指向内存中的值,因此原变量 a 的值被修改为 10,输出结果为 10。

第 5 题

题目: 二维数组传参,函数参数写成 int arr[][4] 是错误的。 答案: 错 解析: 二维数组作为函数参数传递时,必须指定列数(第二维的大小)。这是因为编译器需要知道每一行的宽度才能正确计算元素偏移量。行数可以省略,但列数不可省。因此 int arr[][4] 是正确的写法。

第 6 题

题目: 递推是在给定初始条件下,已知前一项求后一项的过程。 答案: 对 解析: 递推算法的核心思想是根据已知的初始条件和递推关系式,由前一项推导后一项。例如斐波那契数列 f[n] = f[n-1] + f[n-2],就是典型的递推过程。

第 7 题

题目: 虽然插入排序是 O(n²),但小数据下很受欢迎。 答案: 对 解析: 插入排序的时间复杂度为 O(n²),但在数据量较小或数据基本有序的情况下,其常数因子很小,实际运行效率往往优于快速排序等复杂算法,因此在特定场景下非常实用。

第 8 题

题目: 冒泡排序一轮后结果是 {4,1,3,1,2,5}。 答案: 错误 解析: 假设原数组为 {4, 1, 3, 1, 5, 2}。冒泡排序的一轮遍历是从左到右依次比较相邻元素,将较大的元素向后交换。一轮结束后,最大的元素会移动到末尾。对于该数组,一轮后的结果应为 {1, 3, 1, 4, 2, 5},而不是题目给出的结果。

第 9 题

题目: 以下代码只能捕获 int 类型异常。

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

答案: 错误 解析: catch(...) 是万能异常捕获块,它可以捕获任何类型的异常,不仅仅是 int 类型。只有当 catch 后面指定了具体类型(如 catch(int e))时,才只捕获该类型。

第 10 题

题目: 以下代码将 Hello 写入文件 data.txt。

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

答案: 错 解析: 代码中使用了 cout 对象进行输出,cout 默认指向标准输出设备(屏幕),而不是文件流对象 file。要将内容写入文件,应使用 file << "Hello";。

目录

  1. 第 1 题
  2. 第 2 题
  3. 第 3 题
  4. 第 4 题
  5. 第 5 题
  6. 第 6 题
  7. 第 7 题
  8. 第 8 题
  9. 第 9 题
  10. 第 10 题
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • VS Code 集成 Overleaf 实现本地 AI 辅助 LaTeX 写作
  • 解决浏览器可访问但 Git 无法克隆的问题
  • Copilot 与 Codex 中文乱码问题自动化修复方案
  • 基于腾讯云 HAI 与 DeepSeek 快速搭建个人网页
  • 优雅降级 vs 渐进增强:前端兼容策略的“道”与“术”
  • 二叉树层序遍历:BFS 算法可视化与实现
  • Ψ0 人形全身 VLA:基于人类视频与机器人数据预训练及后训练方案
  • 微信小程序案例 - 自定义 tabBar
  • jmx_exporter 与 OpenTelemetry 集成:Java 应用可观测性最佳实践
  • Buzz:基于 Whisper 的离线语音转写工具
  • 即梦 Omnihuman API 数字人视频生成 Streamlit 示例
  • AIGC 微电影《编钟》制作全流程复盘
  • HTML 基础语法与常用标签详解
  • Python OKX 库实战:构建加密货币交易系统
  • AI 大模型如何重塑就业生态与产业机遇
  • 实战应用:用 Whisper-large-v3 快速搭建多语言语音转文字服务
  • CANoe.DiVa DTC 自动化测试与诊断策略解析
  • AI 语音合成新趋势:大模型驱动的自然韵律生成
  • 如何在 Windows 上通过 Docker 本地运行 DeepSeek 模型
  • DAMO-YOLO 工业视觉部署:深色模式与异步渲染实战

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online