南京师范大学2004年C语言程序设计(含数据结构)考研试卷文档格式.doc
《南京师范大学2004年C语言程序设计(含数据结构)考研试卷文档格式.doc》由会员分享,可在线阅读,更多相关《南京师范大学2004年C语言程序设计(含数据结构)考研试卷文档格式.doc(3页珍藏版)》请在冰点文库上搜索。
”_______;
0.01E-20_______;
‘\101’_______;
0x3c0_______;
-0.5F_______;
A:
合法的字符常量
B:
合法的整形常量
C:
合法的浮点数常量
D:
合法的字符串常量
E:
非法表示
请在括号内填入A、B、C、D、E
(3)本题程序输出结果是:
_______
#include<
stdio.h>
#degineN5
voidmain(void)
{
inti;
doublex,s=0;
for(i=1,x=1;
i<
=N;
i++,x+=0.5)
s+=1/x;
printf("
s=%.2f\n"
s);
}
(4)根据线性表的链式存储结构形式,每个结点所含指针的个数,链表可分为_______和_______;
而根据指针的联接方式,链表又可分为_______和_______;
栈的特点是_______,队列的特点是_______。
二、选择题(每题5分,共20分)
(1)在数据结构中,与所有的计算机无关的数据叫(A)结构;
链表是一种采用(B)存储结构存储的线性表;
链表适用于(C)查找;
在链表中进行(D)操作的效率比在顺序存储结构中进行(D)操作效率高;
二分法查找(E)存储结构。
A)<
1>
存储
<
2>
物理
3>
逻辑
4>
物理和逻辑
B)<
顺序
网状
星式
链式
C)<
二分法
顺序,也能二分法
随机
D)<
二分法查找
快速查找
顺序查找
查找
E)<
只适用于链表
只适用于顺序
即适用于顺序,也适用于链表
即不适用于顺序,也不适用于链表
(2)若一个栈的输入序列是1、2、3、……、n,输出序列的第一个元素是n,则第i个输出元素是()
A)n-i
B)n-i+1
C)i
D)n+i-1
(3)若串S='
NjnuGisc'
其子串的数目是(
)
A)8
B)37
C)36
D)9
(4)下列程序段的运行结构是(
int
n=0;
while(n++<
=2);
printf("
%d"
n);
A)
2
B)3
C)4
D)有语法错误
三、程序设计(共计110分,请书写整洁,卷面有分)
(1)利用串的基本运算,编写一个算法删除串S1中所有S2子串。
(本题15分)
(2)编写一程序,判断一个字符串是不是“回文数”。
所谓回文数是从左至右或从右至左读起来都是一样的字符串。
(3)设计一个统计选票的算法,输出每个候选人的得票结果(假定采用单链表存放选票,候选人编号依次为1,2,3,……N,且每张选票选且只选一人)(本题15分)
(4)有几个人围成一圈,顺序排号。
从第一个开始报数,凡报到4的人退出圈子,问最后留下的是几号。
(5)假设一个算术表达式中包含圆括号、方括号和花括号三种类型的括号,编写一个
算法判断其中的括号是否匹配。
(6)已知R[0……n-1]为整型数组,试设计实现下列运算的递归算法(本题15分)
<
求数组R中的最大整数
求n个整数之和
求n各整数的平均值
(7)分别写出下图树的先序遍历、中序遍历和后序遍历的结果。
写出中序遍历算法,算法中root指向二叉树的根。
(本题20分)