GESP 一级 · GESP 202312 C++ 一级 第 12 题

选择题 · 答案 D

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

题目

定义变量 char c,下面对 c 赋值的语句,不符合语法的是( )。

答案:D

解题思维

考点是C++里char是关键字,不能当标识符用,所以右边不能写char 66,正确思路就是记住关键字和类型转换两种写法。

常见错误

学生常把char当成普通变量名,以为右边能随便写,或者被C风格转换和C++风格转换搞混,把char(66)当成函数调用,把char 66当成某种转换,其实char 66既不是转换也不是赋值,语法直接报错。

详细解析(节选)

【考点】基本语法规范|类型转换|变量定义与赋值

1. 考纲定位 一级基础语法必考项,命题人专门卡住那些只看“char是字符类型”却不懂关键字不能当标识符的考生,把两种类型转换写法混在一起,再塞进一个非法写法,让你一眼看出哪个不对。

2. 解题思维 C++里char是关键字,声明变量时写成char c就占用了标识符空间,后续不能再当普通标识符用。

3. 陷阱拆解

4. 反命题思维 若把char换成普通变量名x,D变成x 66仍然非法(标识符后不能直接跟数字),但A/C写法会变:(x)66非法(变量名不能当类型),x(66)也非法(变量名不能当类型)——这就能改成考“变量名不能当类型用”的题。刷到类似题先问自己:右边这串字符是类型转换、函数调用,还是纯标识符滥用?

5. 考频与趋势 基础语法在题库里共考过1295题,覆盖11个考试级别,逐年分布:2008年1题、2011年1题、2019年3题、2023年287题、2024年413题、2025年401题、2026年109题、null年80题。分赛事:GESP 一级332题、GESP 二级283题、GESP 三级215题、GESP 四级186题、GESP 七级91题、GESP 八级79题、GESP 六级78题、GESP 五级23题、CSP 提高级3题、CSP 入门级3题、NOIP 提高组初赛2题。变量与常量共77题,其中GESP一级40题;基本数据类型共267题,GESP一级81题。可见这类题在GESP一级高频出现,且近年(2023-2026)数量明显上升,说明命题越来越重视细节语法。

6. 预测 基于数据,GESP一级未来仍会持续考基础语法中的关键字用法和类型转换写法,尤其是把char、int等关键字放在赋值号右侧的陷阱题。暂无足够依据预测具体年份或题型细节,但可预期会进一步混合C风格与C++风格转换,增加干扰选项。

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