1、贵州大学 2015 年硕士研究生入学考试试题(所有试卷答案必须答在专用答题纸上,否则答案无效)考试科目名称: 程序设计与数据结构考试科目代码: 831一、选择题(单项选择题,25 个小题,每小题 2 分,共 50 分,下面每题给出的4 个选项中,只有一个选项最符合试题要求)1、下面哪个是合法的标识符()。A、3thB、_2fC、$25D、for 2、在一个 C 程序中()。A、main 函数出现在所有函数之前。C 程序不一定都有 main 函数B、main 函数必须出现在所有函数之后。一个 C 程序必须有且仅有一个 main函数。C、main 函数可以在任何地方出现。一个 C 程序必须有且仅有
2、一个 main 函数。D、main 函数出现在固定位置,一个 C 程序可以有多个 main 函数。3、已知 int i,a;,执行语句 i=(a=2*3,a*5),a+6; 后变量 i 的值是()。A、6B、12C、30D、364、C 语言程序的 3 种基本结构是( )。A、循环结构、转移结构和顺序结构B、循环结构、递归结构和转换结构C、顺序结构、选择结构和递归结构第 9 页 共 10 页D、顺序结构、选择结构和循环结构5、设 int a = 4;则表达式 a1 的运算结果和 a 的值分别是()。A、0 和 3B、0 和 4C、1 和 3D、1 和 4 6、以下对二维数组 a 进行不正确的初始
3、化的是()。A、int a3=3,2,1,1,2,3;B、int a=3,2,1,1,2,3;C、int a23=3,2,1,1,2,3;D、int a3=3,2,1,1,2,3;7、下列关于 C 语言中参数的叙述正确的是()。A、实参与其对应的形参各占据独立的存储单元。B、实参占用存储单元,形参是虚拟的,不占用存储单元。C、只有当实参单元与其对应的形参单元同名时,才共占用一个存储单元。D、形参值的改变会影响实参的值。8、若有以下语句:int a3,*p=a;则 &a1-p 的值是()。A、1B、2C、3D、49、设有定义:char s=“string”;则 s 数组所占字节数为()。A、1B
4、、6C、7D、不确定10、以下说法正确的是()。A、共用体变量在某一时刻只有一个成员起作用。B、结构体变量在某一时刻只有一个成员起作用 C、共用体变量各成员占用不同的存储空间。D、结构体变量各成员占用相同的存储空间。11、若有定义 float *p,m;,则以下表达式正确的是()。A、p=mB、p=&mC、*p=&mD、*p=*m12、设变量定义为 int a3=2, 4, 6,*p=&a0,则*p 的值是()。A、&a0B、2C、4D、613、两个指针变量的值相等时,表明两个指针变量()。A、占据同一内存单元B、指向同一内存单元地址或者为空C、是两个空指针D、都没有指向14、函数返回值的类型
5、是由()。A、return 语句中的表达式类型所决定。B、调用该函数时的主调函数类型所决定。C、调用该函数时系统临时决定。D、在定义该函数时所指定的函数类型所决定。15、在 C 语言中,若有定义”int a10;”,则下列哪一项不能表示 a1的地址()。A、&a1B、&a0+1C、a+D、a+1 16、以下数据结构中哪一个是非线性结构()。A、队列B、栈C、线性表D、二叉树17、下面关于线性表的叙述错误的是()。A、线性表采用顺序存储必须占用一片连续的存储空间。B、线性表采用链式存储不必占用一片连续的存储空间 C、线性表采用链式存储便于插入和删除操作的实现D、线性表采用顺序存储便于插入和删除操
6、作的实现18、已知一个栈的进栈序列为 1,2,3,n。其输出的序列是 p1,p2,p3.,pn, 若 p1=3,则 p2 的值()。A、一定是 2B、一定是 1C、可能是 1D、可能是 219、已知输入序列是 1234,则输入受限(仅允许由一端输入)但输出不受限(两端均可输出)的双端队列不可能得到的输出序列是()。A、4231B、1324C、3214D、234120、一个满二叉树中,某个结点的高度为 4,深度为 4,则可推知该满二叉树的高度为()。A、4B、5C、6D、721、设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。A、空或只有一个结点B、高度等于其结点数C、
7、任一结点无左孩子D、任一结点无右孩子22、线索二叉树是一种()结构。A、逻辑B、逻辑和存储C、物理D、线性23、无向图的邻接矩阵是一个()。A、对称矩阵B、零矩阵C、上三角矩阵D、对角矩阵24、一个元素序列的排序码为46,72,41,38,84,89,采用快速排序(以最左位置的元素为轴)得到的第一次划分结果为()。A、38,41,46,72,84,89B、41,38,46,72,84,89C、28,41,46,84,72,89D、46,38,41,72,84,8925、一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。A、堆排序B、冒泡排序C、快速排序D、希尔排序二、阅读程序题(本
8、题共 4 个小题,每小题 4 分,共 16 分)1、读下面程序,写出程序的输出结果#includevoid main()char *ps=”There is an apple”; int n = 11;ps = ps+n; printf(“%sn”,ps);程序运行的结果为:2、读下面程序,写出程序的输出结果#includevoid main()int x;x = try(6); printf(“%dn”,x);int try(int n)if(n0)return (n*try(n-2); elsereturn (1);程序运行的结果为:3、读下面程序,写出程序的输出结果。#includevo
9、id main()int I,j,a23; for(i=0;i2;i+)for(j=0;j3;j+)aij=2*i+j; printf(“%d”,aij);printf(“n”);程序运行的结果为:4、读下面的程序,写出程序的输出结果。#includevoid exchange(int x,int *y)int t; temp = x; x = *y;*y = t;void main()int a = 3,b = 5; int *p = &b; if(a1)的各棵树中,深度最小的树的深度是多少?它有多少叶节点?多少分支结点?深度最大的树的深度是多少?他有多少叶结点?多少分支结点?4、设待排序的
10、排序码为12,2,16,30,28,10,18,写出直接插入排序每趟排序后的结果。四、完善程序题(本题共 3 个小题 10 个空,每个空 3 分,共 30 分,请考生根据程序的上下文关系,在空框处填上适当内容,每个空框只填一个语句或一个表达式)。1、有一个一维数组 score 内放 10 个学生成绩,用一个函数求平均成绩。#include void main()float average(float array10); float score10,aver;int i;printf(“input 10 scores:n”); for(i=0;i10;i+)scanf(“%f”,&scorei)
11、; printf(“n”);aver = average(1) ); printf(“average score is %5.2fn”,aver);float average(float (2) )int i;float aver,sum=array0; for(i=0;inext;(5) ;for(p=p-next;p!=NULL;p=(6) ) if(7) )m = p-data; return 0;3、补全下面二叉搜索树的查找递归算法bool Find(BTreeNode *BST, ElemType &item)if(BST=NULL)return false;/查找失败elseif(
12、item=BST-data)item = BST-data;/查找成功return (8) ; else if(itemdata)return Find(9) ,item); else return Find(10) ,item);五、应用题(本题共 4 个小题,第 13 题 8 分,第 4 题 10 分,共 34 分)1、编写程序,打印一下杨辉三角形(要求打印 7 行)。1111211331146411510105116152015612、用递归法计算 n!,其中计算 n!的函数为 fac(n)。3、编写下面函数,统计出单链表 HL 中结点的值等于给定值 x 的结点数。int CountX(LNode* HL, ElemType x)4、对图 1 所示的有向图,试写出:(1) 从顶点出发进行深度优先搜索得到的所有 DFS 生成树。(2) 从顶点出发进行广度优先搜索得到的所有 BFS 生成树。图 1第 10 页 共 10 页
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。