下面的 C++ 代码执行后,其输出是 4 0。( )
int a, b;
a = 4;
b = a == 5;
cout << a << ' ' << b;答案A。追踪程序输出时注意整数除法截断和循环条件的边界值。变量初始值对结果影响很大。
整数除法截断容易忽略!if(n%i==0)中%是取余运算不是除法。
GESP二级C++大纲"变量与简单运算"模块——命题人专盯变量赋值与关系运算的先后顺序,以及关系表达式的返回值类型。二级考生最容易混淆 == 和 =,把比较当成赋值,导致判断全错。
变量声明 a, b 都是 int 类型,先执行 a = 4。第二步 b = a == 5 中,== 是关系运算符,返回布尔值;布尔转整型时 false → 0,所以 b 得到 0。最后 cout 按空格分隔输出两值,结果确为 4 0。