以下可以作为 C++ 标识符的是( )。
这题考C++标识符命名规则:首字符必须是字母或下划线,后续可接字母、数字、下划线,且绝不能是关键字。拿到题先扫首字符,再查非法符号,最后核对关键字黑名单。
最容易栽跟头的是把数字开头的选项当成合法标识符,比如B项;其次是看到像“字母数字下划线”组成的字符串就以为没问题,忘了D项是关键字;还有人会忽略符号限制,觉得C项里的&只是普通字符。其实这三个坑分别对应首字符规则、关键字规则和非法符号规则,命题人就是专盯这三点挖坑。
【考点】标识符命名规则、关键字识别
这题是GESP一级“编程基础”里的经典送分题,但每年都有不少同学栽在细节上。命题人的意图很明确:考你“变量命名三要素”——首字符、后续字符、关键字黑名单。只要这三关有一关没过,就是非法标识符。
解题时,我习惯用“三步走”: 第一步,看首字符。C++标识符必须以字母(a-z, A-Z)或下划线(_)开头,数字绝对不行。B项360AntiVirus虽然后面全是合法的字母数字,但首字符是数字3,直接出局。 第二步,看后续字符是否含非法符号。标识符里只能出现字母、数字、下划线,其他符号如&、@、#等都不行。C项Man&Woman中间夹了个&,这是运算符符号,非法,排除。 第三步,看是不是关键字。即使前两步都过了,还得查C++关键字表。D项break是C++保留字(用于跳出循环或switch分支),无论你怎么拼写,只要是纯关键字,就不能当标识符用。很多同学会误以为“只要不是数字开头、没有特殊符号就OK”,结果掉进D项的坑里。
所以,只有A项number_of_Chinese_people_in_millions完全符合:首字符是字母n,后续全是字母和下划线,且不是关键字,稳稳当选。
【易错点提醒】 1. 数字开头陷阱:B项这种“数字+字母”的组合,初学者容易觉得“反正都不是特殊符号”,但首字符规则是硬指标,必须死记。 2. 关键字陷阱:D项break形式上完全合法(字母组成、无符号),但它是关键字,属于“合法形式但非法身份”,这是命题人最爱挖的坑。 3. 符号陷阱:C项的&是运算符,标识符里绝对不能出现,哪怕它看起来像普通字母。
【考频与趋势】 从题库数据看,标识符命名规则在基础语法部分出现频率极高:2008-2026年间共考过1295题,覆盖11个级别。其中2023年考了287题,2024年413题,2025年401题,2026年109题,呈现逐年上升趋势。在GESP一级中,这类题占比332题,是绝对高频考点。变量与常量相关题目共77题,其中一级考了40题,说明一级阶段对命名规则的考查非常密集。
【预测】 基于2023-2026年连续四年高位运行(287→413→401→109)的趋势,以及一级考试中332题的高占比,未来GESP一级仍会持续高频考查标识符命名规则。命题人可能会在更复杂的场景下变相考查,比如结合数组下标命名、类名命名规范,或者在选项中混入更多“形似合法但实为关键字”的干扰项(如if1、while_等)。但核心规则不会变:首字符、后续字符、关键字黑名单,这三道关卡始终存在。因此,备考时务必把这三点刻进肌肉记忆,尤其是关键字表要背熟,数字开头和非法符号要形成条件反射。