GESP 一级 · GESP 202312 C++ 一级 第 17 题

判断题 · 答案 B

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

题目

C++ 语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5。

答案:B

解题思维

这道题考的是逗号运算符的求值规则。拿到题别急着看 cout,先盯着括号里那串东西:逗号表达式是从左往右算,但整个表达式的值只取最后一个。最后一步是 2+3=5,所以 cout 只会输出 5。

常见错误

最容易掉进命题人设的坑——以为逗号是分隔符,会把每个子表达式的结果都输出来,或者误以为 cout 后面跟个逗号表达式会逐个输出。其实逗号运算符优先级最低,它把前面的计算结果直接‘吞掉’,只保留最后一个值传给 cout。如果你只背‘cout 输出什么’而不理解‘逗号表达式求值规则’,一定会选 A。

详细解析(节选)

【考点】运算符优先级|逗号运算符|表达式求值

1. 考纲定位

GESP 一级"基础编程"模块,专门考查 C++ 运算符优先级与表达式求值规则。命题人放这道题就是要筛掉那些"凭感觉写代码、不真正理解语言规则"的考生——逗号运算符是 C++ 里最容易混淆的运算符之一,绝大多数考生根本不知道它存在,更不知道它的行为。

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