GESP 四级 · GESP202609 C++ 四级 第 13 题

选择题 · 答案 B

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

题目

假设文件 data.txt 的内容如下:

Blue Sky

执行下面程序后,输出结果是(  )。

int main() {
ifstream fin("data.txt");
string a, b;
fin >> a >> b;
cout << b << "-" << a;
fin.close();
return 0;
}
答案:B

解题思维

看到 fin >> a >> b; 先想到 >> 对 string 是空格分隔读取,第一个词进 a,第二个词进 b。输出 b << "-" << a 就是反序拼接。

常见错误

选项 C 和 D 是常见错误,学生容易把 >> 当成整行读取,或者忽略输出顺序。选项 A 是顺序输出,没加连字符。

详细解析(节选)

1. 考纲定位

本题考查 GESP 四级 C++ 第 3 章"文件与流"的 ifstream 输入操作,以及第 2 章"字符串"的流式读取。命题人卡住的是"流式读取是单词级而非行级"这一基础认知。

2. 解题思维

文件内容只有两行:

Blue Sky

执行 fin >> a >> b; 时:

输出 b << "-" << a 即 "Sky" + "-" + "Blue" = Sky-Blue

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