GESP 一级 · GESP 202309 C++ 一级 第 4 题

选择题 · 答案 C

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

题目

下面 C++ 代码段执行后的输出是( )。

int a = 3, b = 4;
cout << "a+b=" << a+b;
答案:C

解题思维

这题其实是个送分题,别被变量名唬住。拿到题先看 cout 这一行,左边是纯字符串字面量,直接原样输出;右边是表达式 a+b,按优先级算出结果。把这两段拼起来就是答案,全程不用管变量具体赋了什么值。

常见错误

最容易掉坑的是把变量名当成数值去替换,比如看到 a=3,b=4 就下意识觉得输出里得是 3+4=7,完全忽略了 cout 里写的是字符串字面量,它不会自动把变量名替换成值。另外要注意等号后面有没有空格,代码里是紧贴着写的,所以输出里绝对不能有多余空格,否则就会选错成 A 或 B。

详细解析(节选)

考点与命题视角

这道题考查的是 C++ 中输出语句的基本用法,核心在于区分“字符串字面量”和“表达式求值”。命题人专门挖了一个坑:在 cout 里直接写了变量名 a 和 b,但前面已经定义过 a=3, b=4。很多学生看到变量就习惯性地想“把变量名换成值”,结果掉进陷阱选了 B。其实 cout 输出时,遇到双引号里的内容(如"a+b=")是原样输出字符,遇到普通的表达式(如 a+b)才会计算数值。

解题心法:看顺序,分两段

处理 cout 串联输出时,永远按从左到右的顺序,一段一段看: 1. 先看是不是字符串字面量(带双引号)。如果是,直接输出里面的字符,一个字一个字来,别想别的。 2. 再看是不是表达式。如果是,按运算符优先级算出结果。 3. 最后把两段结果拼起来。 这道题就两段:第一段"a+b=",第二段 a+b。

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