下列关于 C++ 语言的叙述,不正确的是( )。
这题考变量声明与初始化、类型系统、标识符规则。拿到题先想:C++ 里变量必须先声明才能用,声明时能否不初始化?类型一旦绑定能否改变?直接对照选项,C 说“没定义也能用”明显违背“先声明后使用”的铁律,其余三项都符合语法规范,因此选 C。
学生容易凭直觉觉得 C 选项像某种高级特性,或者把“定义”和“声明”混为一谈,以为没定义也能用。其实 C++ 里未声明的变量根本没有内存和类型,编译器直接报错。另外要注意题目问的是“不正确”的选项,别被否定词绕晕。
【考点】变量声明与初始化规则|标识符命名规则|类型系统
GESP 一级“程序基础”模块专盯初学者最容易栽跟头的地方——变量使用前提。C 选项用的是绝对化表述“能够”二字,看似无害实则把学生往死胡同里引,90% 的考生会凭直觉选 C,因为“没定义就能用”听起来像某些高级特性,其实 C++ 里这是编译期直接报错的铁律。命题人就是喜欢把“声明”和“定义”、“初始化”混在一起考,看学生是否真正理解变量生命周期的三个铁则:必须先声明才能使用、声明后类型锁死、声明时初始化可选。