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

判断题 · 答案 A · 考点:输入输出

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

题目

C++程序执行后,输入 chen a dai 输出应该为:chen。()

string str;
cin>>str;
cout<<str;
答案:A

考点

输入输出

解题思维

答案A。数组和位运算的代码追踪要特别小心:数组下标从0开始,位运算结果可能不直观。建议画图辅助。

常见错误

位运算追踪时建议把数字写成二进制形式再逐位计算。

详细解析(节选)

【考点】输入输出 (cin/cout)|字符串读取|空格分隔

1. 🎯 考纲定位:GESP C++二级/三级"基本操作"模块。命题人专挑 cin >> str 的"空格截断"特性,卡死那些以为 cin 会读完整行或整串的考生。

2. 🧠 解题思维:看到 cin >> str 立即想到"遇空白字符停止"。输入 chen a dai 中第一个空格前是 chen,因此 str 只装入 chen,剩下 a dai 留在输入流。后续 cout << str 自然输出 chen,故原命题"输出应该为:chen"为真。

3. 🪤 陷阱拆解:错选 B 的典型路径是误以为 cin 会读完整个字符串(包括空格),或把 cin >> 与 getline 混淆。命题人利用"只背'cin 读字符串'却不知'遇空格即止'"的半懂状态,让你把 chen a dai 当成整体读取,进而误判输出为 chen a dai。

4. 🔄 反命题思维:若把输入改成 chen a dai 但代码变为 getline(cin, str); cout << str;,输出应为 chen a dai,命题就会翻盘。刷到类似题先问自己:cin 遇到空格会停吗?

同考点真题

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