在 C++ 中,下面哪个关键字用于声明一个变量, 其值不能被修改?
这题就是考const关键字,看到“值不能改”四个字直接锁定,其余三个选项分别管无符号、存储周期和类内例外,跟不可修改没半毛钱关系,排除法最快。
学生最容易把static和const搞混,以为static就是常量,其实static只管存储期限和作用域,值照样能变;unsigned只表示非负数,跟能不能改无关;mutable太冷门,出题人放这儿就是为了干扰那些觉得“不可变”就该“例外可修”的同学,但mutable只能在类成员函数里用,跟全局变量无关。
这道题考查的是C++中const常量说明符的语义,属于基础语法中的变量与常量定义。
const:C++中专门用来声明对象“不可被修改”的关键字。一旦用const修饰的变量在定义时初始化,之后任何试图修改它的操作都会直接导致编译错误。这是C++保证数据安全的基石之一。
命题人出这道题,核心意图是检验考生对关键字语义的精准区分。C++关键字很多,长得像、功能像的也不少,比如static和const都涉及“不变”和“持久”,unsigned和mutable都带“特殊”意味。命题人爱挖的坑就在“功能混淆”上:
这些混淆都是初学者最容易踩的雷区。
拿到题先抓题干关键词:“值不能被修改”。四个选项里,只有const直接对应这个语义。其他三个选项的功能都与“不可修改”无关:
所以,排除法最快:题干要求“不可改”,四个里只有const符合,直接选B。
从题库数据看,基础语法类题目在CSP入门级考得极高频,2023年就有287题,2024年413题,2025年401题,说明这类概念辨析是入门级的必考内容。在变量与常量细分考点上,2023年考了30题,2024年26题,2025年11题,呈现逐年下降趋势,但2026年仍有109题的基础语法题,说明命题人不会放松对基础概念的考查,只是可能在题型上更灵活(比如结合指针、引用等更复杂的场景)。
基于现有数据,未来CSP入门级仍会高频考查基础语法概念,尤其是const、static、volatile等关键字的语义区分。命题人可能会在更复杂的上下文中(如指针、引用、类成员)继续挖坑,但核心还是考察对关键字语义的理解。暂无足够依据预测具体题型变化,但建议重点巩固const与其他关键字的区别。