GESP 一级 · GESP 202503 C++ 一级 第 23 题

判断题 · 答案 B

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

题目

在 C++ 代码中,user_Name、_userName、user-Name、userName_ 都是合法的变量名。( )

答案:B

解题思维

答案B。根据C++语法规则分析各选项。注意赋值、运算、类型等细节。

常见错误

仔细审题,注意每个选项的语法细节。区分合法写法与错误写法。

详细解析(节选)

【考点】标识符命名规则|C++语法基础

1. 考纲定位 GESP一级语法基础模块。命题人卡住的是考生对"标识符"概念的模糊——背过"字母数字下划线"却记不住具体符号边界,把C语言连字符宏定义的习惯套用到变量名上。

2. 解题思维 逐字扫描每个标识符:user_Name(全合法)、_userName(全合法)、user-Name(连字符非法)、userName_(全合法)。C++标识符只允许字母、数字、下划线,且首字符不能是数字。连字符是运算符而非合法字符,仅此一处即可判定命题错误。

3. 陷阱拆解 命题人精妙设计了三个合法名来冲淡一个非法名,利用"下划线看起来像连字符"的视觉相似性。如果你只背"变量名用字母数字下划线"这种模糊结论,看到user-Name时可能下意识认为"这是下划线"而漏判。绝对化表述"都是合法的"是典型陷阱——只要有一个反例,整句即为假。

4. 反命题思维 若把user-Name改为user_Name,四者全合法,答案变为A。若改成user@Name,非法字符仍为@,答案仍为B。刷到此类题先问自己:命题人是否在测试我对符号边界的精确认知,而非笼统记忆?

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