以下不可以作为 C++ 变量的是( )。
这题考C++变量命名规则,拿到题先别急着看选项,脑子里过一遍规则:首字符必须是字母或下划线,后面才能跟数字。
很多学生会被D项'Star5'迷惑,觉得‘变量名里能带数字’所以它肯定不行,其实规则只限制首字符,D完全合法。还有同学会纠结‘能不能用中文’或‘能不能用下划线开头’,但题目选项里没这些坑,核心就盯着首字符是不是数字。
这道题考查的是C++变量命名规则,属于基础语法中的‘标识符命名’概念。
先讲清楚规则:C++里变量名(标识符)的首字符只能是字母(a-z或A-Z)或者下划线(_),一旦首字符是字母或下划线,后面的字符就可以包含数字(0-9)。
命题人挖坑的点很典型:利用‘数字能出现在变量名里’这个直觉,把数字放在第二位(如Star5)和第一位(如5Star)混在一起考。学生容易因为‘变量名里能带数字’就误判所有带数字的都不行,或者反过来以为数字开头就行。其实只要首字符合法,后面跟多少数字都没问题。
解题时按顺序排查: A项 FiveStar,首字符F是字母,合法; B项 fiveStar,首字符f是字母,合法; C项 5Star,首字符是数字5,直接违反‘首字符只能是字母或下划线’的规则,非法; D项 Star5,首字符S是字母,虽然后面带了数字,但规则允许,合法。
所以只有C项不能作为变量名。
避坑提醒:这类题千万别用‘代入法’去编译运行,而是直接看首字符。如果题目改成‘以下不能作为函数名的是’,规则是一样的;如果题干变成‘以下不能作为类名的是’,规则也是一样的——因为变量、函数、类的命名规则在C++里是统一的。看到‘变量’‘标识符’‘命名’这些词,第一时间反应‘首字符限制’,就能快速锁定答案。
从考频来看,‘基础语法’这个大类在题库里一共考过1295题,覆盖11个考试级别,年份分布上2023年考了287题,2024年考了413题,2025年考了401题,2026年考了109题,说明这类基础概念题是高频考点,尤其是GESP二级、一级这些入门阶段,每年都有大量题目在反复考命名规则、数据类型、流程控制等最基础的点。‘C++程序设计’大类共261题,其中GESP二级就占了60题,占比接近四分之一,可见二级考试对基础语法的重视程度非常高。
基于这个趋势预测:未来几年GESP二级、一级甚至三级考试中,关于‘标识符命名规则’‘关键字保留字’‘运算符优先级’这类基础题依然会是必考项,命题人可能会继续用‘看似合法实则非法’的选项来制造干扰,比如把下划线放在中间、把数字放在第二位、或者混入C++保留关键字(如class、public等)作为陷阱。虽然目前数据不足以预测具体年份的题型变化,但可以肯定的是,只要基础不牢,这类题就是拿分的关键,也是丢分的重灾区。