GESP 二级 · GESP202609 C++ 二级 第 20 题

判断题 · 答案 B

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

题目

执行 C++ 代码 cout << (not not 5) 将输出 5 。

答案:B

解题思维

看到 not not 5 先想逻辑运算:not 会把非零整数转为 true,再转回 false,最终输出 1。关键是记住 not 返回布尔值,不是原数。

常见错误

错误选项 A 利用直觉陷阱:学生常误以为 not not 5 等于 5,或以为 cout 输出 true 字符串。其实 not 返回布尔值,true 输出为 1。

详细解析(节选)

1. 考纲定位

本题考查 GESP 二级 C++ 大纲第 2.3 节「逻辑运算符」。命题人专门放这道题,就是要卡住那些「看到 not 就以为会返回原数」的直觉型考生——二级里逻辑运算和算术运算混在一起考,是经典陷阱区。

2. 解题思维

完整思考链: 1. 先确定 not 的语义:逻辑非,返回布尔值。 2. 确定 5 的布尔值:非零整数 → true。 3. 计算 not 5:not true → false。 4. 计算 not not 5:not false → true。 5. 输出 true:cout << true 输出 1。

关键数字推演:

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