GESP 六级 · GESP 202603 C++ 六级 第 5 题

选择题 · 答案 D

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

题目

在以下计算机系统应用场景中,最适合使用循环队列的是( )。

答案:D

解题思维

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

常见错误

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

详细解析(节选)

【考点】循环队列|共享缓冲区|生产者消费者模型

🎯 考纲定位 本题考查GESP六级《数据结构》模块中的队列实现与经典应用场景。命题人专门放这道题,是要卡住那些只背"队列是先进先出"定义,却分不清循环队列特定优势(解决假溢出、节省内存)的考生。

🧠 解题思维 看到"循环队列"三个字,先锁定两个核心特征:数组头尾指针循环使用 + 解决假溢出。然后逐个选项匹配——A选项"保存局部变量和返回地址"是典型的栈(后进先出),B选项"表达式求值"同样依赖栈,C选项"优先级调度"需要优先队列(堆),只有D选项"生产者消费者共享缓冲区"天然对应循环队列的经典模型:生产者入队、消费者出队,缓冲区循环复用。

🪤 陷阱拆解 选项A是最阴险的——利用"队列/栈都用于临时存储"的模糊认知,但循环队列是FIFO,函数调用栈必须LIFO,本质冲突;选项C的"优先级调度"看似合理,但循环队列无法按优先级排序,命题人用"调度"二字偷换概念,考生若只盯着"队列"二字就会误选;D选项的"共享缓冲区"才是循环队列的原生设计目标,头尾指针循环使用数组,完美匹配生产者消费场景的持续入队出队需求。

🔄 反命题思维 命题人若把D改成"最适合使用栈的是",答案立刻变成A——这就是数据结构题的精髓:场景决定结构。刷到类似题时,先自问"这个场景的核心操作顺序是什么",而不是纠结队列/栈的通用描述。

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