GESP 四级 · GESP 202506 C++ 四级 第 18 题

判断题 · 答案 B

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

题目

下面 C++ 代码在一个结构体中又定义了别的结构体。这种结构体嵌套定义的方式语法不正确。

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

struct Library {
    struct Book {
        struct Author {
            string name;
            int birthYear;
        };

        string title;
        int year;
        Author author;
    };

    string name;
    vector<Book> books;
};
答案:B

解题思维

答案B。C++中字符串处理可以用字符数组或string类型。sizeof和strlen的结果不同。

常见错误

仔细审题,注意限定词和否定词。用排除法缩小选项范围。

详细解析(节选)

【考点】C++ 语法基础|结构体嵌套定义|代码编译规则

1. 🎯 考纲定位

GESP C++ 四级《程序设计与基础算法》模块第 3 章"结构化数据"基础考点。命题人专门挑这条嵌套链——因为四级考生对 struct 有基本概念,但遇到三层嵌套时容易"凭直觉断言错误"。这道题卡住的是"语法直觉"与"语言规则"的冲突:学生习惯看到长代码就挑刺,却没意识到 C++ 允许任意深度嵌套定义。

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