logo资料库

2014年江西师范大学C语言程序设计与数据结构考研真题A卷.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
2014 年江西师范大学 C 语言程序设计与数据结构考研真题 A 卷 一、简答题(共 8 小题,其中第 7 小题 8 分,其余每小题 6 分,共 50 分) 1.请至少列举三种以上 C 语言的主要数据类型。 2.简述 C 语言中条件表达式 max=(a>b)? a : b 的执行过程。 3.简述 C 语言中 break 语句的作用。 4 请给出指针变量定义的一般形式,并举例说明。 5.若线性表的元素个数基本稳定,且很少进行插入和删除操作,但要求以最快速度存取表中 的元素时,应采用何种存储结构?若在应用中经常增、删元素,则应采用何种存储结构? 6.对于一个栈,若输入序列为{A,B,C},试写出至少三种可能的输出序列。 7.假设双链表结构的 C 语言描述如下: typedef int datatype; typedef struct dlink_node{ datatype info; struct dlink_node llink,rlink; }dnode; 根据图 1 回答以下问题: (1) 如何访问 q 指针所指结点的数据域? (2) 如何访问 q 指针所指结点的直接前驱结点的数据域? head ∧ ∧ q 图 1 8.什么叫满二叉树? 二、填空题(5 个空,每空 2 分,共 10 分) 1.若有语句 int a=2;则计算表达式 a+=a 后,a 的值为_______。 2.若有说明和语句:int a=2, b; b=a++;则 a 和 b 的值分别是________、________。 3.若已定义 int x=3,y=2,则表达式 x&&y 的值为_________。 4.设有语句 int a[10]; 则共定义了_______个数组元素。 三、判断题,对打“√”,错打“X”(5 小题,每小题 2 分,共 10 分) 1、栈是一种可在两端进行插入或删除操作的线性表。
2、队列的存储方式只能是顺序存储,不能用链式存储。 3、如果两个字符串的长度相同,则它们相等。 4、完全二叉树的某结点若无左孩子,则它必是叶子节点。 5、一棵有 n 个顶点的生成树有且仅有 n-1 条边。 四、应用题(3 小题,每小题 10 分,共 30 分) 1、对于图 2 所示的二叉树,请回答以下问题: A D B C G H E F I 图 2 (1) 结点 C 的双亲为哪个结点? (2) 结点 F 的层次为多少?二叉树的高度(深度)为多少? (3) 写出这棵二叉树的前序遍历序列。 2、设哈希表长度为 11,使用哈希函数 H(x) = x%11 把一个整数值转换成哈希表的下标, 现给定一组关键字序列为 1,24,12,34,38,36,25,33 的数据,试画出采用线性探测法 解决冲突时所构造的哈希表。 3、对于图 3 所示的无向图 G,试给出: B A C E 图 3 D (1) 图中每个顶点的度。
(2) 该无向图的邻接矩阵。 五、程序设计题(5 小题,每小题 10 分,共 50 分) 1、试编写一个 C 语言程序,判断从键盘输入的一个整数能否被 2 和 3 整除。若能满足上述 条件,则将其输出,否则输出不能同时被 2 和 3 整除的提示信息。 2、试编写一个 C 语言程序,从键盘为一个长度为 10 的整型一维数组输入数据,并输出数组 中值最大的元素的下标值。 3、试编写一个 C 语言程序,先定义一个整数类型的数组 a[5][5],然后给数组 a 赋值,最 后计算并输出 a 数组中每行的和。 4、设有一个线性表(a1, a2, a3,…,an),其元素递增有序且按顺序存储于计算机内。要求 设计一个算法 void search(sequence_list sl, int x )在线性表中查找数值为 x 的元素 (查找算法不限),若找到将其值与第一个元素的值进行交换,否则输出此元素不存在。 假定程序中已有用 C 语言描述的顺序表结构如下: #define MAXSIZE 100 /*预定义最大的数据域空间*/ typedef int datatype; /*假设数据类型为整型*/ typedef struct{ datatype a[MAXSIZE]; /*此处假设数据元素只包含一个整型的关键字域*/ int size; /*线性表长度*/ }sequence_list; /*预定义的顺序表类型*/ 5、试编写一个算法 node *insert(node *headA, node *headB, datatype x),实现把带头 结点的 headB 单链表中值为 x 的所有结点依次插入到带头结点的 headA 单链表尾部。假定程 序中已有如下说明: typedef int datatype; typedef struct link_node{ datatype info; struct link_node *next; }node;
分享到:
收藏