GESP 二级 · GESP 202312 C++ 二级 第 23 题

判断题 · 答案 A · 考点:基本数据类型、变量与常量

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

题目

在 C++ 代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )

答案:A

考点

基本数据类型变量与常量

解题思维

这题考的是C++变量声明与赋值规则。核心在于分清‘变量类型’和‘赋值值的类型’:变量类型一旦定义就锁死,但赋值时允许隐式转换,所以先后放不同类型值完全合法。

常见错误

学生最容易把‘类型固定’四个字死记硬背,看到‘不同类型的值’就条件反射选错。其实命题人就是利用这种刻板印象,把‘值’偷换成‘类型’来挖坑。另外,有些同学会纠结‘会不会报错’,其实C++对int和float/double的隐式转换是标准允许的,不会报错,只会截断或补零,这也是考点之一。

详细解析(节选)

【考点】变量定义与赋值规则|隐式类型转换

命题人专挑‘变量类型固定’这一初学者易混淆点设题——90%考生看到‘同一个变量’就下意识认为类型不能变,完全忽略C++允许隐式类型转换的机制。

拿到题先拆关键词:‘同一个变量’锁定作用域内唯一标识;‘不同类型的值’指赋值表达式类型差异而非变量类型改变。C++中变量类型由声明确定不可修改,但赋值时允许隐式转换:int变量可接受float/double表达式(截断小数),double变量可接受int表达式(补零)。因此先后赋值不同原始类型值完全合法,选A。

这一类题通法:遇到‘变量+类型’组合,立刻反应‘声明时类型固定,运行时赋值可转换’,先确认是否涉及隐式转换场景。

错误选项B是典型‘字面意思陷阱’——命题人利用学生死记‘变量类型不变’的片面结论,故意用‘不同类型的值’偷换概念,把‘变量类型’伪装成‘赋值类型’。最阴险的绝对化表述是‘类型固定’,学生若只背结论不理解隐式转换,就会掉进这个坑。

若把‘不同类型的值’改成‘同类型的值’,答案不变仍选A;若改成‘同一个变量可以改变类型’,答案就变B了。刷到类似题时先问自己:‘考的是声明时的类型约束,还是赋值时的类型转换?’

【考频趋势】变量与常量在题库共考77题,其中GESP二级占15题,2023年达30题,近年呈下降趋势(2024年26题、2025年11题),说明该考点已从高频转向中频,但仍是基础必考项。基本数据类型考频更高(267题),GESP二级48题,2026年达119题,显示命题人更倾向在‘类型转换’‘类型匹配’等细节上设坑,而非单纯考‘类型固定’。

预测:未来GESP二级会继续考变量赋值规则,但更可能结合‘隐式转换’‘类型提升’等细节,如‘int和float混合运算结果类型’‘自动类型转换是否丢失精度’等,单纯判断‘能否赋值’的题目会减少,转而考‘赋值后值是否正确’。暂无足够依据预测具体年份题量变化,但建议重点复习隐式转换规则。

同考点真题

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