阅读如下 C++ 代码,下列说法错误的是( )。
int cnt = 0;
for (int i = 0; i < 5; i++)
cnt += 1;
cout << cnt;答案C。for循环先判断条件再执行循环体——可能一次都不执行。for(;;)是无限循环,三部分均可省略。
for循环体可能一次都不执行!这是和while循环一样的"先判断后执行"机制。
【考点】+= 运算符|= 运算符|运算优先级
本题考查《GESP C++ 一级大纲》"C++ 基础语法"中运算符部分的两个核心概念:+= 复合赋值运算符与赋值运算符优先级。命题人专门设此题卡住的是初学者最容易混淆的 += 与 =+ 视觉相似陷阱——很多考生凭直觉选 A、B、D,却对 C 视而不见,因为 =+ 在语法上根本不是合法写法,编译器会把它解析为 = (+1) 即赋值正一。