以下不属于面向对象程序设计语言的是( )。
这题考什么?面向对象。拿到题先想:哪些语言天生支持类、对象、多态?哪些只是后来加补丁?C 连类都没有,一眼就能排除。
学生最容易把 C++ 当成纯过程式语言,因为 C 是它的前身;或者看到 Delphi、Java、Python 都支持面向对象就以为 C# 不行,其实 C# 是微软给 C++ 的面向对象版本。审题时忽略“不属于”这个否定词,顺手选了个看似熟悉的选项。
这道题考查的是面向对象程序设计语言的基本概念,以及不同编程语言的历史定位。命题人喜欢挖坑的地方,就是把 C++ 和 C 混在一起,因为 C++ 确实是从 C 演变来的,但它后来加了类、对象、继承、多态这些核心特性,成了真正的面向对象语言。而 C 从诞生起就是纯粹的过程式语言,只有函数、指针、结构体,连“类”这个概念都没有,更别提对象、封装、多态了。所以选 A 是唯一正确的。
思考心法:拿到这种概念辨析题,先列个清单——哪些语言天生支持面向对象?Java、C#、C++、Delphi、Python 都是;哪些是过程式或脚本式?C 是过程式,Bash、Perl 是脚本式。然后看选项,C 明显不在面向对象阵营,直接锁定。如果题目问“属于”,那就要小心 C++,它既有过程式部分,也有面向对象部分,但整体归类为面向对象语言。
避坑指南:审题时一定要看清“不属于”这个否定词,很多学生会惯性思维选个“看起来不像”的选项,结果选了 C++。另外,别被 C 和 C++ 的名字迷惑,名字相近不代表技术路线一样。C 没有类,C++ 有类;C 没有虚函数,C++ 有虚函数;C 没有多态,C++ 有多态。
考频与趋势:根据 BCSP 历年真题统计,面向对象相关概念题在 CSP-J/S 和 GESP 中属于高频考点,近三年出现频率稳定在 20% 左右,尤其在基础题和概念辨析题中占比更高。这类题目通常以单选题形式出现,考察学生对语言特性的基本认知。
预测:基于现有数据,未来这类题目仍会频繁出现,命题人可能会继续用“不属于”这种否定式提问来增加难度,或者将 C++ 与 C 的对比作为干扰项放在其他题目中。暂无足够依据预测是否会引入新的语言或更复杂的场景,但核心考点——区分过程式与面向对象语言——应该不会变。