江西师范大学软件学院869C语言程序设计与数据结构历年考研真题汇编_第1页
江西师范大学软件学院869C语言程序设计与数据结构历年考研真题汇编_第2页
江西师范大学软件学院869C语言程序设计与数据结构历年考研真题汇编_第3页
江西师范大学软件学院869C语言程序设计与数据结构历年考研真题汇编_第4页
江西师范大学软件学院869C语言程序设计与数据结构历年考研真题汇编_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

2014年江西师范大学软件学院869C语言程序设计与数据结构A考研真题

2014年江西师范大学软件学院869C语言程序设计与数据结构B考研真题

2013年江西师范大学软件学院869C语言程序设计与数据结构A考研真题

2013年江西师范大学软件学院869C语言程序设计与数据结构B考研真题

2012年江西师范大学软件学院837C语言程序设计与数据结构考研真题

2014年江西师范大学软件学院869C语言程

序设计与数据结构A考研真题

专业:120100管理科学与工程01、04方向

科目:C语言程序设计与数据结构

注:考生答题时,请写在考点下发的答题纸上,写在本试题纸或其

他答题纸上的一律无效。

一、简答题(共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语言描述如下:

typedefintdatatype;

typedefstructdlink_node{

datatypeinfo;

structdlink_node*llink,*rlink;

}dnode;

8.根据图1回答以下问题:

(1)如何访问q指针所指结点的数据域?

(2)如何访问q指针所指结点的直接前驱结点的数据域?

图1

9.什么叫满二叉树?

二、填空题(5个空,每空2分,共10分)

1.若有语句inta=2;则计算表达式a+=a后,a的值为_______。

2.若有说明和语句:inta=2,b;b=a++;则a和b的值分别是

________、________。

3.若已定义intx=3,y=2,则表达式x&&y的值为_________。

4.设有语句inta[10];则共定义了_______个数组元素。

三、判断题,对打“√”,错打“X”(5小题,每小题2分,共10分)

1.栈是一种可在两端进行插入或删除操作的线性表。

2.队列的存储方式只能是顺序存储,不能用链式存储。

3.如果两个字符串的长度相同,则它们相等。

4.完全二叉树的某结点若无左孩子,则它必是叶子节点。

5.一棵有n个顶点的生成树有且仅有n-1条边。

四、应用题(3小题,每小题10分,共30分)

1.对于图2所示的二叉树,请回答以下问题:

图2

(1)结点C的双亲为哪个结点?

(2)结点F的层次为多少?二叉树的高度(深度)为多少?

(3)写出这棵二叉树的前序遍历序列。

2.设哈希表长度为11,使用哈希函数H(x)=x%11把一个整数值转

换成哈希表的下标,现给定一组关键字序列为1,24,12,34,38,

36,25,33的数据,试画出采用线性探测法解决冲突时所构造的哈希

表。

3.对于图3所示的无向图G,试给出:

图3

(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),其元素递增有序且按顺序

存储于计算机内。要求设计一个算法voidsearch(sequence_listsl,intx)在

线性表中查找数值为x的元素(查找算法不限),若找到将其值与第一

个元素的值进行交换,否则输出此元素不存在。

假定程序中已有用C语言描述的顺序表结构如下:

#defineMAXSIZE100/*预定义最大的数据域空间*/

typedefintdatatype;/*假设数据类型为整型*/

typedefstruct{

datatypea[MAXSIZE];/*此处假设数据元素只包含一个整型的关

键字域*/

intsize;/*线性表长度*/

}sequence_list;/*预定义的顺序表类型*/

5.试编写一个算法node*insert(node*headA,node*headB,datatype

x),实现把带头结点的headB单链表中值为x的所有结点依次插入到带头

结点的headA单链表尾部。假定程序中已有如下说明:

typedefintdatatype;

typedefstructlink_node{

datatypeinfo;

structlink_node*next;

}node;

2014年江西师范大学软件学院869C语言程

序设计与数据结构B考研真题

专业:120100管理科学与工程01、04方向

科目:C语言程序设计与数据结构

注:考生答题时,请写在考点下发的答题纸上,写在本试题纸或其

他答题纸上的一律无效。

一、简答题(共8小题,其中第7小题8分,其余每小题6分,共50

分)

1.在C语言中,结构化程序设计有哪三种基本控制结构?

2.简述以下if语句的执行过程。

if(表达式1)语句1;

elseif(表达式2)语句2;

3.简述C语言中break语句的作用。

4.请给出指针变量定义的一般形式,并举例说明。

5.常用的数据存储结构分为哪几种?

6.对于一个队列,若输入序列为{a,b,d,e,f},试写出其对应的输出

序列。

7.假设双链表结构的C语言描述如下:

typedefintdatatype;

typedefstructdlink_node{

datatypeinfo;

structdlink_node*llink,*rlink;

}dnode;

8.根据图1回答以下问题:

(1)如何访问q指针所指结点的数据域?

(2)如何访问q指针所指结点的直接后继结点的数据域?

图1

9.什么叫二叉树?

二、填空题(5个空,每空2分,共10分)

1.在C语言中,实型变量的类型说明符有:__________、double。

2.若已定义inta=1,b=2,c=3,则表达式a||b&&c的值为_________。

3.若有5<=x<=10,则其正确的C语言表达式是_________。

4.执行下面程序段后,a的值为_________。

inta=4,b=6;

a=a+b;

5.下面程序运行后,输出的结果是___________。

#include<stdio.h>

voidmain()

{intx=10,y=3;

printf(“%d\n”,y=x%y);

}

三、判断题,对打“√”,错打“X”(5小题,每小题2分,共10分)

1.栈的存储方式既可以是顺序存储,也可以是链式存储。

2.队列是一种特殊的线性表,具有先进先出的性质。

3.如果一个串中的所有字符均在另一个串中出现,则前者是后者

的子串。

4.使用二分法检索时要求线性表有序并且采用顺序存储结构。

5.线性表若采用链式存储结构时,要求内存中可用存储单元的地

址必须是连续的。

四、应用题(3小题,每小题10分,共30分)

1.对于图2所示的二叉树,请回答以下问题:

图2

(1)二叉树的高度(深度)为多少?

(2)该二叉树是否是满二叉树?是否是完全二叉树?

(3)写出这棵二叉树的前序遍历序列。

2.假设用于通信的电文由6个字母A,B,C,D,E和F组成,各字母在电

文中出现的相对频率分别为0.3,0.07,0.1,0.18,0.2和0.06,请根据字

符出现频率构造对应的Huffman树,并为它们设计Huffman编码。

3.对于图3所示的无向图G,试给出:

图3

(1)该无向图从顶点A开始的深度优先(DFS)遍历结果。

(2)该无向图从顶点A开始的广度优先(BFS)遍历结果。

五、程序设计题(5小题,每小题10分,共50分)

1.有一函数:y=

试编写一个C语言程序,从键盘上输入x的值,根据上面的函数,求

出y的值,并输出。

2.假如某数列第1,2项分别为0和1,以后每个奇数编号的项是前

两项之和,偶数编号的项是前两项之积,生成并打印该数列的前15项,

生成的15个数存放在一维数组x中,并按每行5项的形式输出。

3.试编写一个C语言程序,先从键盘为一个整型二维数组a[10][10]

赋值,然后计算并输出a数组中各元素的最大值。

4.试编写一个算法intcount_x(sequence_listsl,intx),计算并返回

顺序表中值为x的结点的个数。

假定程序中已有用C语言描述的顺序表结构如下:

#defineMAXSIZE100/*预定义最大的数据域空间*/

typedefintdatatype;/*假设数据类型为整型*/

typedefstruct{

datatypea[MAXSIZE];/*此处假设数据元素只包含一个整型的关

键字域*/

intsize;/*线性表长度*/

}sequence_list;/*预定义的顺序表类型*/

5.试编写一个算法node*insert(node*headA,node*headB),实现把

带头结点的headB单链表中值为偶数的所有结点依次插入到带头结点的

headA单链表尾部。假定程序中已有如下说明:

typedefintdatatype;

typedefstructlink_node{

datatypeinfo;

structlink_node*next;

}node;

2013年江西师范大学软件学院869C语言程

序设计与数据结构A考研真题

专业:120100管理科学与工程01、04方向

科目:C语言程序设计与数据结构

注:考生答题时,请写在考点下发的答题纸上,写在本试题纸或其

他答题纸上的一律无效。

一、简答题(共8小题,其中第5小题8分,其余每小题6分,共50

分)

1.简述C语言中有哪些算术运算符。

2.简述C语言中,输出操作有哪些常用函数?

3.简述以下switch语句的执行过程。

switch(表达式)

{

case常量1:语句1;

case常量2:语句2;

case常量3:语句3;

.......

case常量n:语句n;

default:语句n+1;

}

4.简述C语言中while循环和do-while循环的异同。

5.什么叫串(字符串)?空串和空格串是否相同,为什么?

6.抽象数据类型堆栈的常用操作有哪些(至少写出三个)?

7.在顺序队列中,什么叫假溢出?

8.简述二叉树和一般树的主要区别。

二、填空题(5个空,每空2分,共10分)

1.在C语言中,正确的标识符是由字母、________、下划线组成

的,其中第一个字符应为字母或下划线。

2.若已定义intx=6,y=3,则计算表达式x-=y后的x值是_________。

3.若有10<x<100,则其正确的C语言表达式是_________。

4.设有语句inta[3][4];则共定义了_______个数组元素。

5.设有以下宏定义:

#defineM3

则执行语句z=2*M+5;后,z的值是_________。

三、判断题,对打“√”,错打“X”(5小题,每小题2分,共10分)

1.栈是一种特殊的线性表,具有先进后出的性质。

2.队列的存储方式既可是顺序存储,也可是链式存储。

3.对稀疏矩阵进行压缩存储是为了节省存储空间。

4.在一棵二叉树中,假定每个结点只有左子女,没有右子女,对

它分别进行前序遍历和中序遍历,则具有相同的遍历结果。

5.树型结构是一种线性数据结构。

四、应用题(3小题,每小题10分,共30分)

1.对于图1所示的二叉树:

图1

写出这棵二叉树的前序、中序和后序遍历序列。

2.设哈希表长度为11,哈希函数H(x)=x%11,给定的关键字序列

为1,13,12,34,38,33,27,29。试画出线性探测法解决冲突时所

构造的哈希表。

3.已知无向图G=(V,E),其中V表示顶点集合,E表示边集合,且

V={a,b,c,d,e},E={<a,b>,<a,c>,<c,d>,<c,e>,<d,e>,<b,d>},请画出

无向图G,并写出该无向图G的邻接矩阵。

五、程序设计题(5小题,每小题10分,共50分)

1.从键盘上输入10个评委的分数,去掉其中一个最高分和一个最

低分,求出其余8个人的平均分,最后输出最高分,最低分和平均分。

试编写一个C语言程序实现以上功能。

2.试编写一个C语言程序,求一分数序列的前15项之

和。

3.试编写一个C函数voidinverted(ints[],intn),实现将数组s中的n

个值按逆序重新存放。例如,原来存放的顺序为1,3,8,6,11,逆序存放后

为11,6,8,3,1。

4.试编写一个算法node*dele(node*head,datatypex),实现在带头

结点的head单链表中删除值为x的结点。假定程序中已有如下说明:

tpedefintdatatype;

typedefstructlink_node

{datatypedata;

structlink_nodenext;

}node;

5.试编写一个算法intbinsearch(seqlistL,datatypekey),实现用非递

归的二分查找法在顺序表L中查找是否存在关键字为key的数据元素,若

查找成功则返回所在位置,否则返回-1。假定程序中已有说明如下:

#definemaxsize100/*预定义最大的数据域空间*/

typedefintdatatype;/*假设数据类型为整型*/

typedefstruct{

datatypedata[maxsize];/*此处假设数据元素只包含一个整型的关

键字域*/

intlen;/*线性表长度*/

}seqlist;/*预定义的顺序表类型*/

2013年江西师范大学软件学院869C语言程

序设计与数据结构B考研真题

专业:120100管理科学与工程01、04方向

科目:C语言程序设计与数据结构

注:考生答题时,请写在考点下发的答题纸上,写在本试题纸或其

他答题纸上的一律无效。

一、简答题(共8小题,其中第8小题8分,其余每小题6分,共50

分)

1.简述C语言中有哪些关系运算符。

2.C语言中,输入操作有哪些常用函数?

3.简述以下if语句的执行过程。

if(表达式1)语句1;

elseif(表达式2)语句2;

else语句3;

4.简述在C语言的循环语言中break语句与continue语句的区别。

5.抽象数据类型队列的常用操作有哪些(至少写出三个)?

6.二叉树的常见遍历方法有哪些?

7.什么叫函数的递归调用?

8.试分别列举出一个满二叉树和一个完全二叉树的例子。

二、填空题(5个空,每空2分,共10分)

1.C语言程序的三种基本结构是顺序结构、选择结构和_________结

构。

2.若已定义intx=4,y=2,z=3,则表达式x-y||z的值为_________。

3.设有语句inta[50];则数组a的元素个数为_________。

4.若有说明和语句:inta=5,b=6,y=6;b-=a;y=a++;则b和y的

值分别是________、________。

三、判断题,对打“√”,错打“X”(5小题,每小题2分,共10分)

1.线性表中除了第一个节点和最后一个节点外,其余的结点有且

仅有一个前驱结点和一个后继结点。

2.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢

出机会,应把两个栈的栈底分别设在这片内存空间的两端。

3.队列是一种特殊的线性表,其特殊性在于插入和删除操作都在

表的同一端执行。

4.二叉树中任一个结点的度均为2。

5.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离

根节点较近。

四、应用题(3小题,每小题10分,共30分)

1.试分别画出具有3个结点的二叉树的五种不同形态。

2.假设通讯电文中只用到了A,B,C,D,E,F6个字母,他们在电文中

出现的相对频率分别为4,18,13,8,20和9,请根据字符出现频率构造

对应的Huffman树,并为它们设计Huffman编码。

3.已知无向图G=(V,E),其中V表示顶点集合,E表示边集合,且

V={a,b,c,d,e},E={<a,b>,<a,c>,<c,d>,<c,e>,<d,e>,<b,d>},请画出

无向图G,并写出该无向图从顶点a开始的深度优先(DFS)遍历结果。

五、程序设计题(5小题,每小题10分,共50分)

1.从键盘输入一个字符串(字符中不包

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论