下列关于 C++ 语言的叙述,不正确的是( )。
这题考C++基本数据类型与常量的类型规则。拿到题先看符号:单引号是字符常量,双引号是字符串,没引号是数值。D项错在把字符常量当成整型,概念混淆是最大坑。
学生容易凭直觉认为'1'就是数字,所以类型是int,这是典型的审题不清。命题人故意用数字字符'1'来误导,其实单引号在C++里永远对应char类型,哪怕里面是数字字符也不行。另外要注意区分字面量与变量:变量必须显式声明类型,但常量类型由字面量本身决定,比如1.0必为double,'a'必为char,这是语言语法规定的硬性规则,不是编程习惯。
【考点】基本数据类型|常量类型推断|字符常量与整型常量的区别
GESP二级C++组“数据类型与变量”模块。命题人卡住的是“字符常量与整型常量的区别”——这是绝大多数考生容易混淆的低阶概念,看似简单却常因审题不清丢分。
看到选项先判断性质:A、B是语言规则,C、D是具体常量类型。C中1.0含小数点必为double;D中'1'带单引号是字符常量,类型应为char。关键观察:单引号'和双引号"决定类型——'对应char,"对应字符串(const char*)。无引号时才是数值类型。