GESP 一级 · GESP 202412 C++ 一级 第 22 题

判断题 · 答案 B

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

题目

C++ 语句 cout << (3,2) 执行后,将输出 3 和 2,且 3 和 2 之间有逗号间隔。( )

答案:B

解题思维

答案B。cout用于输出到标准输出(通常是屏幕)。cin从标准输入读取。

常见错误

cout和cin在iostream头文件中定义,使用时需#include <iostream>。

详细解析(节选)

【考点】逗号运算符|表达式求值|C++ 输出流

🎯 考纲定位:GESP 一级 C++ 语法模块,考查运算符优先级与表达式求值。命题人故意用看似"两个数"的写法,卡住初学者对逗号运算符的陌生感——很多人会误以为逗号是分隔符,而非运算符。

🧠 解题思维:看到 cout << (3,2) 先识别括号内是逗号表达式。C++ 中 (a,b) 按顺序求值,返回 b 的值,左侧 3 被丢弃。因此表达式整体值为 2,cout 只输出 2。

🪤 陷阱拆解:选项 A 的"输出 3 和 2"是偷换概念——逗号在这里是运算符,不是输出分隔符。命题人利用"逗号即分隔"的直觉误区,又埋下"括号内是表达式"的细节,只背结论的人必掉坑。

🔄 反命题思维:若改成 (3,2,4),输出仍是 4;若改为 cout << (3,2) << ", ",才会出现逗号。刷到类似题先问"逗号是运算符还是分隔符"。

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