以下 C++ 不可以作为变量的名称的是( )。
答案D。根据C++语法规则分析各选项。注意赋值、运算、类型等细节。
仔细审题,注意每个选项的语法细节。区分合法写法与错误写法。
【考点】标识符命名规则|变量定义规范
🎯 考纲定位 本题考查 GESP 一级《基础语法》模块的"标识符定义"考点。命题人刻意将"空格"混入合法字符集,卡住那些只背"字母数字下划线合法"却忽略空格分隔作用的考生——这是 C++ 语法最基础的门槛题。
🧠 解题思维 C++ 标识符由字母、数字和下划线组成,不能以数字开头,空格是分隔符而非合法字符。因此判断过程为:逐字符检查是否包含空格/特殊符号/以数字开头。选项 A、B、C 均只含字母和下划线,符合规范;选项 D 包含空格,直接违反标识符定义。
🪤 陷阱拆解 A、B 是合法标识符,字母和下划线均为允许字符;C 用下划线连接,仍是合法;D 的"空格"是命题人埋下的绝对死线——很多初学者误以为空格"不算字符",但 C++ 语法中空格是词法分析的分隔符,绝不能出现在标识符内部。若只记"字母数字下划线合法"而不理解空格作为分隔符的本质,就会误判 D 为合法。
🔄 反命题思维 若将 D 改为"redStar"或"red_star",答案立即变为 A、B、C、D 全合法;若改为"1redStar"则变为非法。刷到类似题时先问自己:"空格算不算标识符的一部分?"命题人想考的就是这个细节。