版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年甘肃省白银市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.采用开放定址法处理散列表的冲突时,其平均查找长度()
A.高于二分查找B.高于链接法处理冲突C.低于二分查找D.低于链接法处理冲突
2.
3.具有n个顶点的完全有向图的弧数为()。
A.n(n-1)/2B.n(n-1)C.n2D.n2-1
4.有以下程序:#includedstdi0.h>#definef(x)X*x*xmain(){inta=3,S,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",S,t);}程序运行后的输出结果是()。A.10,64B.10,10C.64,10D.64,64
5.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出的结果是A.11122B.12C.12020D.120
6.设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡子串(非空且不同于S本身)的个数为()。
A.2n-1B.n2C.(n2/2)+(n/2)D.(n2/2)+(n/2)-1
7.下列变量声明合法的是()。
A.shorta=1.4e-1;
B.doubleb=1+3e2.8;
C.longdo=OxfdaL;
D.float2
8.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序运行后的输出结果是()A.xyzB.wxyzC.xzyD.zvx
9.设整型数i=5,则printf("%d",i+++++i);的输出为______。
A.10B.11C.12D.语法错误
10.设二叉排序树中有n个结点,则二叉排序树的平均查找长度为()。A.O(1)
B.O(log2n)
C.O(n)
D.(n2)
11.下列描述中不正确的是()。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12.下面函数的功能是()intfunl(char*X){char*y=X;whar(*y++);return(y-x-1);}
A.求字符串的长度B.比较两个字符串的大小C.将字符串x复制到字符串y中D.将字符串x连接到字符串y后面
13.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是A.A.1267B.1256C.1278D.1245
14.有以下程序main(){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
15.
16.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
17.下列关于线性链表的叙述中,正确的是()A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行出入与删除时,不需要移动表中的元素
D.以上三种说法都不催
18.以下叙述中错误的是()。
A.将函数内的局部变量说明为static存储类是为了限制其他编译单位的引用
B.—个变量作用域的开始位置完全取决于变量定义语句的位置
C.全局变量可以在函数以外的任何部位进行定义
D.局部变量的“生存期”只限于本次函数调用,因此不能将局部变量的运算结果保存至下一次调用
19.在排序方法中,元素比较次数与元素的初始排列无关的是()
A.Shell排序B.归并排序C.直接插入排序D.选择排序
20.对包含N个元素的散列表进行检索,平均检索长度________
A.为o(log2N)B.为o(N)C.不直接依赖于ND.上述三者都不是
二、2.填空题(20题)21.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。
22.下列程序的运行结果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
23.下面程序的功能是求整数m、n的最大公约数,请填空。
main()
{intm,n,r;
scanf("%d,%d",m,n);
if(【】){r=m;m=n;n=r;}
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
24.下列程序的运行结果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
25.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【】。
26.有以下程序,若运行时从键盘输入:18,11<回车>,则程序的输出结果是【】。
main()
{inta,b;
printf("Entera,b:");scanf("%d,%d",&a,&b);
while(a!=b)
{while(a>b)a-=b;
while(b>a)b-=a;
}
printf("%3d%3d\n",a,b);
}
27.软件测试中路径覆盖测试是整个测试的基础,它是对软件【】进行测试。
28.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【】。
29.执行以下程序后的输出结果是【】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
30.对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
31.黑盒测试是从【】观点的测试。
32.以下程序运行后的输出结果是【】。
#include<stdio.h>
main()
{inta[4][4]={{1,2,3,4},{5'6'7'8},{11'12'13'14},{15'16'17'18}};
inti=0,j=0,s=0;
while(i++<4)
if(i==2[[i==4)continue;
j=0;
do{s+=a[i][j];j++;}while(j<4);
}
pdnff("%d'\n",s);
}
33.数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。
34.在使用putchar和getchar函数处理字符时,必须在程序的开头出现包含头文件的命令行是【】。
35.设有如下程序段:
inti=0,sum=1;
do
{sum+=i++;}
while(i<6);
printf("%d\n",sum);
上述程序段的输出结果是【】。
36.在面向对象方法中,类之间共享属性和操作的机制称为______。
37.函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。
voiddelete(chars[],inti,intn)
{intj,k,length=0;
while(s[length])
【】;
-i;
j=i;
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]\'\0';
}
38.分析下列程序:
main()
{intx=1,y=0,a=0,b=0;
switch(a)
{case1:switch(b)
{case0:x++;
case1:y++;break;
}
case2:x++;y++;break;
}
printf("x=%d,y=%d\n",x,y);
}
运行程序的输出结果是______。
39.下列软件系统结构图的宽度为[]。
40.设一棵完全二叉树共有700个结点,则在该二叉树中有【】个叶子结点。
三、1.选择题(20题)41.下列程序段的输出结果为()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.languageB.lnugC.有语法错误D.lang
42.下列程序的输出结果是()。#include<stdio.h>main(){inta=O,i;for(i=1;i<5;i++){swich(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}}printf("%d",a);}
A.19B.18C.6D.8
43.设计程序时,应采纳的原则之一是()。
A.程序的结构应有助于读者的理解B.限制goto语句的使用C.减少或取消注释行D.程序越短越好
44.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为()。
A.221B.219C.231D.229
45.有以下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=O)continue;k--;}printf("%d,%d\n",k,n);}程序运行后的输出结果是()。
A.1,1B.2,2C.3,3D.4,4
46.下列数据结构中,能用二分法进行查找的是()。
A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表
47.关系数据库的概念模型是______的集合。
A.关系模型B.关系模式C.关系子模式D.存储模式
48.下面关于完全二叉树的叙述中,错误的是______。
A.除了最后—层外,每—层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树—般不是满二叉树
D.具有结点的完全二叉树的深度为[log2n]+1
49.下列能正确定义字符串的语句是()。
A.charstr[]={'\64'};
B.charstr="kx43";
C.charstr=";
D.charstr[]="\0";
50.若有下列说明和语句,已知int型数据占2个字节,则下列语句的输出结果是()。structst{chara[15];intb;doublec;};printf("%d",sizcof(structst));
A.15B.8C.25D.2
51.以下程序#include<stdio.h>#include<string.h>main(){char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%ss\n",str);}的输出是______。
A.xyzabcABCB.zabcABCC.yzbcABCD.xyabcABC
52.有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei--;}i+=13,a+=i;}pfintf("%d\n",A);}程序的输出结果是()。
A.62B.63C.23D.36
53.若执行下列程序时从键盘上输入2,则输出结果是()。#include<stdio.h>main(){inta;scanf("%d",&a);if(a++<3)printf("%d\n",a);elseprintf("%d\n",va--);}
A.1B.3C.2D.4
54.有以下程序
intadd(inta,intb){return(a+b);}
main()
{intk,(*f)(),a=5,b=10;
f=add;
…
}
则以下函数调用语句错误的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);
55.如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是()
A.文件4应出现在文件3之前,文件3应出现在文件2之前
B.文件2应出现在文件3之前,文件3应出现在文件4之前
C.文件3应出现在文件2之前,文件2应出现在文件4之前
D.出现的先后顺序可以任意
56.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(),
A.均占4个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定
57.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
58.以下选项中,能用作数据常量的是()。
A.18B.11C.0.800.5D.25L
59.数据库技术的根本目标是要解决数据的()。
A.存储问题B.共享问题C.安全问题D.保护问题
60.有以下程序:#include<stdio.h>#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i>:n;i--)a[i+1]=a[i];}main(){inti,a[N.]=11,2.3,4,5,6,7,8,9,10[;fun(a,2,9)for(i=0;i<5;i++)printf("%d",a[i]);程序运行后的输出结果是()。
A.10234B.12344C.12334D.12234
四、选择题(20题)61.
下列程序的运行结果是()。
#include<stdio.h>
voidmain
{ints=0,k;
for(k=7;k>1;k--)
{switch(k)
{case1:
case4:
case7:
s++:
break;
case2:
case3:
case6:break;
case0:
case5:
s+=2:
break;
}}
printf("s=%d",s);
}
A.s=3B.s=4C.s=5D.无输出结果
62.
63.设有定义:“char*c;”,以下选项中能够使字符型指针c正确指向一个字符串的()。
A.charstr[]="string";c=str;
B.scanf(%s,c):
C.c=getchar();
D.*c="strin9";
64.设有如下定义:int(*ptr);则以下叙述中正确的是()。
A.ptr是指向一维组数的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指int型数据的指针
65.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
66.
67.若有定义:“inta[2][3];”,则对a数组的第i行第j列元素的正确引用为()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
68.以下不能正确定义二维数组的选项是()。
A.
B.
C.
D.
69.有以下程序:
#include<stdio.h>
main()
{char*s="[2]34";intk=0,a=0;
whil(s[k+1]!=\0)
{k++;
if(k%2=o){a=a+(s[k]-0+1);continue;}
a=a+(s[k]-0);
printf("k=%da=%d\n",k,a);
}
程序运行后的输出结果是()。
A.k=6a=11B.k=3a=14C.k=4a=12D.k=5a=15
70.
71.下列哪个不属于DOM元素结点类型?
A.元素结点B.文本结点C.属性结点D.样式结点
72.有以下计算公式:
若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是
([answer]
73.设有定义:charp[]={1,2,3),*q=p;,以下不能计算出一个char型数据所占字节数的表达式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
74.
75.
76.
77.表达式:(im)((double)9/2)一9%2的值是()。
A.0B.3C.4D.5
78.
79.
80.
五、程序改错题(1题)81.已知一个数列从0项开始的前3项为0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc()的功能是:计算并输出该数列前n项的和sum。n的值通过形参传人。例如,当n-20时,程序的输出结果应为42762.000000。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.请编写函数proc(),该函数的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如,有6门课程的成绩是90.5,72,80,61.5,55,60,则函数的值为69.83。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.B
2.B
3.B
4.A本题考查带参数的宏定义。第一次函数调用求S的值,x=a+1,所以X*X*X应写成a+1*a+1*a+1,没有括号优先级,结果为l0,第二次函数调用x*X*X可写成(a+1)*(a+1)*(a+1),所以结果为43=64。
5.A解析:当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。
6.D
7.A解析:解答本题需了解3个知识点:①标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线;②do是C语言中的一个关键字,不能再用做变量名和函数名;③C语言规定,指数形式的实型常量e或E后面的指数必须是整数。
8.A本题考查简单的递归函数,当c>X则会产生递归,依次类推,答案选择A.
9.D解析:C语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(++、-),在C语言解析表达式时,它总是进行贪婪咀嚼,这佯,该表达式就被解析为i+++++i,显然该表达式不合C语言语法。
10.B
11.C
12.A
13.D解析:putchar(c1)输出1,putchar(c2)输出2,printf(“%c%c\\n”,c5,c6)输出45。
14.C解析:x++:表示在使用x之后,使x的值加1;y++:表示在使用y之后,使y的值加1;++y:表示在使用y之前,使\u3000y的值加1。此题中执行z=x++,是将x的值先赋给z,所以z=1,接下来x自行加1,其结果为2:执行y++后,y=2,执行++后,y=3;故答案选C。
15.D
16.D解析:文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。注意:文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。
17.C
试题2分析
结点的存储顺序和逻辑顺序不一定一致,存储空间也不一定连续。插入和删除元素的时候,不需要移动表中的元素。
试题2答案
C
18.A将函数内的局部变量说明为static存储类,第1次调用该函数时才对其初始化,后续调用时使用上一次调用结束后的值;函数体内的局部变量无论是否声明为stat\x1fic,外部编译单位都不能引用,选项A错误,其他选项正确。本题答案为A选项。
19.D
20.C
21.参照完整性参照完整性
22.5555解析:分析程序执行过程,第一次循环时,i=3,i=5,因为switch(3),所以执行case3,调用P(a[--i])=P(a[4])=P(5),输出5:第二次循环时,j=2,i=4,因为switch(2),所以执行case2,调用P(a[i++]):P(a[4])=P(5),输出5,之后i自加等于5。
23.m<nn!=0
24.2525解析:本题考查带参数的宏的定义及相关运算。运算过程为:t=POW(x+y)=(2+3)*(2+3)=25。
25.物理独立性物理独立性解析:数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为物理独立性。
26.1111解析:首先,程序通过scanf()函数将18和11分别读入到变量a和b中。然后,因为a!=b为真,进入外层while循环。此时a>b为真,执行a-=b;,a的值变为18-11=7:接下来b>a也为真,执行b-=a;,b的值变为11-7=4。此时a!=b还是为真,第2次进入外层循环。a>b为真,执行a-=b;,a的值变为7-4=3。b>a为真,执行b-=a;,b的值变为4-3=1接下来a!=b为真第3次进入外层循环。a>b为真,执行a-=b,a的值变为3-1=2。b>a为假,不执行b-=a;;然后第4次进入外层循环,a>b为真,执行a-=b,a的值变为2-1=1。b>a为假,不执行b-=a;此时a和b均为1了,a!=b条件为假,外层循环结束。故本题输出的结果是11。
27.结构结构解析:路径测试是白盒测试方法中的—种,它要求对程序中的每条路径最少检查一次,目的是对软件的结构进行测试。
28.一对多一对多解析:由于一个项目主管可以管理多个项目,而一个项目只能有一个项目主管,“项目主管”这个实体与“项目”这个实体的管理关系属于一对多。
29.a=14a=14解析:逗号表达式的值是以逗号分隔的最后一个表达式的值。所以题目中的语句a=(3*5,a+4);就等价于a=a+4;。故本题输出结果是a=14。
30.n/2n/2解析:删除一个元素,平均移动的元素个数为(n-1+n-2+…+0)/n=(n-1)/2;插入一个元素,平均移动元素个数为(n+n-1+n-2+…+1)/n=(n+1)/2;所以总体平均移动元素个数为n/2。
31.用户用户解析:黑盒测试又称为功能测试,黑盒测试是把程序看作一个黑盒子,完全不考虑程序内部的结构和处理过程。测试者只考虑该程序输入和输出的关系,或只考虑程序的功能。黑盒测试是一种从用户观点出发的测试。
32.9292解析:本题考查循环的嵌套。
①当i=0时执行while语句,i++<4成立,这时i=1,不执行continue语句,继续执行j=0;然后执行do-while语句,共循环4次:
a)j=0时,s=0+a[1][0]=5,j=j+1=1。
b)j=1时,s=5+a[1][1]=5+6=11,j=j+1=2。
c)j=2时,s=11+a[1][2]=11+7=18,j=j+1=3。
d)j=3时,s=18+a[1][3]=18+8=26,j=j+1=4。终止循环。
②当i=1时执行while语句,i++<4成立,这时i=2,执行continue语句,结束本次循环。
③当i=2时执行while语句,i++<4成立,这时i=3,不执行continue语句,继续执行j=0;然后执行do-while语句,共循环4次:
a)s=26+a[3][0]=26+15=41,j+1=1。
b)s=41+a[3][1]=41+16=57,j+1=2。
c)s=57+a[3][2]=57+17=74,j+1=3。
d)s=74+a[3][3]=74+18=92,j+1=4。终止循环。
④i=3时,执行while语句,i++<4成立,这时i=4,执行continue语句,结束本次循环。
⑤当i=4时,执行while语句,i++<4不成立,结束while循环。输出s的结果92。
33.关系模型关系模型解析:数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。
34.#include"stdio.h"#include'stdio.h'解析:使用putchar和getchar函数时,必须在程序的开头出现包含头文件#include'stdio.h'的命令行。putchar的函数调用形式为:putchar(字符变量或字符常量);getchar函数的调用形式为:变量=getchar();getchar后的一对圆括号内没有参数,但这一对圆括号不可少。
35.16
36.继承继承
37.length++i<lengthlength++\r\ni<length解析:第一个循环极有可能是计算串的长度,在i<=length时字符才被删除,被删除的是第i个到第i+n或最后一个间的所有字符。删除前,应判断i<=length。由于已经进行了-i运算,故实际应填入i<length。
38.x=1y=0。x=1,y=0。解析:本题程序的主体部分是switch语句的嵌套结构,当变量a的值为0时,在第一层switch-case语句中,没有匹配的case分支。因此,x和y的值没有变化,仍然是1和0。
39.33解析:软件系统结构图的宽度:整体控制跨度(最大模块数的层)的表示。
40.350350解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。在根据完全二叉树的定义,在一棵完全二叉树中,最多有1个度为1的结点。因此,设一棵完全二叉树具有n个结点,若n为偶数,则在该二叉树中有n/2个叶子结点以及n/2-1个度为2的结点,还有1个是度为1的结点:若n为奇数,则在该二叉树中有[n/2]+1个叶子结点以及[n/2]个度为2的结点,没有度为1的结点。本题中,完全二叉树共有700个结点,700是偶数,所以,在该二叉树中有350个叶子结点以及349个度为2的结点,还有1个是度为1的结点。所以,本题的正确答案为350。
41.B解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。
第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。
42.A解析:本题考查switch语句。当i=1时,执行case1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case2,因为没有遇到break语句,所以依次柱下运行,a=a+2=7,a=a+3=10:当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。
43.AA。【解析】程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用goto语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解.不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。
44.B解析:二叉树有一个性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个,由于本题中的二叉树有70个叶子结点,因此有69个度为2的结点。
该二叉树中总的结点数为
度为2的结点数+度为1的结点数+叶子结点数=69+80+70=219
45.C解析:在本程序的for循环中,用到了一个continue语句,continue语句的作用是停止本次循环,不执行循环体内continue语句后面的其他语句,继续下次循环的条件判断。首先在for循环中n自加1(值变为1),然后执行后面的if语句,由于if语句后面括号的表达式1%3!=0的值为真,程序执行continue语句,回到for循环的开始部分,并且判断for循环中的条件表达式(n<k)为真,重复执行“n++;”语句,如此循环直到n=3时,if语句判定条件中表达式3%3!=0的值为假,程序执行if语句后面的“k--;”语句,此时k的值为3,不满足n<k,退出for循环。故最后的k和n的值为3和3,选项C符合题意。
46.A\nA。【解析】二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。
\n
47.B解析:本题考核关系数据库的概念模型。数据库的概念模型体现了数据之间的关系,它是各种数据之间相互关系的集合。关系数据库的概念模型是关系模式的集合。关系子模式是指关系数据库模式中用户所见到的那部分数据模式描述。
48.B解析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后—层上只缺少右边的若干子结点(叶子结点)的二叉树。
49.D解析:字符串常量是用一对双括号括起来的一串字符。它用字符数组来存放,不能用一对大括号对括起来。
50.C解析:本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。题中intb占2个字节,chara[15]占15个字节,doublec占8个字节,所以共25个字节。
51.D解析:strcat(p1,p2)将字符串abcABC放到了*p1所指向的存储单元中;strcpy在本题将abcABC复制到str+2所指向的存储单元中,即覆盖原str数组中的字符z及其后的所有字符,故str的值为“xyabcABC”。
52.D
53.B解析:本题考查ifelse语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。
54.C答案C
解析:在语句“k=*f(a,b)”中,由于“()”的优先级高于“*”,所以“*f(a,b);”表示其返回类型为指针的带有两个整型参数的函数。
55.A
56.D解析:在C语言的标准中,short占2个字节、long占4个字节,但int的大小和编译系统相关。例如在Turbo\u3000C\u30002.0中,int占2个字节,但在VisualC++6.0(VC6可以用做C语言编译器)中占4个字节。故本题应该选择D。
57.D各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序n(n-1)/2、快速排序n(n-1)/2、简单插入排序n(n-1)/2、希尔排序0(n1.5)、简单选择排序n(n-1)/2、堆排序O(nlog2n)
58.D
59.B解析:数据库产生的背景就是计算机的应用范围越来越广泛,数据量急剧增加,对数据共享的要求越来越高。共享的含义是多个用户、多种语言、多个应用程序相互覆盖的使用一些公用的数据集合。在这样的背景下,为了满足多用户、多应用共,享数据的要求,就出现了数据库技术,以便对数据库进行管理。因此,数据库技术的根本目标就是解决数据的共享问题。故选项B正确。
60.C解析:本题函数fun的作用是将指定的数组元素(下标从n~m)向后移一位。调用函数fun(a,2,9)将a[2]到a[9]的各元素依次向后移一位,最后a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,程序输出数组的前5个元素:12334。
61.B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025~2026学年山东省济南市天桥区七年级英语第一学期期末考试试题(含答案无听力原文及音频)
- 五年级下册语文期末试卷及答案
- 无领导小组题目及答案
- 初中数学知识树说课课件
- 2022~2023临床执业医师考试题库及答案第465期
- 微型小说三题微型小说《在》
- 2022~2023专升本考试题库及答案第411期
- 二氧化碳气体保护焊技术要点
- 临猗事业编招聘2022年考试模拟试题及答案解析6
- 施工能力考试题及答案
- 高速公路bt合同范本
- 2026年《必背60题》酒店前厅接待经理高频面试题包含详细解答
- 广东省广州市海珠区2024-2025学年七年级上学期期末考试数学试卷(含答案)
- 地下消防水池设备安装方案
- 超声波技术协议书
- 眼内炎术后护理与康复
- GB/T 5784-2025紧固件六角头螺栓细杆B级
- DB51-T 3313-2025 同步摊铺超薄沥青混凝土施工技术规程
- 雨课堂学堂在线学堂云《城市规划理论与方法(江苏师大 )》单元测试考核答案
- 高边坡施工测量方案设计
- 浙江省宁波市鄞州区2024-2025学年三年级上册期末考试数学试卷(含答案)
评论
0/150
提交评论