考研数据结构+C程序设计在线题库每日一练(三)
以下是希赛网给大家分享考研数据结构+C程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构+C程序设计在线题库每日一练,以下为具体内容
1、对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有( )个。
A、1
B、2
C、3
D、4
2、已知字符'A'的ASCII值为65,则执行语句printf("%c",'A'+2);之后,输出结果为( )。
A、A
B、C
C、65
D、67
3、在下列单链表中,已知p为单链表存储结构中指向结点a的指针,q为单链表存储结构中指向结点x的指针,删除结点x的操作为( )。
A、p->next=q->next; q=p->next; e=q->data; free(q);
B、q=p->next; p->next=q->next; free(q); e=q->data;
C、e=q->data; q=p->next; p->next=q->next; free(q);
D、q=p->next; p->next=q->next; e=q->data; free(q);
4、线索二叉链表是利用( )域存储后继结点的地址。
A、Ichid
B、data
C、rchild
D、root
5、以下合法的赋值语句是( )。
A、x=y=100
B、d--;
C、x+y;
D、c=int(a+b);
1、试题答案:D
试题解析:
写出上述线性表各元素计算散列地址的过程如下:
① H(7)=7%9=7;② H(34)=34%9=7;③ H(55)=55%9=1;④ H(25)=25%9=7;⑤ H(64)=64%9=1;⑥ H(46)=46%9=1;⑦ H(20)=20%9=2;⑧ H(10)=10%9=1。故本题选D。
2、试题答案:B
试题解析:
输出语句按%c格式输出'A'+2,即输出字符'C'。故本题选B。
使用printf语句按%c格式输出字符时,输出的是原字符。使用printf语句按%d(十进制)格式输出字符时,输出的是字符对应的ASCII码值。
3、试题答案:D
试题解析:
对于A,若先执行q=p->next;再执行free(q);则释放的不再是结点x,因此A错误。对于B,应当先执行e=q->data;再执行free(q);,因此B错误。对于C,应当先改变指针的指向,再由e返回其值,因此C错误。对于D,操作正确,故本题选D。
4、试题答案:C
试题解析:
创建线索二叉树的思路为:按照一定的规则将二叉树中的结点排列成一个线性序列,该线性序列可以为前序序列、中序序列、后序序列;在二叉链表的结点中添加两个指针域,左线索域指向该结点的前驱结点,右线索域指向该结点的后继结点,指针成为线索,加上线索的二叉树即为线索二叉树。故本题选C。
5、试题答案:B
试题解析:
选项A是一个表达式,不是语句,不符题意。选项B中,d--是自减运算,即d=d-1,符合题意。选项C中,x+y是算术表达式(加法),不是赋值语句,不符题意。选项D错误,应为c=(int)(a+b);,是强制类型转换运算符。综上本题选B。
强制类型转换运算符的一般形式为(类型名)(表达式)。注意,表达式应该用括号括起来,如果写成(int)x+y,则只将x转换为整型,然后与y相加。

