GESP 三级 · GESP 202603 C++ 三级 第 1 题

选择题 · 答案 C

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

题目

如果字符变量 _1 的值是字符 $1$,那么 (int) _1 的值是? ( )。

答案:C

解题思维

答案C。结合题目信息和所学知识分析。

常见错误

仔细审题,注意"不正确""不属于""不是"等否定词。用排除法缩小范围。

详细解析(节选)

【考点】ASCII 编码|字符与整型转换|类型强制转换

🎯 考纲定位:GESP 三级《C++程序设计》“数据类型与变量”模块明确要求掌握字符型与整型的关系。命题人刻意选择'$1$'而非数字字符'$0$'或'$9$',就是要卡住考生对 ASCII 码表的记忆盲区——很多人只记得数字字符从 48 到 57,却忘了'$1$'对应的是 49。

🧠 解题思维:看到字符变量先确认其内部存储的是 ASCII 码而非十进制数值,再结合强制类型转换规则直接输出该码值。这一类题的通法是“字符→ASCII 码→整型”,无论题目给出的是字母、符号还是数字,本质都是查 ASCII 表(字母首码:A=65,a=97;符号首码:'!'=33)。

🪤 陷阱拆解:A 项把'$1$'误当作数字 1,B 项受 signed char 影响想成-1,D 项更是把字符当成正负号混合。最阴险的细节是题干里的'$1$'——它既是字符'$1$'又是数字 1 的写法,命题人利用这个视觉歧义诱导考生混淆“字符值”和“数值”。如果你只背结论“字符转 int 是 ASCII 码”,却没理解 ASCII 表,就会掉进这个坑。

🔄 反命题思维:如果把'$1$'换成'$A$',答案变成 65;若问'$1$-$0$'的值,就是 1;若改成 unsigned char,范围变 0-255。刷到类似题先问自己“命题人想考我 ASCII 编码的哪个细节”,而不是直接套公式。

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