下面 C++ 代码段执行后的输出是( )。
int a = 3, b = 4;
cout << "a+b=" << a+b;这题其实是个送分题,别被变量名唬住。拿到题先看 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。