考研数据结构与程序设计在线题库每日一练(二十七)
以下是希赛网给大家分享考研数据结构与程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构与程序设计在线题库每日一练,以下为具体内容
1、下面是对s的初始化,其中不正确的是( )。
A、char s[5]={"abc"}
B、char s[5]={'a','b','c'};
C、char s[5]="";
D、char s[5]="abcdef";
2、有定义struct{int a[5];}b;则正确表达成员数组a的最后一个元素的存储地址的表达式是( )。
A、b.a
B、a+4
C、&b.a[5]
D、&b->a[4]
3、拥有20个结点的完全二叉树( )个叶子结点。
A、8
B、9
C、10
D、11
4、以下C语言程序的输出结果是( )。#include <stdio.h>#define MA(X) X*(X+1)int main(){ int a=1,b=2; printf("%d\n",MA(a+b)); return 0;}
A、12
B、10
C、9
D、8
5、对于哈希表查找,若装填因子越大,则( )。
A、平均查找长度越小
B、平均查找长度越大
C、冲突概率越小
D、以上说法均正确
1、试题答案:D
试题解析:
选项A、B、C均为字符数组的正确初始化方法,而选项D中字符数组申请的大小是5,而"abcdef"是六个字节,数组长度不足以容纳整个字符串,可能会导致内存越界错误。故本题选D。
2、试题答案:D
试题解析:
对于A,b.a访问的是数组a的首地址,而非最后一个元素的地址,因此A错误。对于B,结构体内定义的成员不能直接访问,因此B错误。对于C,数组a的索引是0到4,a[5]越界访问,因此C错误。对于D,b->a[4]是数组的最后一个元素,&取地址运算符,因此D能够表示取a的最后一个元素的存储地址,因此D正确,故本题选D。
3、试题答案:C
试题解析:
对任何一棵二叉树,若终端结点为n0,度为2的结点为n2,则n0=n2+1。根据完全二叉树的性质可知,完全二叉树中度为1的结点数n1=0或n1=1。结点总数n=n0+n1+n2=n0+n1+n0-1,代入n=20,可知n1为1,求得n0=10,故本题选C。
4、试题答案:C
试题解析:
根据宏定义展开,MA(a+b)将被展开为a+b*(a+b+1),根据运算符优先级,先计算括号内的a+b+1,得到4,然后计算乘法,得到1+2*4=9。因此程序的输出结果为9。故本题选C。
5、试题答案:B
试题解析:
装填因子指所有关键字填充哈希表后饱和的程度,它等于关键字的总数/表的长度。装填因子越大,则哈希表越饱和,平均查找长度越大,冲突的概率越大,反之同理,故本题选B。
点击查看【完整】试卷>>

