GESP 三级 · GESP 三级样题(C++ 组) 第 18 题

判断题 · 答案 A · 考点:字符数组与字符串处理

← 整套速查表 GESP 三级 全部真题

题目

在 C++ 语言中,字符串是以 '\0' 结尾的字符数组。( )

答案:A

考点

字符数组与字符串处理 讲解 →字符数组与字符串处理 真题汇总 →

解题思维

这题考的是C风格字符串的底层存储机制。拿到题别急着想std::string,先回C语言定义:字符串就是'\0'结尾的字符数组。C++为了兼容C,底层依然沿用这规矩,所以题干描述完全正确。

常见错误

最容易掉进'绝对化'的坑,觉得C++里字符串只能是std::string对象,忽略了C++里依然允许用字符数组定义字符串。命题人就是利用这种'概念迁移'误区,把C的知识点直接套到C++上,却忘了兼容性。如果你只背结论、不理解本质,就会误选B。另外还要分清'\0'(空字符,ASCII 0)和'0'(数字字符,ASCII 48)这两个长得像但完全不一样的东西,别被符号迷惑。

详细解析(节选)

【考点】字符数组|字符串终止符|C风格字符串

GESP三级覆盖C++基础,本题落在'字符数组'与'字符串终止符'两个模块。命题人放这道题,就是卡住那些只背了'C++用std::string'而不知道C风格字符串仍然存在的考生。

解题思维:先回忆C语言中字符串的定义——以'\0'结尾的字符数组。C++为了兼容C,保留了这种用法,但C++也引入了std::string类,它底层仍用'\0'结尾的数组存储,但对外不提供直接操作字符数组的接口。题目中的表述只涉及底层存储,所以正确。

陷阱拆解:错误选项B的设计思路是'绝对化表述',让考生误以为C++中所有字符串都是std::string对象,忽略了C风格字符串的存在。命题人利用的是'概念迁移'误区,把C的知识点直接套用到C++上,却忘了兼容性。最阴险的细节是'字符串'一词的多义性:在C++教材中通常指std::string,但在底层实现上仍可能是字符数组。如果你只背结论、不理解本质,就会掉进这个陷阱。

反命题思维:如果把题目改成'在C++中,所有字符串都是std::string对象',答案就变成错误;或者改成'C++中字符串的存储方式与C语言相同',答案仍然是正确。刷到类似题时,先问自己'命题人想考我什么'。

考频与趋势:字符串相关考点在题库共考过99题,覆盖10个考试级别。逐年分布看,2008年4题、2011年2题、2012年2题、2014年2题、2015年2题、2016年2题、2017年1题、2018年2题、2019年2题、2020年1题、2021年2题、2022年1题、2023年11题、2024年10题、2025年32题、2026年19题、null年4题。分赛事看,GESP五级19题、GESP六级17题、NOIP普及组初赛14题、GESP三级14题、GESP四级10题、GESP七级8题、GESP八级6题、CSP入门级6题、NOIP提高组初赛3题、CSP提高级2题。可见GESP三级确实有14题涉及字符串,属于高频考点。

预测:从2023年11题、2024年10题到2025年32题再到2026年19题,字符串考点在近年波动较大,但GESP三级作为基础入门,依然会稳定考查C风格字符串与std::string的区别。命题人可能会继续用'绝对化表述'挖坑,或者结合输入输出函数(如cin/cout与scanf/printf)考查底层存储细节。暂无足够依据预测具体题型,但'概念迁移'类陷阱未来仍会高频出现。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断