GESP 七级 · GESP 202512 C++ 七级 第 1 题

选择题 · 答案 A

← 整套速查表 GESP 七级 全部真题

题目

下面关于 C++ 中形参、实参和定义域的说法中,正确的一项是( )。

答案:A

解题思维

函数指针:bool (*Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。

常见错误

函数指针和普通指针不同,函数指针指向的是代码段中的函数入口地址。声明格式:返回类型 (*指针名)(参数列表)。

详细解析(节选)

【考点】形参作用域|常量引用|指针赋值

1. 🎯 考纲定位 本题考查 GESP 七级(C++ 语言)第 3 个模块「函数与过程」的核心概念。命题人刻意放在七级而非六级,就是卡住大量考生对「作用域」与「引用」关系的模糊认知——很多人背了「形参是局部变量」这句话,却说不清常量引用的本质,导致 A、B 两个选项反复纠结。

2. 🧠 解题思维 看到「形参、实参、定义域」这三个词,立刻锁定函数定义域与参数作用域。形参在函数声明中定义,其生命周期严格绑定函数体,函数返回时形参销毁、值丢失——这就是 A 成立的根本原因。B 选项看似绕弯,实则考察「常量引用」:一旦形参被声明为 const 引用,它指向的对象就是 const,任何修改操作都会触发编译错误,这是 C++ 类型系统的铁律。C 选项忽略了 C++ 的隐式类型转换与模板推导,int 与 double 等可互相传递。D 选项混淆了「指针本身的值」与「指针指向的内容」:对指针赋值只是改变指针指向的地址,不会通过指针修改原变量。

3. 🪤 陷阱拆解 A 选项是正确表述,但很多人会犹豫「形参只在函数内部有效」听起来太绝对。命题人利用的就是这种直觉式判断——其实形参的作用域就是函数内部,离开函数就不可访问,这是定义决定的,没有例外。B 选项的「常量引用」是典型思维陷阱:学生容易把「引用」和「可修改」混为一谈,忽略 const 带来的不可变性。C 选项的「类型必须完全一致」是命题人设的绝对化表述,故意抹去隐式转换的存在。D 选项看似合理,实则偷换概念:形参是指针变量,对形参赋值等于改变指针,不是改变被指向对象,这是很多初学者最容易掉进的坑。

4. 🔄 反命题思维 如果题目改成「使用引用作为形参,能否修改实参?」,答案会立即翻转——引用本身就是别名,修改引用就是修改实参。如果把 D 改成「使用指针作为形参,能否修改实参?」,答案依然是「能,但需要解引用」。刷到类似题时先问自己:命题人是不是想考我「const 限制」「指针与引用的区别」「类型转换规则」这三者中的哪一个?

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断