GESP 三级 · GESP 202312 C++ 三级 第 6 题

选择题 · 答案 A

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

题目

第6题 执行下面 C++ 代码后输出的是()。

string str=("chen");
int x=str.length();
cout<<x<<endl;
答案:A

解题思维

这题考的是C++字符串类的基础用法,特别是length()成员函数。拿到题先别急着数,要分清字符串字面量本身包含哪些字符,以及length()返回的是字符个数还是字节数。

常见错误

很多学生看到'chen'会下意识数空格或者把末尾的不可见字符算进去,导致选错。还有人会把length()的结果当成数组下标去访问,或者混淆C风格字符串的sizeof和std::string的length()的区别,以为要加1或者减1。

详细解析(节选)

【考点】C++标准库string类|长度获取方法

这道题GESP三级C++模块,考的是C++标准库基础。命题人把“字符串长度”这个初中生的直觉概念,和C++的length()函数绑定,卡住的是“看到字符串就数空格”或“把长度当索引”的惯性思维。

解题链:string str=("chen");定义了一个长度为 4 的字符串对象;str.length()调用其成员函数,返回当前字符串的字符个数。

这里要特别注意:std::string的length()返回的是字符个数,和C风格字符串的sizeof不一样。"chen"去掉引号就是c,h,e,n四个字符,所以length()返回4,cout输出就是4。

易错点:位运算追踪时建议把数字写成二进制形式再逐位计算,数组下标从0开始,位运算结果可能不直观。建议画图辅助。

【考频与趋势】基础语法:题库共考过 1295 题,覆盖 11 个考试级别(2008-2026);逐年分布:2008年1题、2011年1题、2019年3题、2023年287题、2024年413题、2025年401题、2026年109题、null年80题;分赛事:GESP 一级332题、GESP 二级283题、GESP 三级215题、GESP 四级186题、GESP 七级91题、GESP 八级79题、GESP 六级78题、GESP 五级23题、CSP 提高级3题、CSP 入门级3题、NOIP 提高组 初赛2题

控制结构:题库共考过 429 题,覆盖 7 个考试级别(2009-2026);逐年分布:2009年2题、2023年81题、2024年138题、2025年160题、2026年45题、null年3题;分赛事:GESP 一级133题、GESP 二级133题、GESP 三级84题、GESP 四级76题、CSP 入门级1题、NOIP 提高组 初赛1题、NOIP 普及组 初赛1题

循环结构:题库共考过 609 题,覆盖 12 个考试级别(2008-2026);逐年分布:2008年7题、2009年3题、2010年3题、2011年6题、2012年5题、2013年7题、2014年8题、2015年4题、2016年12题、2017年11题、2018年13题、2019年4题、2022年1题、2023年77题、2024年128题、2025年158题、2026年161题、null年1题;分赛事:GESP 二级172题、GESP 一级139题、GESP 三级89题、GESP 四级87题、NOIP 普及组 初赛56题、NOIP 提高组 初赛23题、GESP 五级16题、GESP 六级9题、CSP 入门级8题、CSP 提高级5题、GESP 七级3题、GESP 八级2题

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