GESP 三级 · GESP 202503 C++ 三级 第 14 题

选择题 · 答案 D

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

题目

想要得到字符串 world,下面程序横线处应该填入的是()

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "HelloC++";
    _____________
    _____________
    return 0;
}

A.

str.insert(4, "World");
cout << str.substr(4, 4);

B.

cout << str.substr(5, 5);

C.

str.insert("World");
cout << str.substr(5, 5);

D.

str.insert(5, "World");
cout << str.substr(5, 5);
答案:D

解题思维

答案D。位运算代码补全要注意区分位运算符(&|^)和逻辑运算符(&&||)。异或(^)常用于交换值。

常见错误

位运算代码补全容易出错,因为位运算结果不如算术运算直观。记住异或的自反性。

详细解析(节选)

【考点】string 的 insert|string 的 substr

🎯 考纲定位(考点定位)

GESP 三级《C++ 语言程序设计》模块,考察字符串容器操作。命题人卡住"指针偏移"——insert 插入后原位置全被挤到后面,考生不模拟插入过程就会选错。

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