考研数据结构与程序设计在线题库每日一练(二十六)
以下是希赛网给大家分享考研数据结构与程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构与程序设计在线题库每日一练,以下为具体内容
1、当C语言调用函数时,实参是一个数组名,则向函数传送的是( )。
A、数组的首地址
B、数组的长度
C、数组全部元素的拷贝
D、数组第一个元素的值
2、在具有n个单元的顺序存储的循环队列中,假定元素下标变量f指向队头元素之前的位置,r指向队尾元素,队尾距队头间隔至少一个空间位置,则判断队满的条件是( )。
A、f==r
B、f!=r
C、(r+1)%n==f
D、(f+1)%n==r
3、以下说法中正确的是( )。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,被调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序最开始部分定义
4、若最大存储容器为n个元素的C语言数组用于实现循环队列,假定元素下标变量f指向队头元素之前位置,r指向队尾元素,队尾距队头间隔至少一个空闲位置。若入队方向为数组下标增量方向,则计算队列中实际存储的元素数目的C语言表达式为( )。
A、r-f
B、(r-f+n)%n
C、(r+f)%n
D、(r-f)%n
5、若从二叉树的根结点出发到达任一叶子结点的路径上所经过的结点序列按其关键字有序,则该二叉树一定是( )。
A、二叉排序树
B、哈夫曼树
C、B-树
D、堆
1、试题答案:A
试题解析:
在主调函数中调用另一个函数时,函数名后面括号中的参数称为“实际参数”。数组作为实参向函数传递时,传送的是数组的首地址,故本题选A。
2、试题答案:C
试题解析:
将顺序队列首尾相接成环状空间即为循环队列。当向循环队列中插入元素时,尾指针向后移动一个单位,当向循环队列中删除一个元素时,头指针向后移动一个单位。因此,当队列满时,尾指针的下一个位置即为头指针指向的位置,因此(r+1)%n==f,故本题选C。
3、试题答案:C
试题解析:
对于A和C,C语言程序从main函数开始执行,因此A错误而C正确。对于B,被调用的函数可以在main()函数外定义,因此B错误。对于D,main函数可以放在程序的任意位置,因此D错误。故本题选C。
4、试题答案:B
试题解析:
将顺序队列首尾相接成环状空间即为循环队列。题干已说明,入队方向为数组下标增量方向,因此元素个数应当为尾指针指向的位置减头指针指向的位置,而为了避免运算结果为负数,需要对r-f+n,为了避免运算结果大于n,需要对上述结果进行%n操作。故本题选B。
5、试题答案:D
试题解析:
对于A,根据哈夫曼树的构造规则可知,在哈夫曼树中所有的关键字只出现在叶结点上,非叶结点上没有关键字,因此A错误。对于B,根据二叉排序树的性质可知,只有其中序遍历序列是有序序列,从根结点到叶子结点路径的关键字是无序的,因此B错误;对于C,B-树是多路平衡查找树,不一定是二叉树,不符合题干的条件,因此C错误;对于D,根据堆的性质。堆的根结点大于其孩子结点或小于其孩子结点,因此对于大根堆,从根结点出发到达任一叶子结点的路径上所经过的结点序列是降序序列;对于小根堆,从根结点出发到达任一叶子结点的路径上所经过的结点序列是升序序列,因此D正确,故本题选D。
点击查看【完整】试卷>>

