以下关于 C++函数的形参和实参的叙述,正确的是( )?
这题其实就考一个核心概念:形参和实参到底是谁在定义,谁在使用。拿到题先想,函数写出来时(定义)和函数被调用时(调用)分别发生了什么,答案自然就出来了。
学生最容易把形参当成实参的‘别名’或者认为两者完全一样,这是直觉误导。其实形参只是函数内部的一个局部变量,实参是调用时传进去的具体值,它们既不是同一个变量,也不是别名。另外,有些同学会混淆‘形参用于声明’和‘实参用于调用’这个分工,导致误选 ABC。
【考点】函数定义与调用|形参与实参的角色分工
形参是函数定义中声明的变量名,实参是调用函数时传入的具体值。A、B、C 三个选项都混淆了‘变量名’与‘值’的关系,或者把两者当成完全相同的实体,这些都是错的。只有 D 准确描述了它们的分工:形参出现在函数声明(或定义)中,实参出现在函数调用语句中。
命题人设‘别名’‘完全相同’这类绝对化表述,就是利用初学者对‘传入参数’的直觉误解——以为形参就是实参的‘副本名字’。若只背‘形参接收实参的值’而不理解声明与调用的分离,就会选错 A 或 C。反命题视角:把本题改为‘形参和实参在函数执行期间的值是否同步变化’(例如传值 vs 传引用),答案会完全翻转;若问‘形参能否在函数外访问’,则考察作用域。刷到此类题先问:命题人想考我‘声明与调用的位置’还是‘值传递机制’?
考频与趋势:函数与递归在题库共考过 67 题,覆盖 8 个考试级别;逐年分布:2008 年 2 题、2013 年 1 题、2021 年 1 题、2023 年 13 题、2024 年 18 题、2025 年 21 题、2026 年 6 题、null 年 5 题;分赛事:GESP 四级 26 题、GESP 五级 19 题、GESP 六级 8 题、GESP 三级 5 题、GESP 七级 3 题、NOIP 提高组 初赛 3 题、CSP 提高级 2 题、GESP 二级 1 题。函数定义与调用共考过 70 题,覆盖 9 个考试级别;逐年分布:2016 年 1 题、2019 年 1 题、2020 年 1 题、2022 年 1 题、2023 年 15 题、2024 年 17 题、2025 年 23 题、2026 年 6 题、null 年 5 题;分赛事:GESP 四级 23 题、GESP 五级 19 题、GESP 六级 8 题、CSP 入门级 7 题、GESP 三级 6 题、GESP 七级 3 题、GESP 二级 2 题、CSP 提高级 1 题、NOIP 提高组 初赛 1 题。可见近五年(2021-2025)相关考点热度持续攀升,四级和五级是高频阵地。
预测:基于数据趋势,未来 GESP 四级和五级仍会高频考查函数定义与调用的基本概念,尤其是形参、实参、返回值、作用域等术语辨析,难度不会大幅跳变,但可能会结合更复杂的函数嵌套或递归场景来检验理解深度。暂无足够依据预测是否会引入新题型或跨语言对比。