'3' 是一个 int 类型常量。
这题考的是“引号决定类型”这个铁律。拿到题别急着看数字,先盯住单引号,C++里单引号包裹的永远是字符常量,跟里面写的是字母还是数字没关系,直接判定为char类型即可。
最容易栽跟头的就是被数字‘3’带偏,下意识觉得这是整数,忽略了单引号的语法含义。还有人会混淆双引号(字符串)和单引号(字符)的区别,或者以为单引号里放数字就是转义序列,其实'3'就是字符'3',ASCII码51,类型就是char。记住:单引号=char,双引号=字符串,无引号的数字=整型,这是判断字面量类型的唯一标准。
【考点】数据类型|字符常量|字面量识别
这道题考查的是GESP一级大纲中最基础也最易混淆的知识点——字符常量的定义与类型判断。命题人专门挖了个视觉陷阱:'3'看起来就是个整数,但那个不起眼的单引号才是决定生死的符号。
解题心法很明确:拿到任何字面量,第一步不看数值,先看引号。C++语法铁律是:单引号包裹的内容一定是char类型常量;双引号包裹的是字符串常量;没有任何引号的数字才是int类型常量。因此,'3'的本质是字符'3',其类型必然是char,而不是int。题目断言它是int,概念直接错误,答案选B。
这里有个反直觉的点需要特别强调:字符常量里的内容可以是任意字符,包括数字字符。'3'就是字符'3',它在内存中存储的是数字3对应的ASCII码(51),而不是整数3。初学者常犯的错误就是望文生义,看到数字就当成整型,完全忽略了单引号的语法语义。这种混淆在后续编程中会导致严重的类型错误,比如把'3'直接参与算术运算时,编译器会报错或产生意想不到的结果。
从命题视角看,这类题目属于“概念辨析”型,难度低但区分度高。它不考察复杂的计算,只考察对基本语法规则的敏感度。历年数据表明,变量与常量这类基础题在GESP一级中占比很高(2023年就有30题),是新手最容易挂科的地方。基本数据类型更是整个题库的绝对高频考点,2026年光这一类就考了119题,可见命题人对基础概念的反复打磨。
避坑指南:以后遇到类似'123'、'A'、'!'这样的写法,脑子里立刻弹出“单引号=char”的标签,千万别被里面的字符内容干扰。如果题目改成"3",那就是字符串;如果写成3,那就是整型。记住这个判定流程,基本就不会再掉进这种坑里了。
考频趋势来看,变量与常量在2023-2025年间考得很稳,基本数据类型更是从2013年零星出现到2026年爆发式增长,说明随着考试级别提升和题库扩容,对基础概念的考察只会越来越细。预测未来GESP一级及二级考试中,这类“字面量类型判断”的题目仍会是必考题,甚至可能出现更隐蔽的变体,比如混合引号或特殊字符,但核心逻辑不变:引号定类型,内容只是填充。