全国自考(计算机软件基础)模拟试卷1(共298题)_第1页
全国自考(计算机软件基础)模拟试卷1(共298题)_第2页
全国自考(计算机软件基础)模拟试卷1(共298题)_第3页
全国自考(计算机软件基础)模拟试卷1(共298题)_第4页
全国自考(计算机软件基础)模拟试卷1(共298题)_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

全国自考(计算机软件基础)模拟试卷1(共9套)(共298题)全国自考(计算机软件基础)模拟试卷第1套一、单项选择题(本题共15题,每题1.0分,共15分。)1、不属于C语言转义字符的是【】A、\’B、\C、\dddD、\xhh标准答案:B知识点解析:转义字符是由字符“\”开始,后面跟若干个字符组成的控制字符。2、若变量a和i已正确定义,且i已正确赋值,则下列是合法的语句的是【】A、a==1B、++i;C、a=a++=5;D、a=int(i);标准答案:B知识点解析:选项A是一个表达式,因为缺少分号,所以不是语句;选项C包含一个不合法的运算符“++=”,选项D应为a=(int)i;。3、执行下列程序段后的输出结果是【】inta=3,b===2;printf("%d,%d",b=aA、0,0B、0,1C、1,0D、1,1标准答案:C知识点解析:由于printf函数中“表达式列表的计算顺序是自右向左的”,所以先算“a=a4、执行语句for(k=4;k>0;k--){break;--k;}后,变量k的值是【】A、1B、2C、3D、4标准答案:D知识点解析:第1次循环时,循环判断条件“4>0”为真,执行循环体。由于循环体中第1条语句就是“break;”,强型退出循环。此时的变量k的值为4。5、下列叙述正确的是【】A、while语句的循环体至少执行一次B、do-while语句的循环体至少执行一次C、do-while语句的循环体不能是复合语句D、continue语句能够从循环体内转到循环体外标准答案:B知识点解析:while语句的循环体可以一次也不执行;do-while语句的循环体可以是复合语句;continue只结束本次循环重新进行下次循环判结束整个循环。6、若有定义语句intm[]={5,4,3,2,1},i=4;,则下面对数组m的数组元素的引用中错误的是【】A、m[--i]B、m[2*2]C、m[m[0]]D、m[m[i]]标准答案:C知识点解析:根据定义语句可知数组m中有5个元素,即m[0]~m[4],在选项C中,m[0]的值为5,m[m[0]]即m[5],因为m数组中的下标最大为4,不存在m[5]这个个元素,这种情况称为越界,所以选项C是错误的。7、已知C语言函数fun()的定义形式为voidfun(charch,floatx){…)则正确调用函数fun()的语句是【】A、fun("a",3.0);B、fun(’abcd’,19.5);C、t=fun(’z’,3.6);D、fun(65,32);标准答案:D知识点解析:fun()函数的第1个形参为字符型变量,字符型数据可以和整型数据通用,整型数据对应字符型数据的ASCII码值,所以对应实参可以是字符型数据或者字符的ASCII码值;函数的第2个形参为单精度型变量,对应实参可以为单精度或者整型数据;函数定义没有返回值,因此选项C错误;选项A中的”a”是字符串常量,不能作为第一个实参,所以选项A错误;选项B中的’abed’格式不正确。8、设有定义语句intx=3,*p=&x;,则值不为3的表达式是【】A、XB、*pC、p+0D、*&x标准答案:C知识点解析:选项C中的p+0就是p,p是x的地址,地址型表达式的值不是变量的值。9、设有以下定义语句,则下面的叙述中不正确的是【】structex{intx;floaty;charz;}example;A、struct是结构类型的关键字B、example是结构类型名C、x、y、z都是结构类型成员名D、structex是结构类型标准答案:B知识点解析:暂无解析10、以下程序段的时间复杂度是【】i=1;k=0;n=100;do{k=k+10*i:i++:}while(i==n);A、O(1)B、O(n)C、O(i)D、0(i*n)标准答案:A知识点解析:do-while循环执行一次后,i=2,n=100,循环判断条件就不满足了,所以只执行循环体一次,故时间复杂度为O(1)。11、在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移【】个元素。A、n—iB、n—i+1C、n—i—1D、i标准答案:B知识点解析:暂无解析12、往顺序栈中推入一个元素时,栈顶指针是【】A、加1B、减1C、不变D、清0标准答案:A知识点解析:在顺序栈中,栈顶指针是正向增长的,即进栈时将栈顶指针加1,退栈时将栈顶指针减1。13、某二叉树的先序序列是abdgcefh,中序序列是dgbaechf,则其后序序列是【】A、bdgcefhaB、gdbecfhaC、bdgaechfD、gdbehfca标准答案:D知识点解析:暂无解析14、从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的排序方法是【】A、希尔排序B、直接选择排序C、直接插入排序D、冒泡排序标准答案:B知识点解析:暂无解析15、下面不属于软件设计原则的是【】A、抽象B、模块化C、自底向上D、信息隐蔽标准答案:C知识点解析:暂无解析二、填空题(本题共10题,每题1.0分,共10分。)16、从用户使用的角度来看,函数分为库函数和_______函数。FORMTEXT标准答案:用户自定义知识点解析:暂无解析17、若有以下函数调用语句:func(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是_______。FORMTEXT标准答案:3知识点解析:暂无解析18、函数的返回值是通过函数体中的_______语句获得。FORMTEXT标准答案:return知识点解析:暂无解析19、如果被调函数定义为_______类型,则被调函数不带回任何值。FORMTEXT标准答案:void或空知识点解析:暂无解析20、只有先定义一个_______型变量,才能将另外一个变量的地址存放到该变量中。FORMTEXT标准答案:指针知识点解析:暂无解析21、若指针变量P指向整型变量i,则i变量又可用_______表示。FORMTEXT标准答案:*p知识点解析:暂无解析22、已知:inta[]={1,3,5,7,9),*ip=a;,表达式*(ip+2)的值是_______。FORMTEXT标准答案:5知识点解析:暂无解析23、下面程序的输出结果是_______。#includemain(){chara[]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d\n",*--p);}FORMTEXT标准答案:5知识点解析:暂无解析24、有如下定义语句:structstu{intx;floaty;charz;}a[3],*p=a;则数组a共占_______个字节。FORMTEXT标准答案:21知识点解析:暂无解析25、有如下定义语句:struct{intx;inty;}s[2]={{1,2},{3,4}},*p=s;则表达式(++p)一>x的结果是_______。FORMTEXT标准答案:3知识点解析:暂无解析三、程序分析题(本题共4题,每题1.0分,共4分。)26、阅读下列程序,写出程序的运行结果。#includesub(intx,inty,int*z){*z=y—x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}标准答案:一5,一12,一7知识点解析:暂无解析27、写出下列程序的运行结果。#includestructst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main()(p=aa;printf("%d\n",++p一>x);printf("%d\n",(++p)一>x);}标准答案:5160知识点解析:暂无解析28、以下程序的功能是将两个3*4阶矩阵相加,并显示出结果。请填空完成程序。#includemain()(inta[3][4]={{3,一2,1,2},{0,1,3,一2},{3,1,0,4)};intb[3][4]={{一2,3,0,一1},{1,0,一2,3},{一2,0,1,一3}};inti,j,c[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)①;for(i=0;i<3;i+4-){for(j=0;j<4;j++)prinff("%d",c[i][j]);②;}}标准答案:①c[i][j]=a[i][j]+b[i][j]②printf("\n")知识点解析:暂无解析29、以下程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空完成程序。#include#includemain(){ehara[]="clanguage",t;int1,j,k;k=str1en(a);for(i=0;i<=k一2;i+=2)for(j=i+2;j<=k;①)if(②){t=a[i];a[i]=a[j];a[j]=t;)puts(a);printf("\n");}标准答案:①j+=2或j=j+2②a[i]>a[j]知识点解析:暂无解析四、程序设计题(本题共2题,每题1.0分,共2分。)30、编写一个程序,其功能是将输入的4个整数按由小到大的顺序输出。标准答案:#includemain(){intt,a,b,c,d;printf("请输入4个整数:");scanf("%d,%d,%d,%d\n",8La,&b,&c,&d);printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(a>d){t=a;a=d;d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b.b=d;d=t;}if(c>d){t=c;c=d;d=t;}printf(排序结果如下;\n");printf("%d,oAd,%d,%d\n",a,b,c,d);}知识点解析:暂无解析31、假设二叉树采用二叉链存储结构存储,试设计一个算法,计算一棵给定二叉树的所有叶子节点个数。标准答案:intLeafNodes(BTNode*b)intnum1,num2;if(b==NULL)return0;elseif(b一>lchild==NULL&&b一>rchild==NULL)return1;else{numl=LeafNodes(b一>lchild);num2=LeafNodes(b一>rchild);return(num1+num2);}}知识点解析:暂无解析全国自考(计算机软件基础)模拟试卷第2套一、单项选择题(本题共15题,每题1.0分,共15分。)1、如下图所示的4棵二叉树中,不是完全二叉树的是【】A、

B、

C、

D、

标准答案:C知识点解析:完全二叉树是一个满二叉树的最下层从右向左连续缺少n(n≥0)个节点的二叉树。2、如果某二叉树的先序序列是stuwv,中序序列是uwtvs,那么该二叉树的后序序列为【】A、uwvtsB、vwutsC、wuvtsD、wutsv标准答案:C知识点解析:暂无解析3、如下图所示的二叉树的中序遍历序列是【】A、abcdgefB、dfebagcC、dbaefcgD、defbagc标准答案:B知识点解析:中序遍历的次序是中序遍历左子树、访问根节点、中序遍历右子树。4、如果T2是由有序树T转化而来的二叉树,那么T的先序序列就是T2的【】A、先序序列B、中序序列C、后序序列D、层次序序列标准答案:A知识点解析:树的先序遍历结果和对应二叉树的先序遍历结果一样。5、按照二叉树的定义,具有3个节点的二叉树的中序遍历结果为abc,则该类二叉树共有【】A、3种B、4种C、5种D、6种标准答案:C知识点解析:暂无解析6、在一个非空二叉树的中序遍历序列中,根节点的右边【】A、只有右子树上的所有节点B、只有右子树上的部分节点C、只有左子树的部分节点D、只有左子树上的所有节点标准答案:A知识点解析:中序遍历的次序是先中序遍历根的左子树,再访问根节点,最后中序遍历右子树,因此,根节点的右边只有右子树上的所有节点。7、具有n个叶子节点的哈夫曼树的节点总数为【】A、不确定B、2nC、2n+1D、2n一1标准答案:D知识点解析:哈夫曼树是二叉树,因此二叉树的性质适用于哈夫曼树,又因为它没有度为1的节点,所以度为2的节点的个数为n一1个,节点总数为n+(n一1)=2n一1。8、在具有n个顶点、e条边的无向图的邻接表中,所有边的链表中边节点的总数是【】A、e/eB、eC、2eD、2e+n标准答案:C知识点解析:在邻接表中,边节点是顶点的所有邻接点,1条边连接2个丁贞点,因此,边节点的总数是2e。9、对节点个数为18的顺序存储有序表,则采用折半查找方法查找第15个节点的成功查找次数为【】A、3B、4C、5D、6标准答案:B知识点解析:暂无解析10、下列描述不正确的是【】A、顺序查找对表中元素的存放位置无任何要求,当n较大时,效率低B、当顺序表中关键字有序时,可采用折半查找C、折半查找也称为二分查找D、在链式存储结构上可以进行折半查找标准答案:D知识点解析:折半查找只适用于有序表,且限于顺序存储结构,在链式存储结构上是无法进行折半查找的。11、关键字比较的次数与记录的初始排列次序无关的是【】A、希尔排序B、冒泡排序C、插入排序D、选择排序标准答案:D知识点解析:暂无解析12、肖待排序的序列中数据关键字基本有序或元素个数较少时,则最好的排序方法是【】A、基数排序B、冒泡排序C、直接选择排序D、直接插入排序标准答案:D知识点解析:暂无解析13、结构设计属于软件开发中的哪个阶段【】A、软件定义阶段B、软件编码阶段C、软件设计阶段D、软件维护阶段标准答案:C知识点解析:软件设计阶段分为两个子阶段:总体设计和详细设计。总体设计过程和结构设计两个部分组成。14、下列是结构化语言的是【】A、FORTRANB、CC、BASICD、COBOL标准答案:B知识点解析:暂无解析15、在瀑布模型中,将软件开发的过程划分为若干个阶段,软件项目的可行性研究属于【】A、维护阶段B、计划阶段C、运行阶段D、开发阶段标准答案:B知识点解析:暂无解析二、填空题(本题共10题,每题1.0分,共10分。)16、表达式3*9%2+9%2*5的值为__________。FORMTEXT标准答案:6知识点解析:暂无解析17、执行下列语句后,变量x的值是__________。switch(x=1){case1:x=2;case2:x=3;}FORMTEXT标准答案:3知识点解析:暂无解析18、若定义了一个二维数组int[3][4];且该数组的起始地址为1000,则元素a[1][3]的地址为__________。(一个整型变量占2个字节)FORMTEXT标准答案:1014知识点解析:暂无解析19、执行下列程序段后,*(p+1)的值是__________。charc[3]=="ab",*p;p==c;FORMTEXT标准答案:b知识点解析:暂无解析20、为了使线性表能更好地做插入与删除操作,应采用__________存储结构为好。FORMTEXT标准答案:链式知识点解析:暂无解析21、栈满后再进行进栈运算,则发生__________。FORMTEXT标准答案:上溢知识点解析:暂无解析22、已知8个数据元素为34、76、45、18、26、54、92、65,按照依次插入节点的方法生成一棵二叉排序树,则该树的深度为__________。FORMTEXT标准答案:5知识点解析:暂无解析23、圈的__________是图运算的基础。FORMTEXT标准答案:遍历知识点解析:暂无解析24、假设待排序数据元素序列的关键字序列为1、2、2’、1’,采用冒泡排序方法按递增排序得到的结果为__________。FORMTEXT标准答案:1,1’,2,2’知识点解析:暂无解析25、__________是现实世界中个体或事物的抽象。FORMTEXT标准答案:对象知识点解析:暂无解析三、程序分析题(本题共4题,每题1.0分,共4分。)26、当运行下列程序时,从键盘输入AabD↙,请写出下面程序的运行结果。#includemain(){chars[80];inti=0:gets(s):while(s[i]!=’\0’){if(s[i]<=’Z’&&s[i]>=’a’)s[i]=’z’+’a’一s[i];i++:}puts(s):}标准答案:AzyD知识点解析:暂无解析27、写出下列程序的运行结果。#include#includetypedefstruct{charname[10];longhum;floatscore;}STU;main(){STUa={"liming",1001,86},b={"anjia",1002,95},c={"lili",1003,100},d,*p=&d;d=a:if(strcmp(a.name,b.name)>0)d=b;if(strcmp(c.name,b.name)>0)d=c;printf("s,%d\n",p—>name,d.num);}标准答案:lili,1003知识点解析:暂无解析28、下列程序的功能是将从键盘输入的一对数,按从小到大的顺序输出,当输入一对相等的数时结束循环。请填空完成程序。#includemain(){inta,b,t;scanf("%d%d",&a,&b);while(①){if(②){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}标准答案:①a!=b②a>b知识点解析:暂无解析29、下列函数的功能是求链表长度。请填空完成算法。structnode{charch;structnode*link;};str(structnode*p){int①;while(p!=NULL){②;count++;}return(count);}标准答案:①count=0②p=p一>next知识点解析:暂无解析四、程序设计题(本题共2题,每题1.0分,共2分。)30、编写C程序,其中fun函数的功能是求n以内(不包括n)同时能被3与7整除的所有整数之和的平方根;主函数的功能是输入n的值,调用fun函数,并输出结果。标准答案:#include#includeintfun(intn);main(){intinputNum;scanf("%d",&inputNum);printf("输入的数是%d\n计算结果为:%d\n",inputNum,fun(inputNum));}intfun(intn){intsum=0;for(inti=1;i知识点解析:暂无解析31、请编写函数,从传送过来的三个数中选出最大数和最小数,并通过形参传回调用函数。标准答案:#includefun(int*a,int*b,int*c){intmax,min;max=*a;min=*a;if(*b>*a)max=*b;if(*b<*a)min=*b:if(*c>max)max=*c:if(*c知识点解析:暂无解析全国自考(计算机软件基础)模拟试卷第3套一、单项选择题(本题共15题,每题1.0分,共15分。)1、下列不是C语言提供的合法关键字的是【】A、switchB、beginC、caseD、default标准答案:B知识点解析:暂无解析2、设ch是char型变量,其值为’A’,则下面表达式的值是【】ch=(ch>=’A’&8Lch<=’Z’)?(ch+32):chA、’A’B、’a’C、’Z’D、’Z’标准答案:B知识点解析:由于字符型变量ch的值为’A’,计算表达式(ch>=’A’&&ch<=’Z’)?(ch+32):ch,先计算其中的条件表达式,由于条件ch>=’A’&&h<=’Z’成立,该条件表达式以ch+32=97为结果。并将该值赋给变量ch,以字符表达这个值为’a’。3、下列C语言程序的输出结果是【】#includemain(){inta=13,m=0;switch(a%3){case0:m++;case1:m--;case2:m++;default:m++;}printf("%d\n",m);}A、—1B、0C、1D、2标准答案:C知识点解析:switch语句的特点是找到1个匹配的case语句,就顺次执行下去。13%3=1,执行case1:m--;语句,因没有退出语句,所以继续向下执行,当执行完default:m++;语句后m的值为1。4、有以下程序:#includemain(){intx=1,y=2,z=3;if(x>y)if(yA、331B、41C、2D、1标准答案:D知识点解析:在主函数中,第2个if语句只有在满足x>y这个条件后才被执行,因为else语句总是和最近的if语句配套,所以此程序在执行时,由于x5、若要求从键盘输入含有空格字符的字符串,应使用函数【】A、getc()B、gets()C、getchar()D、scanf()标准答案:B知识点解析:scanf函数中的空格和回车符是输入数据的分隔符,不能被输入;getc()和getchar()用于字符的输入;gets()用来从键盘输入字符串,字符串中可以包括空格符。6、下列程序的运行结果是【】#includeintx=1;intfun(inta){staticintb=1;b+=a+x;returnb;}main(){inti=2;for(i=0;i<2;i++)printf("%d",fun(i)):}A、22B、23C、24D、25标准答案:C知识点解析:由static声明的变量,其值在函数结束后仍保留上一次的值。分析程序:当i=0时,调用fun(0)函数,执行b+=a+x;后b=2。当i=1时,调用fun(1)函数,此时b保留上一次的值2,此时执行b+=a+x;后b=4。7、若有定义语句:intx=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是【】A、随机值B、0C、x的地址D、p的地址标准答案:B知识点解析:P为指向整型变量x的指针变量,*p和x是等价的,所以输出结果为0。8、设有下列定义语句,则下列说法中正确的是【】structabc{intx;chary;}structabcs1,s2;A、在编译时发生错误B、能顺利通过编译,但是连接时出错C、能顺利通过编译、连接,但不能执行D、能顺利编译、连接和执行标准答案:A知识点解析:structabc{intx;chary;}是错误的,应改为structabc(intx;chary;};9、下面程序的时间复杂度为【】for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x=x+1:A、O(1)B、O(n)C、O(n2)D、0(n3)标准答案:D知识点解析:暂无解析10、不带头节点的单链表head为空的判定条件是【】A、head==NULLB、head—>next==NULLC、head—>next==headD、head!=NULL标准答案:A知识点解析:不带头节点的单链表head,它指向第一个数据节点,如果它指向的节点为空,则表明单链表为空。11、若一个队列的入队序列是1、4、2、3,则该队列的出队序列是【】A、4、3、2、1B、1、2、3、4C、1、4、2、3D、3、2、4、1标准答案:C知识点解析:暂无解析12、判定一个循环队列Q(元素个数最多为m0)为空的条件是【】A、Q一>front=Q一>rearB、Q一>front!=Q一>rearC、Q一>front==(Q一>rear+1)%m0D、Q一>front!=(Q一>rear+1)%m0标准答案:A知识点解析:暂无解析13、深度为4的二叉树最多有多少个节点【】A、14B、15C、16D、17标准答案:B知识点解析:深度为k的二叉树最多有2k一1个节点。14、设待排序的序列中有n个元素,采用冒泡排序方法进行一趟排序所需交换元素的次数最多为【】A、nB、0C、n+1D、n一1标准答案:D知识点解析:对n个元素进行冒泡排序,每趋最多比较n一1次,假设每次都需要交换,最多可交换n一1次。15、以下叙述中正确的是【】A、可行性研究属于软件开发阶段B、概要设计属于软件定义阶段C、编码属于软件维护阶段D、详细设计属于软件开发阶段标准答案:D知识点解析:暂无解析二、填空题(本题共10题,每题1.0分,共10分。)16、以下程序段的输出结果是_________。#includemain(){inta=2,b=3,c=4;a*=16+(b++)一(++c);printf("%d\n",a);}FORMTEXT标准答案:28知识点解析:暂无解析17、已知inta=1,b=2;,表达式!(a+b)—a&&b+2*4的值是_________。FORMTEXT标准答案:1知识点解析:暂无解析18、字符串的结束标记字符是_________。FORMTEXT标准答案:’\0’知识点解析:暂无解析19、变量的作用域是指变量的有效范围,在作用域内可以引用该变量。按作用域变量可以分为全局变量和_________变量。FORMTEXT标准答案:局部知识点解析:暂无解析20、在定义语句中,指针变量名前必须有“_________”号。FORMTEXT标准答案:*知识点解析:暂无解析21、若经常进行的运算为查找运算,以_________存储为宜。FORMTEXT标准答案:顺序知识点解析:暂无解析22、若一棵二叉树的叶子节点数为n,则在该二叉树中,左、右子树皆非空的节点个数为_________。FORMTEXT标准答案:n一1知识点解析:暂无解析23、当无向图G的顶点的度数的最大值大于或等于顶点数的_________倍时,G至少有一条回路。FORMTEXT标准答案:2知识点解析:暂无解析24、具有24个元素的序列,采用冒泡排序最少需要比较_________次才能完成排序。FORMTEXT标准答案:23知识点解析:暂无解析25、软件定义阶段形成的_________是软件设计阶段的出发点。FORMTEXT标准答案:数据流图知识点解析:暂无解析三、程序分析题(本题共4题,每题1.0分,共4分。)26、写出下列程序的运行结果。#includemain(){inti=1,j=1;for(;j<20;i++)(if(j>10)break;if(j%2!=0){j+=3;continue;}j一=1;}printf("%d,%d\n",i,j);}标准答案:10,12知识点解析:暂无解析27、写出下列程序的运行结果。#includevoidfun(){staticinta=0;a+=2:printf("%d",a);}main(){intcc;for(cc=l;cc<4;cc++)fun();printf("\n");}标准答案:246知识点解析:暂无解析28、下列程序的功能是求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空完成程序。#include#defineM81intfun(char*ss,charc){inti=0;for(;①;ss++)if(*ss==c)i++:return②;}main(){chara[M],ch;printf("Pleaseenterastring:");gets(a);printf("Pleaseenterachar:");ch=getchar();printf("Thenumberofthecharis:%d\n",fun(a,ch));}标准答案:①*ss!=’\0’②i知识点解析:暂无解析29、下列fsum()函数的功能是求带头节点的单链表中各节点数据域中数值的和,填空完成程序。structnode{floatx;structnode*next;};f10atfsum(structnode*head){floats=0;structnode*q;①;while!=NULL){s=s+q一>x;②}}returns;}标准答案:①q=head一>next②q=q一>next知识点解析:暂无解析四、程序设计题(本题共2题,每题1.0分,共2分。)30、已知长度为n的线性表A采用顺序存储结构,并且数据元素按值的大小非递减排列,写一算法,删除该线性表中值相同的多余元素(该算法完成后,线性表中数据元素严格按值递增排列)。标准答案:voiddelete(La,intitern){inti,m;i=0;while(i知识点解析:暂无解析31、编写一个算法,将一个顺序栈中的元素依次取出,并打印元素值。标准答案:voidpopl(s){intx;while(s.top!=一1){x=s,data[top];printf("%d",x);s一>top--;}}知识点解析:暂无解析全国自考(计算机软件基础)模拟试卷第4套一、单项选择题(本题共15题,每题1.0分,共15分。)1、与所使用的计算机无关的是数据的【】结构。A、存储B、物理C、逻辑D、物理和逻辑标准答案:C知识点解析:数据的逻辑结构是从逻辑关系上描述数据,它与计算机存储无关,是独立于计算机的。2、数据的逻辑结构又分为【】A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构标准答案:C知识点解析:数据的逻辑结构是数据之间的外在联系,可以分为两类:线性结构和非线性结构。3、在以下叙述中,不正确的是【】A、数据的逻辑结构是数据元素之间的逻辑关系,是依赖于计算机语言的B、存储结构不仅涉及数据元素的机内表示,还包括数据之间关联方式的表示C、顺序存储方式使用的是一段连续的存储区D、算法的时间复杂度与算法中语句的频度有关标准答案:A知识点解析:数据的逻辑结构是数据之间的外在联系,它与计算机存储无关,是不依赖于计算机语言的。4、某算法的时间复杂度为O(n2),表明该算法的【】A、问题规模是n2B、执行时间等于n2C、执行时间与n2成正比D、问题规模与n2成正比标准答案:C知识点解析:暂无解析5、下列程序的功能是计算两个矩阵的乘积,其算法的时间复杂度是【】voidmul_matrix(intn,inta[][5],intb[][5],intc[][5]){inti,j,k,x;for(i=0;iA、O(n)B、O(log3n)C、O(n2)D、O(n3)标准答案:D知识点解析:暂无解析6、下面程序段的时间复杂度为【】for(inti=0;iA、O(m2)B、O(n)C、0(m*n)D、O(m+n)标准答案:C知识点解析:暂无解析7、已知指针p和q分别指向某单链表中第一个节点和最后一个节点。假设指针s指向另一个单链表中某个节点,则在s所指节点之后插入p所指向的链表应执行的操作是【】A、q一>next=s一>next;s一>next=p;B、s一>next=p;q一>next=s一>nextC、p一>next=s一>next;s一>next=q;D、s一>next=q;p一>next=s一>next;标准答案:A知识点解析:插入p所指向的链表时,应首先将单链表的最后一个节点q指向节点s的下一个节点,最后将s指向单链表的第一个节点p。8、在一个具有n个节点的有序单链表中插入一个新节点并使其仍然有序的时间复杂度为【】A、O(1)B、O(n)C、O(n2)D、O(log3n)标准答案:B知识点解析:在有序单链表中插入一个节点并使其保持有序,花费时间最多的是查找插入位置。对具有n个节点的单链表来说,查找位置的平均比较次数是(n+1)/2,故时间复杂度为O(n)。9、在一个单链表中,已知q所指节点是p所指节点的前趋节点,若在q和p之间插入s所指向的节点,则执行的操作是【】A、s—>next=p—>next;p—>next=s;B、q—>next=s;s—>next=p;C、p—>next=s;s—>next=q;D、p—>next=s—>next;s—>next=p;标准答案:B知识点解析:暂无解析10、设在一个单链表中指针p指向节点a,若要删除a之后的一个节点(若存在),则需执行的修改指针的操作为【】A、p一≥next=p一>next一>nextB、p=p一>nextC、p=p一>next一>nextD、next=p标准答案:A知识点解析:暂无解析11、带头节点的单链表heald为空的判定条件是【】A、head==NULLB、head—>next==NULLC、head—>next==headD、head!=NULL标准答案:B知识点解析:带头节点的单链表head,head指向单链表的头节点,头节点的指针域head一>next指向第一个数据节点,如果head一>next的值为空,则单链表为空。12、按照1、2、3、4、5的次序依次入栈时,出栈序列不可能是【】A、1、2、3、4、5B、2、3、4、5、1C、5、4、3、2、1D、5、4、1、2、3标准答案:D知识点解析:栈是按“先进后出”的原则组织数据的,所以选项D中若5先出栈,出栈的顺序只能是5、4、3、2、1,1是不可能在2、3的前面出栈的。13、在一个链队列中,假设f和r分别为队头和队尾指针,则插入指针s所指节点的运算是【】A、f—>next=s;f=s;B、r—>next=s;r=s;C、s—>next=r;r=s;D、s一>next=f;f=s;标准答案:B知识点解析:链队列的插入操作在队尾进行,若队列未满,只需要在链队列尾部增加新节点,并让队尾指针指向新节点即可。14、假定一个顺序队列的队头和队尾指针分别用front和rear表示,则判断队列为空的条件是【】A、front+1==rearB、rear+1==frontC、front==0D、front==rear标准答案:D知识点解析:暂无解析15、假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,top==一1表示栈空,并已知栈未满,当元素x进栈时所执行的操作为【】A、a[--top]==xB、a[top--]==xC、a[++top]==xD、a[top++]==x标准答案:C知识点解析:若栈未满,则进栈的步骤是:(1)栈顶指针上移1个节点。(2)将数据加入到top所指位置。二、填空题(本题共10题,每题1.0分,共10分。)16、在C语言中,表示换行的转义字符是_________。FORMTEXT标准答案:\n知识点解析:暂无解析17、执行for(j=k=0;j<10;k+=j++);语句后,变量k的值是_________。FORMTEXT标准答案:45知识点解析:暂无解析18、已知:charstr[15];str数组的最后一个元素是_________。FORMTEXT标准答案:str[14]知识点解析:暂无解析19、数据的逻辑结构又分为两类:线性结构和_________。FORMTEXT标准答案:非线性结构知识点解析:暂无解析20、n阶三对角阵压缩存储至少需要_________个存储空间。FORMTEXT标准答案:3n一2知识点解析:暂无解析21、在带有表头节点的单链表L中,若要删除第一个节点,则需执行的三条语句是:_________;L一>next=p—>next;free(p);。FORMTEXT标准答案:p=L一>next知识点解析:暂无解析22、对于一棵具有n个节点的树,该树中所有节点的度数之和为_________。FORMTEXT标准答案:n—1知识点解析:暂无解析23、拓扑排序是针对_________图的。FORMTEXT标准答案:有向无环知识点解析:暂无解析24、_________是按某种顺序将数据元素的无序序列调整成有序序列的过程。FORMTEXT标准答案:排序知识点解析:暂无解析25、黑盒测试法包括等价划分、_________以及错误推测法等。FORMTEXT标准答案:边界值分析知识点解析:暂无解析三、程序分析题(本题共4题,每题1.0分,共4分。)26、以下程序是用来统计从键盘输入的一个正整数的各位数字中零的个数,并求各位数字中的最大者。例如:1080的各位数字中零的个数是2,各位数字中的最大者是8。请将程序补充完整。#includemain(){unsignedlongnum,max,t;intcount;count=max=0;scanf("%old",&num);do{t=_________;if(t==0)++count;elseif(max标准答案:num%10知识点解析:暂无解析27、下列程序的功能是输出100以内能被3整除且个位数为6的所有整数,填空完成程序。#includemain(){inti,j;for(i=0;i<10;i++){j=i*10+6;if(________)continue;printf("%d\n",j);}}标准答案:j%3!=0知识点解析:暂无解析28、下列程序的运行结果是________。#includemain(){inti=1,j=1;for(;j<20;i++){if(j>10)break;if(j%2!=0){j+=3;continue.;}j一=1;}printf("%d,%d\n",i,j);}标准答案:10,12知识点解析:暂无解析29、以下程序的输出结果是________。#includemain(){intarr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=0;i<4;i++)k+=arr[i]+i;printf("%d\n",k);}标准答案:12知识点解析:暂无解析四、程序设计题(本题共2题,每题1.0分,共2分。)30、从键盘输入任意一个3位正整数(即在100~999之间的整数),求其各位上数字之和。如输入123,则结果应输出6(即1+2+3=6)。标准答案:#includemain(){intnum;intsum;scanf("%d",&num);sum=num/100+num/10%10+num%10;printf("您输入的数据是:%d,它各位上数字之和是:%d\n",hum,sum);}知识点解析:暂无解析31、假设二叉树采用二叉链存储结构,设计一个算法把二叉树b复制到二叉树t中。标准答案:voidCopy(BTNode*b,BTNode*&t){if(b==NULL)t=NULL;else{t=(BTNode*)malloc(sizeof(BTNode));t—>data=b一>data;Copy(b一>lchild,t一>lchild);Copy(b一>rchild,t一>rehild);}}知识点解析:暂无解析全国自考(计算机软件基础)模拟试卷第5套一、单项选择题(本题共15题,每题1.0分,共15分。)1、有以下程序:#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是【】A、2,3,3B、2,3,2C、2,3,1D、2,2,1标准答案:C知识点解析:z=x++是先把x的值赋给z,所以z=1,然后再把x加1赋x,所以x=2,y++后y=2,++y后y又加1,所以y=3。2、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是【】A、++x,y=x--B、x+1=yC、x=x+10=x+yD、double(x)/10标准答案:A知识点解析:暂无解析3、以下不能正确表示代数式的C语言表达式是【】A、2*a*b/c/dB、a*b/c/d*2C、a/c/d*b*2D、2*a*b/c*d标准答案:D知识点解析:C语言中*和/的优先级相同,且结合顺序是由左向右,由此判断选项D不能正确表示题目中的代数式。4、与语句if(a>b)if(b>c)x=1;elsex=2;不等价的是【】A、if(a>b){if(b>c)x=1;elsex=2;}B、if(a<=b);elseif(b>c)x=1;elsex=2;C、if((a>b)&&(b>c))x=1;elsex=2;D、if((a>b)&&(b>c))x=1;elseif((a>b)&&(b<=c))x=2;标准答案:C知识点解析:题干中给出的语句的功能可以归纳为:a>b成立且b>e成立时,x为1;a>b成立且b>c不成立时,x为2;a>b不成立时,x不变。按照这个功能检查给出的4个备选答案,只有C选项不符合要求。5、执行语句for(k=2;++k<4;k++)++k;后,变量k的值是【】A、2B、4C、5D、6标准答案:D知识点解析:第1次循环时,循环判断条件为“++k<4”,即“3<4”,条件成立,先执行循环体的“++k”,再执行“k++”,此时的k的值为5。第2次循环时,循环判断条件“6<4”不成立,退出循环,此时k的值为6。6、下列语句正确的是【】A、chars[5];s="abc";B、chars[5]="abcxyz";C、chars[]="12345";D、chars[5]={’1’,’2’,’3’,’4’,’5’,’\0’};标准答案:C知识点解析:C语言中没有存放字符串常量的变量,s="abc";赋值不正确,所以选项A错误;选项B和选项D中所赋值的个数多于数组元素的个数,是错误的。7、运行下列程序后的输出结果是【】#includeintf(intn){if(n==1)return(1);elsereturn(f(n一1)+1);}main(){inti,j=0;for(i=1;i<4;i++)j+=f(i);printf("%d\n",j);}A、1B、2C、3D、6标准答案:D知识点解析:暂无解析8、设已有定义语句:floatx;,则以下对指针变量P进行定义且赋初值的语句中正确的是【】A、float*p=1024;B、int*p=(float)x;C、floatp=&x;D、float*p=&x;标准答案:D知识点解析:指针指向的是变量的地址,不能是常量或变量的值,故选项A、B错误;选项C是把x的地址赋给变量p,故选项C错误。9、设有如下定义语句,则对data中的a成员的引用正确的是【】structsk{inta;floatb;}data,*p=&data;A、(*p).data.aB、(*p).aC、p—>data.aD、P.data.a标准答案:B知识点解析:结构变量data有两个成员a和b,结构指针变量p指向结构变量data。引用结构变量data的成员有两种方法:一是直接由变量data引用其自己的成员a,写成data.a;二是通过指针变量P引用它所指的结构变量的成员,这又有两种写法,分别是p一>a和(*p).a。10、在以下的数量级中,数量级最高的是【】A、O(n2)B、O(n)C、O(nlog2n)D、O(1)标准答案:A知识点解析:暂无解析11、下列有关线性表的叙述中,正确的是【】A、一个线性表是n个数据元素的有限序列B、线性表中任何一个元素有且仅有一个直接前趋C、线性表中任何一个元素有且仅有一个直接后继D、以上说法都不正确标准答案:A知识点解析:暂无解析12、一个栈的进栈数据元素序列为1、2、3、4、5,则不可能为该栈的出栈序列的是【】A、2、3、4、1、5B、1、5、4、3、2C、2、3、1、4、5D、5、4、1、3、2标准答案:D知识点解析:选项D中5为最先出栈的元素,则说明1、2、3、4都已经依次入栈,则出栈次序只能是4、3、2、1。1为栈底元素,只能最后出栈,不可能在3、2之前出来。13、在有n个叶子节点的哈夫曼树中,其节点总数为【】A、不确定B、2nC、2n+1D、2n—1标准答案:D知识点解析:哈夫曼树足二又树,因此二又树的性质适用于哈夫曼树。因为哈夫曼树中没有度为1的节点,所以度为2的节点的个数为n一1个,节点总数=n+(n一1)=2n—1。14、在顺序表{2,5,7,10,14,15,18,23,35,41,52)中采用折半查找法查找14需做【】次关键字比较。A、5B、4C、3D、2标准答案:B知识点解析:进行比较的关键字依次是:15、7、10、14。15、下列关于软件测试的目的的叙述中错误的是【】A、软件测试是为了发现错误而执行程序的过程B、一个好的测试用例是指可能找到迄今为止尚未发现的错误的用例C、一个成功的测试是发现了软件的新功能D、测试要以发现错误为中心,而不是演示正确的功能标准答案:C知识点解析:一个成功的测试是发现了至今尚未发现的错误的测试。二、填空题(本题共10题,每题1.0分,共10分。)16、数据结构研究的主要内容包括数据的逻辑结构、_________以及它们之间的相互运算。FORMTEXT标准答案:物理结构(存储结构)知识点解析:暂无解析17、我们把计算机加工的对象(原料)叫_________。FORMTEXT标准答案:数据知识点解析:暂无解析18、一个算法的_________是求解问题的算法所耗时间的程度。FORMTEXT标准答案:时间复杂度知识点解析:暂无解析19、下面的程序段的时间复杂度是_________。voidfun(intn){inti=1;while(i<=n)i=i*2:}FORMTEXT标准答案:O(log2n)知识点解析:暂无解析20、在双向链表中,每个节点包含两个指针域,一个指向前趋节点,另一个指向_________节点。FORMTEXT标准答案:后继知识点解析:暂无解析21、在线性表的顺序存储结构中,若一个节点的下标为i,则它的前趋节点的下标为_________。FORMTEXT标准答案:i一1知识点解析:暂无解析22、线性表的两种存储结构分别为_________和链式存储结构。FORMTEXT标准答案:顺序存储结构知识点解析:暂无解析23、在具有m个节点的循环队列中,队头指针为front,队尾指针为rear,判断循环队列满的条件是_________。FORMTEXT标准答案:front==(rear+1)%m知识点解析:暂无解析24、栈是一种_________的线性表。FORMTEXT标准答案:先进后出(后进先出)知识点解析:暂无解析25、数组的逻辑结构可看成是_________的推广。FORMTEXT标准答案:线性表知识点解析:暂无解析三、简答题(本题共4题,每题1.0分,共4分。)26、用盒图(N—S图)表示求s=i2+22+32+42+…+(n2—1)2+n2的算法,n的值由键盘输入,其中循环控制用while结构实现。标准答案:知识点解析:暂无解析27、已知一棵二叉树的先序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试写出这棵二叉树的形成过程。标准答案:当先序序列为ABECDFGHIJ,中序序列为EBCDAFHIGJ时,逐步形成二叉树的过程如下图所示:知识点解析:暂无解析28、下图表示一个城市的旅游景点图,顶点表示景点,边表示连接景点间的公路,边上的权表示连接景点间的公路的里程。选择能够沟通每个景点且总造价最省的n一1条公路,画出所有可能的方案。标准答案:知识点解析:暂无解析29、已知序列(46,93,35,22,85,26,70,45),请写出对该序列采用直接插入排序方法进行升序排序的各趟结果。标准答案:①6,93,35,22,85,26,70,45②35,46,93,22,85,26,70,45③22,35,46,93,85,26,70,45④22,35,46,85,93,26,70,45⑤22,26,35,46,85,93,70,45⑥22,26,35,46,70,85,93,45⑦22,26,35,45,46,70,85,93知识点解析:暂无解析四、程序分析题(本题共4题,每题1.0分,共4分。)30、函数fun的功能是使字符串str按逆序存放,填空完成程序。fun(charstr[]){charm;inti,j;for(i=0,j=str1en(str);i<①;i++,j--){m=strEi];str[i]=②;str[j一1]=m;}printf("%s\n",str);}标准答案:①j②str[j-1]知识点解析:暂无解析31、下列程序的功能是:fun函数计算数组前n+1项的积,主函数调用fun函数,计算并输出前4项元素的积。请将程序补充完整。#include>stdio.h>intn,b[];intfun(intb[],intn){inti,r=1;for(i=0;①;i++)r=r*b[i]:returnr;}main(){intx,a[]={1,2,3,4,5,6,7,8};②;printf("%d\n",x);}标准答案:①i<=n②x=fun(a,3)知识点解析:暂无解析32、以下fun函数的功能是:累加数组中各元素的值。n为数组中元素的个数,累加的和值放入x所指的存储单元中。fun(intb[],intn,int*x){intk,r=0;for(k=0;k标准答案:①r+b[k]②*x知识点解析:暂无解析33、下面程序的执行结果是_______。#includestructstru{intx;charch;};main(){structstrua={10,’x’};printf("%d,%c\n",a.x,a.ch);}标准答案:10,x知识点解析:暂无解析五、程序设计题(本题共2题,每题1.0分,共2分。)34、从键盘输入若于个字符,分别统计其中字母、空格、数字字符和其他字符的个数。标准答案:#includemain(){charc;intletters=0,space=0,digit=0,others=0;printf("pleaseinputsomecharactets\n");while((c=getchar())!=’n’){if(c>=’a’&&c<=’z’||c>=’A’&&<=’Z’)letters++;elseif(c==’’)space++;elseif(c>=’0’&&c<=’9’)digit++;elseothers++;}printf("allinall=char=%dspace=%ddigit=%dothers=%d\n",letters,space,digit,others);}31.知识点解析:暂无解析35、从键盘输入字符串a和字符串b,实现在字符串a中的最小元素后面插入字符串b。标准答案:#include#includevoidmain(){chara[50],b[20];inti=0,min=0,lena,lenb;printf("pleaseinputstringa:");gets(a);printf("pleaseinputstringb:");gets(b);while(a[i]!一!\0’){if(a[i]min;i--)a[i+lenb]=a[i].for(i=0;i知识点解析:暂无解析全国自考(计算机软件基础)模拟试卷第6套一、单项选择题(本题共15题,每题1.0分,共15分。)1、已知intb=4;,执行语句b+=b++;后,b的值是【】A、8B、9C、10D、11标准答案:B知识点解析:b+=b++等价于b=b+(b++),b++表示在使用b的值之后,b的值再加1,所以b=b+(b++)=5+4=9。2、下列数据中,不合法的C语言实型数据是【】A、0.123B、123E3C、2.1E3.5D、789.0标准答案:C知识点解析:暂无解析3、按照C语言规定的用户标识符命令规则,不能出现在变量名中的是【】A、大写字母B、连接符C、数字D、下划线标准答案:B知识点解析:在C语言中,变量名只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。4、对于输入语句scanf("%d,%d",&a,&b);,要使变量a、b的值分别为1和2,则正确的输入是【】A、1,2回车B、12回车C、1回车2回车D、1;2回车标准答案:A知识点解析:按照scanf函数的语法要求,格式控制字符串中的非格式控制符必须原样输入。显然本题中的非格式控制符是“逗号”,只有选项A中有“逗号”。5、有以下程序段:inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的输出结果是【】A、a=10b=50c=10B、a=10b=50c=30C、a=10b=30c=10D、a=50b=30c=50标准答案:A知识点解析:在if(表达式)后面如果有多条语句,需要用花括号括起来,若没有括起来,则第一个分号后的语句便不是if语句。此题中的条件为a>b,即10>50,显然条件不成立,所以程序将跳过if语句,执行if语句的后续语句,将变量a的值10赋给变量c,接着执行后面的输出语句,所以最后的答案为选项A。6、已知charsr[20];inti;,从键盘向数组sr输入一个字符串的正确语句是【】A、gets(sr);B、gets(sr[20]);C、for(i=0;i<20;i++)scanf(sr);D、for(i=0;i<20;i++)gets(&sr)标准答案:A知识点解析:gets(sr)的功能是从键盘输入一个字符串到字符数组sr,sr为字符数组名。7、运行下列程序后的输出结果是【】#includcinta=3,b=4;voidfun(intx1,intx2){printf("%d,%d\n",x1+x2,b);}main(){inta=5,b=6;fun(a,b);}A、7,4B、11,4C、7,6D、11,6标准答案:B知识点解析:C语言规定当全局变量和局部变量重名时,局部变量优先。第2条语句中的a、b是全局变量,其值分别为3、4;主函数中的a、b是局部变量,其值为5、6。调用函数后,形参x1和x2的值为5、6,输出时的变量b是全局变量,值为4。8、设有两条语句inta,*p=&a;和*p=a;,则下列说法中正确的是【】A、两条语句中的“*p”的含义完全相同B、第2条语句中的“*p=a”是将a的值赋予变量PC、两条语句中的“*p=&a”和“*p=a”的功能完全相同D、第1条语句中的“*p=&a”是定义指针变量p并对其进行初始化标准答案:D知识点解析:题目中的第1条语句定义整型变量a和指向a的指针变量p;第2条语句中的“*p”就是变量a,即将a的值赋予*p。因此,选项A、B、C均是错误的。9、以下结构类型和结构变量定义语句中正确的是【】A、typedefstruct{intn;charc;}REC;RECt1,t2;B、structREC;{intn;charc;};RECt1,t2;C、typedefstructREC;{intn=0;charc=’A’;}t1,t2;D、struct{intn;charc;}REC标准答案:A知识点解析:选项A中用typedlef定义结构类型RFC,用新类型名RFC定义变量,是正确的。选项B中structREC后不应该加分号,并且只有struct和REC在一起才能定义变量。选项C中typeclefstructREC后不应该加分号,并且结构类型的成员不应该初始化。选项D中REC后面应该加分号。10、数据结构课程主要讨论算法的【】A、空间性和时间性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性标准答案:A知识点解析:数据结构课程主要讨论算法的时间性和空间性,称作时间复杂度和空间复杂度,以此作为评价算法的两大性能指标。11、下列有关线性表的叙述中,正确的是【】A、同一个线性表中的数据节点具有相同的属性B、线性表中任何一个元素有且仅有一个直接前趋C、线性表中任何一个元素有且仅有一个直接后继D、线性表是一种复杂的、不常用的数据结构标准答案:A知识点解析:暂无解析12、当栈中的元素为n个,做进栈运算时发生上溢,则说明该栈的最大容量是【】A、n/2B、nC、n+1D、n—1标准答案:B知识点解析:栈是限定在表的一端进行插入和删除的线性表;当栈满时再做进栈运算必定产生空间溢出,简称“上溢”,所以如果栈中的元素为n个,做进栈运算时发生上溢,说明栈已满,则该栈的最大容量为n。13、将一棵有100个节点的完全二叉树从根这一层开始,每一层从左到右依次对节点进行编号,根节点的编号是1,则编号为49的节点的左孩子的编号为【】A、98B、99C、50D、48标准答案:A知识点解析:暂无解析14、如果在排序过程中不改变关键字相同的元素的相对位置,则认为该排序方法是【】A、不稳定的B、稳定的C、基于交换的D、基于选择的标准答案:B知识点解析:如果待排序的元素中存在有多个关键字相同的元素,经过排序后这些具有相同关键字的元素之间的相对次序保持不变,则称这种排序方法是稳定的;反之,若具有相同关键字的元素之间的相对次序发生了变化,则称这种排序方法是不稳定的。15、需求分析常用的工具是【】A、PADB、PFDC、N—SD、DFD标准答案:D知识点解析:暂无解析二、填空题(本题共10题,每题1.0分,共10分。)16、树形结构中节点a有3个兄弟,b是a的双亲,则b的度为________。FORMTEXT标准答案:4知识点解析:暂无解析17、已知完全二叉树的第8层有8个节点,则其叶子节点的个数为________。FORMTEXT标准答案:68知识点解析:暂无解析18、已知二叉树的先序序列为ABDCEFG,中序序列为DBCAFEG,则后序序列为________。FORMTEXT标准答案:DCBFGEA知识点解析:暂无解析19、先序序列为xyz且后序序列为zyx的二叉树共有________棵。FORMTEXT标准答案:4知识点解析:暂无解析20、在有向图中,以顶点V为终点的边的数目称为V的________。FORMTEXT标准答案:入度知识点解析:暂无解析21、一个图的________是这个图最小的连通子图。FORMTEXT标准答案:生成树知识点解析:暂无解析22、在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于________。FORMTEXT标准答案:1知识点解析:暂无解析23、有一个长度为20的有序表采用折半查找方法进行查找,共有________个元素的查找长度为3。FORMTEXT标准答案:4知识点解析:暂无解析24、软件生存周期可分为________、软件开发和软件维护三个阶段。FORMTEXT标准答案:软件定义知识点解析:暂无解析25、________就是抽出事务的本质特性而暂时不考虑它们的物理特性。FORMTEXT标准答案:抽象知识点解析:暂无解析三、简答题(本题共4题,每题1.0分,共4分。)26、分别画出用while型循环求sum=1+3+5+…+999的程序流程图和N—S图。标准答案:知识点解析:暂无解析27、假设通信的电文仅由8个字母组成,字母在电文中出现的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10请构造哈夫曼树(权值小的为左子树,权值大的为右子树),并根据哈夫曼编码树为这8个字母设计哈夫曼编码。标准答案:哈夫曼树如下:哈夫曼编码为:I1=00000I2=00001I3=0001I4=0010I5=0011I6=01I7=10I8=11知识点解析:暂无解析28、写出下列AOV网的所有拓扑序列。标准答案:①②③④⑤⑦⑥①②③④⑦⑤⑥①②④③⑦⑤⑥①②④③⑤⑦⑥①②④⑤③⑦⑥知识点解析:暂无解析29、已知一数值序列为{33,61,12,75,8,54,41},请分别写出按升序进行排序时,直接选择排序、直接插入排序第一趟结束后的数值序列。标准答案:直接选择排序:8,61,12,75,33,54,41直接插入排序:33,61,12,75.8,54,41知识点解析:暂无解析四、程序分析题(本题共4题,每题1.0分,共4分。)30、下列算法用于判断带头节点的循环双链表A是否对称相等,请在算法中的横线处填上正确的语句。intdlink_symmetry(dlklists){j=1;p=s一>next;q=s—>prior;while(p!=q&&①)if(p一>data==q—>data){②;q=q一>prior;}elsej=0;return(j);}标准答案:①j②p=p一>next知识点解析:暂无解析31、下面算法的功能是_________。LinkListListListDemo(ListList&L)//L是不带头节点的单链表{Inode*q,*p;if(L&&L—>next){q=L;L=L一>next;p=L:while(p—>next)p=p一>next;p一>next=q;p一>next=NULL;}returnL:标准答案:删除单链表的第1个节点知识点解析:暂无解析32、下列算法的时间复杂度是_________。s=0:for(i=0;i标准答案:O(n2)知识点解析:暂无解析33、下列函数的功能是求链表长度,填空完成程序。structnode{charch;structnode*link;};str(structnode*p){int①;while(p!=NULL){②;count++:}return(count);}标准答案:①count=0②p=p一>next知识点解析:暂无解析五、程序设计题(本题共2题,每题1.0分,共2分。)34、求an=a+aa+aaa+…的值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n的值由键盘输入。标准答案:#ineludemain(){inta,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn:a=a*10:++i:}printf("a+aa+aaa+…=%d\n

温馨提示

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

最新文档

评论

0/150

提交评论