样题一填空题(每空2分,共30分)1、C语言中结构化设计中的三种基本结构是_顺序_循环_和分支结构。2、若a=1,b=4,c=3,则表达式!(ab)||!c&&1的值是_0_。3、设有四个数据元素a1、a2、a3和a4,对他们分别进行栈操作或对操作。在进栈或进队操作时,按a1、a2、a3、a4次序每次进入一个元素。假设栈或队的初始状态都是空。现在进行进栈两次(即a1,a2进栈),出栈一次,再进栈两次(即a3,a4进栈),出栈一次;第二次出栈得到的元素是___a4__。4、已知intx=1,y=2,z=3;则z+=xy?++x:++y的值是__6__。5、已知inta[]={10,9,8,7,6},*P=a;则*(P+1)*(P+2)[2]的值是____54___。6、已知int*p(),(*q)();则p是_返回值为整型指针的函数__,而q是__返回值为整型的函数的指针_______。7、一个变量有两个重要的值。它们是地址和值。8、在面向对象的理论中经常会出现以下三个名词。请用中文解释之:OOA面向对象分析;OOD面向对象设计;OOP面向对象的编程OOT面向对象测试;OOSM面向对象维护。9、XML在地理空间信息领域的应用是处理分布式信息的选择工具。利用它可以存储和发布各种特征的地理信息,并控制地理信息在Web浏览器中的显示。10、定义一个指向整型数组a的整型指针。其中a的定义如下:inta[1][2][3][4][5][6][7][8];int*p=a;。二选择题(每小题2分,共70分)1、__istheaddressofavariableoravariableinwhichtheaddressofanothervariableisstored.(B)A.Director;B.Pointer;C.Array;D.Record;2面向对象程序设计以____为基本的逻辑构件,用____来描述具有共同特征的一组对象;以____为共享机制,共享类中的方法和数据。(C)①对象②类;③抽象;④继承A.①②③;B.②③④;C.①②④;D.①③④;3链表不具备的特点是(A)。A.可随机访问任何一个元素;B.插入、删除操作不需要移动元素;C.无需事先估计存储空间大小;D.所需存储空间与线性表长度成正比;4在C语言中,若函数调用时实参是数组名,则传递给对应形参的是(A)。A.数组空间的首地址;B.数组的第一个元素值;C.数组中元素的个数;D.数组中所有的元素;5已知有一维数组T[O...m*n-1],其中mn。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m]中,即B[1]=T[0],B[2]=T[n],依此类推,那么放入B[k](1≤k≤n)的元素是(A)。A.T[(K-1)*n];B.T[K*n];C.T[(K-1)*m];D.T[K*m];6在右图的流程图中,如果标记为b的运算执行了m次(m1),那么标记为a的运算的执行次数为(B)。A.1;B.m-1;C.m;D.m+l;7对矩阵压缩存储的主要目的是(B)。A.方便运算;B.节省存储空间;C.降低计算复杂度;D.提高运算速度;8在位运算中,操作数每右移一位,其结果相当于(B)。A.操作数乘以2;B.操作数除以2;C.操作数除以4;D.操作数乘以4;9以下不是死循环的语句为(D).A.for(;;x+=i);B.while(100){x++;}C.for(i=10;;i--)sum+=i;D.for(;(c=getchar())!=ˊ\nˊ;)printf(〞%c〞,c);10.已知L是无表头结点的单链表,试从下面的语句中选出在表首插入S结点的语句(B)。(1)L-next=S;(2)S-next=L;abYN(3)S-next=L-next;(4)L-next=S-next;(5)L=S;(6)S=L;A.(1)(6);B.(3)(5);C.(4)(6);D.(2)(5);11若有以下程序段inta[]={4,0,2,3,1};inti,j,t;for(i=1;i5;i++){t=a[i];j=i-1;while(j=0&&ta[j]){a[j+1]=a[j];j--}a[j+1]=t;}则该程序段的功能是(A)。A.对数组a进行插入排序(升序);B.对数组a进行插入排序(降序);C.对数组a进行选择排序(升序);D.对数组a进行选择排序(降序);12设数组a[3...16,5...20]的元素以列为主序存放,每个元素占用两个存储单元,则数组元素a[i,j](3≤i≤16,5≤j≤20)的地址计算公式为(D)。A.a-118+2i+28j;B.a-116+2i+28j;C.a-144+2i+28j;D.a-146+2i+28j;13如果某二叉树的前序为stuwv,中序为uwtvs,那么该二叉树的后序为(C)A.uwvts;B.vwuts;C.wuvts;D.wutsv;14具有五层结点的二叉平衡树至少有___个结点。(B)A.10;B.12;C.15;D.17;15设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是(C).A.n在m右方;B.n是m祖先;C.n在m左方;D.n是m子孙;16对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是(D)A.n;B.(n-1)2;C.n-1;D.n2;17判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用(C)。A.求关键路径的方法;B.求最短路径的Dijkstra方法;C.宽度优先遍历算法;D.深度优先遍历算法;18设哈希表长m=14,哈希函数H(key)=keyMOD11。表中已有4个结点:addr(15)=4;addr(38)=5;addr(61)=6;addr(84)=7;其余地址为空如用二次探测再散列处理冲突,关键字为49的结点的地址是(D)。A.8;B.3;C.5;D.9;19有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功所需的平均比较次数为(B)。A.35/12;B.37/12;C.39/12;D.43/12;20下述几种排序方法中,要求内存量最大的是(C)。A.插入排序;B.选择排序;C.快速排序;D.归并排序21一组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为(A).A.16253548234079823672;B.16253548798223364072;C.16254835798223364072;D.16253548792336407282;22索引无序文件是指(A).A.主文件无序,索引表有序;B.主文件有序,索引表无序;C.主文件有序,索引表有序;D.主文件无序,索引表无序;23倒排文件的主要优点是__C。A.便于进行插入和删除运算;B.便于进行文件的合并;C.能大大提高次关键字的查找速度;D.能大大节省存储空间;24外排序是指__D_.A.在外存上进行的排序方法;B.不需要使用内存的排序方法;C.数据里很大,需要人工干预的排序方法;D.排序前后数据在外存,排序时数据调入内存的排序方法;25下面程序的运行结果是Dintx=y=0;while(x15){y++,x+=++y;}printf(〞%d,%d〞,y,x);A.20,7;B.6,12;C.20,8;D.8,20;26、下面对于数组的定义正确的是(D)intM=10;constintN=9;staticintK=20;#defineJ50main(intargc,char*argv[]){intI;cinI;intarray1[I];———————————————①intarray2[M];———————————————②intarray4[K];———————————————③intarray3[N];———————————————④intarray5[J];——————————————⑤}A.①②③④⑤;B.②③④⑤;C.③④⑤;D.④⑤;27如下所示是一棵5阶B树,该B树现在的层数为2。从该B树中删除关键码38后,该B树的第2层的结点数为()A6;B7;C8;D9;28、有关类和对象的说法不正确的是(D)A.类是对于众多对象的归纳;B.类的对象具备该类的所有特征;C.类是抽象的数据结构,而对象是具体的事件或事物等;D.在程序中,我们只能使用对象的成员,而不能直接使用类的成员;29软件管理是软件工程化生产的重要环节,以下哪些是软件工程管理应包括的内容?(D)①人员组织;②进度安排;③.质量保证;④成本核算;35101945608258111315233038414753647073788695A.①②;B.②③;C.②④;D.①②③④;30软件维护是在用户使用软件期间对软件所做的补充、修改和增强,一般认为软件维护最常见的是(A)。A.完善性维护;B.适应性维护;C.校正性维护;D.支持性维护;31下列程序的运行结果为:i,j和k的值分别为(B).main(){inta=10,b=5,c=5,d=5;inti=0,j=0,k=0;for(;ab;++b)i++;while(a++c)j++;dok++;while(ad++);printf(%d,%d,%d\n,i,j,k);}A.0,0,0;B.5,4,6;C.4,5,6;D.6,4,5;32在下列结论中,只有一个是正确的,它是()A.在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候一定会产生相互影响;B.在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候可能会产生相互影响;C.在递归函数中使用自动变量不必担心,因为在递归过程中,不同层次的同名变量在赋值的时候肯定不会产生相互影响;D.在c语言中无法得到上述三种结论之一;33选出下列选项中正确的一项是(B)。A.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构;B.链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高;C.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻;D.记录是数据处理的最小单位;34给定一个有n个元素的线性表。若采用顺序存储结构,则在等概率前提下,向其插入一个元素需要移动的元素个数平均为(B)。A.n+l;B.n/2;C.(n+l)/2;D.n;35若有以下和说明structstd{charnum[6];charname[8];floatmark[4];}a[30];FILE*fp;设文件中以二进制形式存有10个班的学生数据,且已正确打开,文件指针定位于文件开头。若要从文件中读出30个学生的数据放入a数组中,以下不能实现此功能的语句是(D)。A.for(i=0;i30;i++)fread(&a[i],sizeof(structstd),1L,fp);B.for(i=0;i30;i++)fread(a+i,sizeof(structstd),1L,fp);C.fread(a,sizeof(structstd),30L,fp);D.for(i=0;i30;i++)fread(a[i],sizeof(structstd),1L,fp););三回答下列问题(每题5分,共10分)1.请指出以下程序中的错误:(5分)main(){staticinta[10]={0,1,2,3,4,5,6,7,8,9,10};intx=3;y=6;for(i=1;i10;i++);printf(〞%d%d〞,a[i]+x,a[i+1]+y)}2.将下列森林转换为相应的二叉树,并分别按以下说明进行线索化;(5分)(1)先序前驱线索化;(2)中序全线线索化;(3)后序后继线索化;132645871191012141315四程序设计题(第1题10