C++ 的整型变量 N 被赋值为 10,则语句 cout << N / 4 << "->" << N % 4 << "->" << N / 4.0 执行后输出是 2->2->2.0。( )
答案B。根据C++语法规则分析各选项。注意赋值、运算、类型等细节。
仔细审题,注意每个选项的语法细节。区分合法写法与错误写法。
【考点】整型除法|取模运算|浮点运算
1. 🎯 考纲定位 本题考查GESP一级《C++基础语法》中"整型运算与输出"模块。命题人专门在此设坑——一级考生容易把"整数运算"和"输出格式"混淆,以为只要运算对象是整数,结果就一定是整数。
2. 🧠 解题思维 看到N/4.0要立刻警觉:除数4.0是浮点字面量,根据C++规则,整数与浮点数运算自动升级为浮点运算,10/4.0=2.5而非2。完整计算链:10/4=2(整除)10%4=2(取余)10/4.0=2.5(浮点除)。题目声称第三个输出是2.0,明显矛盾。
3. 🪤 陷阱拆解
N/4.0偷换了运算类型,诱导考生忽略浮点除法N/4和N/4.0在整除部分结果相同,让粗看的人误以为整体一致2.0≠2.5这个浮点精度陷阱cout默认输出浮点数会保留一位小数,2.5显示为2.5而非2.0,这是实现细节但影响判断4. 🔄 反命题思维 若把N改为12,则12/4.0=3.0,输出变为3->0->3.0,题目就会变成正确。提醒:遇到除法题,先检查除数类型——写成4.0/4.00/4.000都是浮点运算,写成4都是整型运算。