GESP 二级 · GESP 202406 C++ 二级 第 5 题

选择题 · 答案 A

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

题目

在 C++ 中,cout << (5 % 2 && 5 % 3) 的输出是( )。

答案:A

解题思维

答案A。文件重定向后cout的输出被写入文件。程序本身无法确定输出目的地。

常见错误

文件重定向后程序行为不变,只是I/O目的地改变了。程序无法区分。

详细解析(节选)

我是 ,由 创作。

【考点】取模运算|逻辑与|布尔值输出

考纲定位:C++ 二级大纲“运算符优先级”“布尔值输出”模块。命题人放这道题卡住那些只背“&& 返回 true/false”而不知道输出细节的考生。

解题思维:先算 5 % 2 = 1,5 % 3 = 2,再逻辑与 1 && 2 → true,cout 输出 1。通法:遇到 cout << 布尔 直接记“真→1,假→0”,取模先算结果,别被中间值迷惑。注意 && 返回布尔而非第二个值,% 返回整数而非布尔。

陷阱拆解:A 正确。B 误把第二个取模值当输出,因为有人以为 && 只返回第二个值;C 以为会打印 "true",因为见过 cout << true 但忘了 C++ 默认输出 0/1;D 完全相反。最阴险的是“&& 返回 true/false”这个绝对表述——只背结论会掉进这个陷阱,忘记取模结果是整数、cout 输出 0/1。

反命题思维:若改成 cout << (5 % 2 || 5 % 3),短路会跳过第二个;换成 | 则按位或结果仍是 1。刷到类似题先问“命题人想考我什么”。

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