宁波大学2013年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)第1页,共8页考试科目:计算机软件基础CC程序设计+数据结构)适用专业:计算机技术科目代码:w答案必须写在答题纸上,否则无效。以下为C语言部分一、选择题(共30分,每题3分)1、若有代数式3a+2b,则正确的C语言表达式是。cdA)(3a+2b)/(c*d)B)(3a+2b)/c/dC)(3*a+2*b)/c*dD)(3*a+2*b)/c/d2、下列叙述中正确的是A)break语句只能用于switch语句中B)continue语句的作用是使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体和switch语句内D)在循环体内使用break语句和continue语句的作用相同3、判断字符型变量c是否为小写字母的正确表达式是。A)('a'=c)&&('z'=c)C)('a'=c)II('z'=c)4、对于while(exp)语句,B)(c='a')II(c='z')D)(c='a')&&(c='z')与该语句中条件表达式(exp)等价的条件表达式曰定A)(exp==O)B)(exp!=O)C)(exp=l)D)(exp!=l)5、for(i=l;i9;i++);该循环共执行次。A)7B)8C)9D)106、若定义intage[lO];,则对age数组元素的正确引用是_——卫A)age(7)(B)age[lOJC)age[9-9](D)age77、已有定义intk=2,*ptrl,*ptr2;且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句是。A)k=*ptrl+*ptr2B)ptr2=kC)ptrl=ptr2D)k=*ptrl*(*ptr2)宁波大学室旦3年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)第2页,共8页考试科目:计算机软件基础cc程序设计+数据结构)适用专业:计算机技术科目代码:lli8、在C语言中,引用数组元素时,其数组下标的数据类型允许是_——_oA)整型常量C)整型常量或整型表达式B)整型表达式C)任何类型的表达式9、C语言中要求运算数必须是整型的运算符是。A)IB)++10、以下正确的函数定义是A)doublefun(intx,inty)C)!=。D)%B)doublefun(intx,y){z=x+y;{intz;z=x+y;returnz;returnz;}}C)doublefun(x,y)D)doublefun(intx,inty){intx,y;doublez;z=x+y;returnz;{doublez=O,·z=x+y;returnz;}}二、阅读下面程序,按要求写出运行结果(共5分)#includestdio.hintmainO{chars[80],c='a';charsno[80];inti=O,j=O;for(i=O;i80;i++){scanf(o/oc,&s[i]);if(s[i]=二'\n')break;I=o;宁波大学2013年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)第3页,共8页'.`C•`卢.--兄;.:,七.'..令..、..·-._考试科目:计算机软件基础CC程序设计+数据结构)适用专业:计算机技术科目代码:while(s[i]!='\n'){if(s[i]=c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i)+32;elseif(s[i]='O'&&s[i]='9')sno[j++]=s[i];i++;s[i]='\O';sno[j]='\0';printf(%s\n,s);printf(%s\n,sno);returnO;当从键盘输入:Ahal054MAAh78a回车>时,请写出程序运行结果。三、简答题(共15分,每题5分)l、定义一个单向链表的结构体,该链表用来表示一个游戏中的一个英雄团队,每个英雄包含姓名、种类、攻击力、防御力、生命力、速度等几个方面。2、说明在C语言中II1和'1'的不同。3、举例说明while和dowhile语句的不同。四、程序逻辑分析(10分)针对下图,已知规则如下:(1)同一方格不能经过两次;(2)数字表示线路在此行(列)经过的方格数。要求求出从起点到终点的线路经过的格子(图中已给答案,本题求解无需给出线路走向,只需知道经过哪些格子即可)。请从程序设计的角度详细说明此题的求解过程。(要求以伪代码或流程图的方式说明,无需编程),,••,剿'1'11111.,.,,雪俨,一Im气匾幽霞.•..f\:.;t.....\-,..玉....•·'....七、.,•••.-.、,.l·.._..-..•,..•'-..·.五..--.t.'...-.、:-·:··:·~:·.•七`.、勺i飞,l".--心女..·1-一叶,,,,-.:,,_-•一....._.r,,·•.l,心'·矗,.,J宁波大学室旦3年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)第4页,共8页考试科目:计算机软件基础cc程序设计+数据结枑)适用专业:计算机技术科目代码:fil1五、编程题(15分)已知y=l-1/3+1/5-1/7+1/9+...,以此类推直到最后一项小千0.0000001为止,请编写完整的程序求出y,要求有完整的输入、计算、输出过程。宁波大学2013年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)第5页,共8页考试科目:计算机软件基础(C程序设计+数据结构)适用专业:计算机技术科目代码:lli数据结构部分(共75分)一.单项选择题(每题2分,共20分)1.在数据结构中,从逻辑上可以把数据结构分成()。A.动态结构和表态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()。A.s-next=p;p-next=s;B.s-next=p-next;p-next=s;C.s-next=p-next;p=s;D.p-next=s·s-next=p·,3.判定一个队列QUC最多元素为mO)为满队列的条件是()。A.QU-rear-QU-front==mOB.QU-rear-QU-front-l==mOC.QU-front==QU-rearD.QU-front==QU-rear+l4.在待排序序列“基本有序”且长度较小的情况下,较好的内部排序方法是()。A.直接插入排序B.归并排序C.简单选择排序D.快速排序5.在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。A.nB.n+lC.n-1D.n/26.堆排序的平均时间复杂度是。A、O(n*n)B、O(n石)C、O(nlog2(n))D、O(n)7.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序,序列的变化情况如下:则所采用的排序方法是:A.选择排序B.希尔排序C.归并排序D.快速排序8设计一个判别表达式中左、右括号是否配对出现的算法,采用()数据结构最佳。A.线性表B.栈C.队列D.广义表9.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为ml、m2和m3,则与森林F对应的二叉树根结点的右子树上的结点个数是()。A.mlB.ml+m2C.m3D.m2+m320,15,21,25,47,27,68,35,8415,20,21.25,35,27,47,68,8415,20,21,25,27,35,47,68,84第6页,共8页宁波大学2013年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)考试科目:计算机软件基础CC程序设计+数据结构)适用专业:计算机技术科目代码:lli10.下述几种排序方法中,要求内存量最大的是{)。A.插入排序C.快速排序B.选择排序D.归并排序二.简答题(35分)1.(4分)简述以下算法的功能(栈和队列的元素类型均为int)。voidalgo3(Queue&Q){StackS;intd;InitStack(S);while(!QueueEmpty(Q)){DeQueue(Q,d);Push(S,d);}while(!StackEmpty(S)){Pop(S,d);EnQueue(Q,d);2.(4分)用kruskal算法给出下图所示的最小生成树过程.宁波大学2013年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)第7页,共8页考试科目:计算机软件基础CC程序设计+数据结构)适用专业:计算机技术科目代码:fil-13.(9分)试写出下图中全部可能的拓扑有序序列和图的邻接表存储方式,并指出按照下列拓扑算法求得的是哪个序列。StatusTopologicalSort(ALGraphG){//有向图G采用邻接表存储结构。II若G无回路,则输出G的顶点的一个拓扑序列并返回OK,否则ERROR。FindlnDeqree(G,indegree);II对各顶点求入度indegree[O..vernum-1]InitStack(S);for(i=O;iG.vexnum;++i)if(!indegree[i])Push(S,i);count=O;while(!StackEmpty(S)){Pop(S,i);printf(i,G.vertices[i].data);++count;for(p=G.vertices[i].firtarc;p;p=p-nexrarc){k=p-adjvex;if(!(--indegree[k]))Push(S,k);}/lfor}Ilwhileif(countG.vexnum)returnERROR;elsereturnOK;}IITopologicalSort三)4.(6分)设线性表的关键字集合key={32,13,49,55,22,39,20},选取的哈希函数为H(key)=ke沪1/07,解决冲突的方法为“二次探测再散列"。请按上述条件求出key中各值的地址,并求出对该表的平均查找长度ASL。第8页,共8页12345678宁波大学丕旦3年攻读硕士学位研究生入学考试试题(A卷)(答案必须写在答题纸上)考试科目:计算机软件基础CC程序设计+数据结构)适用专业:计算机技术科目代码:lli5.(7分)什么是平衡二叉树?假设关键字序列为(13,24,37,90,53),请给出平衡二叉树的构建过程。6.(5分)设一棵二叉树BT的存储结构如下:三丿门H:1。II。I::I。III其中lchild,rch过d分别为结点的左、右孩子指针域,data为结点的数据域。(1).试画出该二叉树的逻辑结构。(2).写出按中序和后序遍历该二叉树所得到的结点序列。三.算法设计题(20分,每小题10分)l.编写按层次顺序(同一层自左至右)遍历二叉树的算法。2.写出从图的邻接表表示转换成邻接矩阵表示的算法。