版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年云南省昆明市全国计算机等级考试C语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.已知各变量的类型说明如下则以下不符合C语言语法的表达式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
2.微型计算机的运算器、控制器及内存储器组合在一起,称之为()
A.ALUB.CPUC.MPUD.主机
3.下面不能正确表示a*b/(c*d)的表达式是()。
A.(a*b)/c*dB.a*b/(c*d)C.a/c/d*bD.a*b/c/d
4.有如下程序:main(){intx=1,a=0,b=0;switch(x){case0:b++;casel:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
5.在关系数据库中,用来表示实体间联系的是()。
A.网状结构B.树状结构C.属性D.二维表
6.数据结构主要研究的是数据的逻辑结构、数据的运算和()。A.数据的方法B.数据的存储结构C.数据的对象D.数据的逻辑存储
7.下列程序段的时间复杂度为()。A.O(2n)B.O(n)C.O(n2)D.O(i*j)
8.有以下程序:#include<stdio.h>inta=1,b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);fun2();printf("%d%d\n",a,b);}程序运行后的输出结果是()。A.1256B.5634C.5612D.3456
9.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为()。
A.7B.8C.9D.10
10.下列叙述中错误的是()。A.程序可以由多个程序文件组成
B.一个C语言程序只能实现一种算法.
C.程序可以由一个或多个函数组成
D.一个C函数可以单独作为一个C程序文件存在
11.
下列程序的输出结果是()。
#include<stdio.h>
main
{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;
p=a;
for(i=0;i<3;i++)
{if(i<2)
p[1][i]=p[1][i]-1;
else
p[1][i]=1;
}
printf("%d\n",a[o][1]+a[1][1]+a[1][2]);
}
A.8B.7C.12D.9
12.
13.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序运行后的输出结果是()。A.0B.1C.2D.3
14.对于循环队列()。
A.无法判断队列是否为空B.无法判断队列是否为满C.队列不可能满D.以上说法都不对
15.已知字母a的ASCII码为十进制数97,下面程序的输出结果是()。#include<stdio.h>main(){charc1,c2;c1='a'+'6'-'0';c2='a'+'3'-'0';printf("%c,%c\n",c1,c2);}
A.输出无定值B.d,eC.e,fD.g,d
16.设已包含头文件<string.h>,下列程序段的运行结果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
17.以下叙述中错误的是()。
A.函数的返回值类型不能是结构体类型,只能是简单类型
B.函数可以返回指向结构体变量的指针
C.可以通过指向结构体变量的指针访问所指结构体变量的任何成员
D.只要类型相同,结构体变量之间可以整体赋值
18.在计算机中,算法是指()
A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法
19.下列程序的输出结果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999
20.有以下程序:
#include<stdio.h>,
main()
{intS;
scanf("%d",&s);
while(s>O)
{switch(s)
{casel:printf("%d",s+5);
case2:printf("%d",s+4);break;
case3:printf("%d",s+3);
default:("%d",s+1);break;
}
scanf("%d",&s);
}
}
运行时,若输入123450<回车>,由输出结果是()。
A.6566456B.66656C.66666D.6666656
二、2.填空题(20题)21.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【】。
22.以下程序的输出结果是【】。
main()
{unsignedshorta=65536;intb;
printf("%d\n",b=A);
}
23.下列程序的输出结果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2=&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
24.算法执行过程中所需要的基本运算次数称为算法的______。
25.设有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
执行上面的程序段后,*(ptr+5)的值为______。
26.实现算法所需的存储单元多少和算法的工作量大小分别称为为算法的【】。
27.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【】。
structstud
{charnum[6];
ints[4];
doubleave;
}a,*p;
28.本程序用改进冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空。
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
29.软件的需求分析阶段的工作,可以概括为四个方面:【】、需求分析、编写需求规格说明书和需求评审。
30.算法复杂度主要包括时间复杂度和【】复杂度。
31.以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
m+=i*f;
f=【】;
returnm;
}
main()
{printf("m=%d\n",【】);}
32.下列程序将二维数组a的行和列元素互换后存放到另一个二维数组b中。请填空。
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
33.下面程序的功能是建立一个有3个结点的单循环链表,然后求各个结点数值域data中数据的和,请填空。
#include<stdio.h>
#include<stdlib.h>
structNODE{intdata;
structNODE*next;
};
main()
{structNODE*p,*q,*r;
intsum=0;
p=(structNODE*)malloc(sizeof(structNODE));
q=structNODE*)malloc(sizeof(structNODE));
r=(structNODE*)malloc(sizeof(structNODE));
p->data=100;q->data=200;r->data=300;
p->next=q;q->next=r;r->next=p;
sum=p->data+p->next->data+r->next->next【】;
printf("%d\n",sum);
}
34.下面程序的运行结果是【】。
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
35.C语言中用______表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。
36.设一棵完全二叉树共有700个结点,则在该二叉树中有【】个叶子结点。
37.若有定义:intk;,以下程序段的输出结果是______。for(k=2;k<6;k++,k++)printf("##%d",k);
38.若有以下定义语句,则不移动指针p,并且通过指针p引用值为98的数组元素的表达式是【】。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
39.当m=1,n=2,a=3,b=2,c=4时,执行d=(m=a!=B)&&(n=b>C)后,m的值为()。
40.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序运行时,如果从键盘输入:A,B,<CR>,则输出结果为______。
三、1.选择题(20题)41.在多媒体计算机系统中,CD-ROM属于()
A.感觉媒体B.表示媒体C.表现媒体D.存储媒体
42.以下程序的输出结果是()#include<stdio.h>#include<string.h>main(){charstr[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}
A.6B.7C.11D.12
43.有以下程序#include<string.h>main(){char*p=“abcde、Ofghjik\0”;printf(“%d\n”,strlen(p));}程序运行后的输出结果
A.12B.15C.6D.5
44.有以下程序,其中%u表示按无符号整数输出:
main
{
unsignedintx=0xFFFF;/*x的初值为十六进制数*/
printf("%u\n",x);
}
程序运行后的输出结果是()。
A.-1B.65535C.32767D.0xFFFF
45.在C语言程序中,下列说法正确的是()。
A.函数的定义和函数的调用均可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义可以嵌套,但函数的调用不可以嵌套
D.函数的定义和函数的调用均不可以嵌套
46.程序中头文件typel.h的内容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序编译后运行的输出结果是:
A.10B.20C.25D.30
47.下列程序的输出结果为main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}
A.28B.1000C.0D.不确定
48.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
49.若有如下变量定义并赋值:inta=1,b=2,c=3,k;floatf=2.5,e;doubled=2.4,g;则下列符合C语言语法的表达式是()
A.e=c*=a+=d*f%bB.(k=a+b,b*f++,k%c)C.g=a+f*c=5D.x=double(b)
50.若有定义:inta[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。(o<=i<4,0<=j<=10
A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
51.有以下程序#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序运行后的输出结果是______。
A.运行后报错B.66C.611D.510
52.关系代数运算是以______为基础的运算。
A.关系运算B.谓词运算C.集合运算D.代数运算
53.下面的程序执行后,文件test.txt中的内容是()#include<stdio.h>voidfun(char*<fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test","newword");fun("test","hello");}
A.helloB.newworldhello,C.newworldD.hello,rld
54.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*2)的C语言表达式是______。
A.x/y*2B.x*(1/(y*z))C.x/y*1/zD.x/y/z
55.数据库系统的核心是()。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员
56.有以下程序:#includo<stdio.h>main(){inty=10;while(y--)printf("y=%d\n",y);}程序执行后的输出结果是()。
A.y=0B.y=-1C.y=1D.while构成无限循环
57.若有运算符:>、=、<<、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为()。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
58.以下程序的运行结果是()。#include<stdio.h>#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k);}
A.10B.15C.100D.150
59.下列程序的执行结果是______。#lnClude<stdio.h>unionun{inti;charc[2];};voidmain(){unionunx;x.c[0]=10x.c[l]=1;printf("\n%d,x.i);}
A.266B.11C.265D.138
60.下述程序的输出结果是()。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%1d\n",fun(3));}
A.1B.2C.3D.4
四、选择题(20题)61.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A.一对一B.一对多C.多对一D.多对多
62.对线性表进行二分法检索,其前提条件是()。A.A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序
C.线性表以链式方式存储,并按关键码值排好序
D.线性表以链式方式存储,并按关键码的检索频率排好序
63.
64.有以下程序
65.
有下列程序:
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-l;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;}
}
main
{intaa[10]:{1,2,3,4,5,6,7,8,9,10),i;
sort(aa+2,5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");
}
程序运行后的输出结果是()。
A.1,2,3,4,5,6,7,8,9,l0,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
66.若有以下程序段输出结果:是()。
A.4B.8C.16D.2
67.有以下程序
#include<stdio.h>
main()
{chara[3O],b[30];
scanf("%S",a);
gets(b);
printf("%s\n%s\\n",a,b);
}
程序运行时若输入:
howareyou?Iamfine<回车>
则输出结果是()。
A.howareyou?Iamfine
B.howareyou?Iamfine
C.howareyou?Iamfine
D.howareyou?
68.
69.
70.下面程序的输出结果是()。
#inclde<stdio.h>
#defineSUB(X,Y)(X)*Y
main()
{inta=3,b=4;
printf("%d\n",SUB(a++,b++));
}
A.12B.15C.16D.20
71.下列叙述中错误的是()。
A.列表框和组合框都有List属性
B.列表框有Selected属性,而组合框没有
C.列表框和组合框都有Style属性
D.组合框有Text属性,而列表框没有
72.有以下程序:
voidmain()
{
inty=10;
while(y>>1){printf("y=%d\n",y);}
}
程序执行后的输出结果是()。
A.y=0
B.y=-1
C.y=1
D.while构成无限循环
73.软件(程序.调试的目标是()。
A.诊断和改正程序中的错误
B.尽可能多地发现程序中的错误
C.发现并改正程序中的所有错误
D.确定程序中错误的性质
74.
75.算法的时间复杂度是指()。
A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程所需要的基本运算次数D.算法程序中的指令条数
76.
77.数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
78.
79.
80.有以下函数intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函数的功能是()。A.查找X和y所指字符串中是否有\o
B.统计x和Y所指字符串中最前面连续相同的字符个数
C.将Y所指字符串赋给X所指定存储空间
D.统计X和Y所指字符串中相同的字符个数
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从字符串str中,删除所有大写字母'F'。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.编写函数fun,其功能是:将s所指字符串中除了下标为奇数,同时ASCH码值也为奇数自q字符之外。其余所有字符全部删除,串中剩余字符所形成的一个新串放在所指的数组中。例如,若s所指字符串的内容为“ABCDEFGl2345”,其中字符A的ASCIl码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符l的ASCIl码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指数组中的内容应为“135”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:
参考答案
1.A
2.D
3.A
4.A当X为1时,执行case1,a自加等于1,因为case1后没有break,接着执行case2,此时a的值为2,b自加为1,故选择A选项。
5.D单一的数据结构——关系,现实世界的实体以及实体间的各种联系均用关系来表示。数据的逻辑结构——二维表,从用户角度,关系模型中数据的逻辑结构是一张二维表。但是关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。
6.B详细解答:
数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
7.C
8.BFunl是输出局部变量的值,fun2是把全局变量的值改成3和4,所以输出的结果是5634。
9.A
10.B在一个C语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以B)错误。
11.B
\n本题考查for循环及if…else语句嵌套,第1次执行for循环,p[1][0]=p[1][0]=p[1][0]-1=3;第2次执行for循环,p[1][1]=p[1][1]-1=4;第3次执行for循环,p[1][2]=l,最后输出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
\n
12.D
13.A根据C语言运算符的优先级与结合性,先计算a/b,结果为l,再将a/b的结果与C做按位与运算,即l与2做按位与运算,其结果为0。
14.D
15.D解析:C语言规定,所有字符常量都可以化为整型常量来处理,因而字符常量也可以参与算术运算。注:字符常量参与算术运算时,其实是使用其对应的ASCII码值进行计算。本题中,'a'对应的ASCII码值是97。题中虽然没有给'6'和'0'的ASCII码值,但应该知道'6'-'0'是将字符'6'转换成整数6的表达式,所以c1='a'+'6'-'0'=103,c2='a'+'3'-'0'=100,按照字符型输出分别是g和d。
16.A解析:头文件<string.h>是字符串处理函数对应的头文件,要想调用C语言的库函数时,都要在程序中嵌入该函数对应的头文件,否则无法使用库函数。
strcpy(s1,s2)把s2中的字符串复制到s1中,所以结果就为s2的长度。
17.A函数返回值类型可以是简单类型和结构体类型。
18.B在计算机中,算法被定义为对一个问题求解步骤的一种描述,是求解问题的方法,它是指令的有限序列,其中每条指令表示一个或者多个操作。算法具有有穷性、确定性、可行性、输入和输出五大特点。
在本题中,选项A、C、D的说法明显偏离了算法的定义,因此正确答案选B。
19.C本题考查do-while循环,在fun函数中,首先定义了静态变量i=0,do-while循环要实现的功能是以b[0]=b[0]+b[1],b[1]=b[1]+b[2],其他元素不变的规则重新给b数组赋值。在主函数中,通过调用fun函数,按上面的规则对数组a重新赋值,最后输出数组a。
20.A\n根据题意,当s=1时,输出65;当s=2时,输出6;当S=3时,则输出64;当S=4时,输出5;当s=5时,输出6;当s=0时,程序直接退出。所以最后答案为6566456,A选项正确。
\n
21.log2n
22.00解析:对于一个unsignedshort来说,它能取的最大值是65535。这里给a赋值65536,已经超出了它的取值范围,这样它的高位将被截掉,只把低位赋给它(全零)。所以a的值实际为0。
23.88解析:本程序定义了3个指针变量p1、p2、p,并且将,、b的地址分别赋给P1、p2,则*p1=a=2,*p2=b=4,所以表达式*p1*(*p2)的值是8。在赋值语句的左边是*(p=&c),即使指针p指向了变量c,因而*(p)代表了c的存储单元,赋值语句“*(p=&c)=*p1*(*p2);”是把整数8赋给了变量c。
24.时间复杂度时间复杂度解析:算法在执行过程中所执行的基本运算的次数,也就是执行算法所需要的计算工作量,称为算法的时间复杂度。
25.'\0''\\0'解析:本题涉及字符数组和指针的两个知识点:①在c语言中,字符型数组在存放字符串时会自动在末尾加上字符串结束标识符'\\0',所以题中数组str有6个元素。②ptr指向数组s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
26.空间复杂度和时间复杂度空间复杂度和时间复杂度解析:算法的复杂性是指对—个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法的计算量是算法的时间复杂性。
27.22
28.n-1jn-1\r\nj解析:此题采用了do…while循环内嵌for循环的双层循环结构来实现了数组元素的排序。数组元素通过首地址和数组下标的方式来引用的。
29.需求获取需求获取解析:软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获取的目的是确定对目标系统的各方面需求;需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进度的依据;需求评审是对需求分析阶段的工作进行的复审,验证需求文档的一致性、可行性、完整性和有效性。
30.空间空间解析:程序在计算机上运行时所耗费的时间由程序运行时所需输入的数据总量、对源程序进行编译所需时间、计算机执行每条指令所需时间、程序中的指令重复执行的次数等决定。习惯上常常把语句重复执行的次数作为算法运行时间的相对量度,称作算法的时间复杂度。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
31.-f或f*-1或-1*f或f*(-1)或(-1)*ffun(10)-f或f*-1或-1*f或f*(-1)或(-1)*f\r\nfun(10)解析:调用fun()函数计算m的值,在主函数中的空格处应该填调用fun()函数的语句。fun()函数有一个形参n,为每次参加计算的值的个数,故在主函数中的空格处应该填fun(10),回到fun()函数,函数用到了一个for循环,共循环n次,当循环第i次的时候,m的值等于m=1-2+……+[(-1)的i-1次方]*i,所以在fun()函数的空格处应该填使f改变符号的语句,故应填-f或f*-1或-1*f或f*(-1)或(-1)*f。
32.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本题考查二维数组的基本知识。它是要将一个二维数组,的行和列元素互换后存放到另一个二维数组b中,只要将数组a的行标和列标互换,然后赋给数组b即可。
33.->next->data->next->data解析:主函数中前面大部分语句都是用来建立题中所述的链表的,我们只需要补充完整倒数第2条语句,实现题目要求的求3个结点之和就可以了。p->data是p所指结点中的数据;p->next->data是p的下一结点(q所指结点)中的数据。所以下划线位置只要填入->next->data就是剩下的r所指结点的数据了。因为链表是循环的,r->next->next->next的值就等于r,你甚至还可以填入->next->next->next->next->data,只要保证整个式子->next的个数是3的倍数都可以。
34.1-21,-2解析:题中外层while循环的循环条件是y--!=-1,即y>=0;内层do…while循环的循环条件是y--即y-->0,y>=1。注意:break和continue语句在循体中的作用。
35.非0非0解析:逻辑运算中,非0表示逻辑“真”,用。表示逻辑“假”。
36.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。
37.本题主要考查for循环语句。for循环的增量表达式为逗号表达式,相当于k+=2;,即每次循环后k增加2。第一次循环时,k=2,因此输出##2;第二次循环时k=4,输出##4。此后k=6,不满足循环条件。\r\n\r\n
38.*(p+5)
39.11解析:①“sizeof'、“%”、“>”、“<<”、“*=”,运算符的优先级顺序为:“*=”→“>”→“<<”→“%”→“sizeof”;②位运算的优先级顺序为:“~”→“<<”→“>>”→“&”→“^”。(b=2)>(c=4)不成立,逻辑为假,所以n=0;(a=3)!=(b=2)成立,逻辑为真,所以m=1。
40.BB解析:因为c是字符类型变量,它只能接收一个字符,所以c=A,字符型变量在参与算术运算的时候是用其相应的ASCII码参与运算的,这样++c得到字母B的ASCII码,用putchar函数输出是输出其相应的字符,所以是B。
41.D
42.A解析:本题考查求字符串的长度。程序中定义字符串str时中请了12个字节的内存空间,对它赋初值后,函数strlen在求串长度时,以'\\0'作为串结束符,所以,strlen(str)的值为6。
43.D解析:本题首先定义了一个字符型指针变量p,并用一个字符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。字符串的结束标记为“\\0”,其长度为“\\0”前的字符个数,故长度为5。
44.B解析:整型常量有十进制、八进制和十六进制3种表示:十进制整数以正号(+)或负号(-)开头,由首位非0的一串十进制数字组成,正负号也可省略,表示正整数;八进制整数以数字0开头,后面接着干个八进制数字(0~7):十六进制整数以数字。和字母x(大、小写均可)开头,后面接若干个十六进制数字(数字0~9和字母A~F,大、小写均可)。故本题是以无符号整数形式输出一个十六进制整数FFFF,将其转换为十进制就是65535,故本题应该选择B。
45.B解析:本题考查函数调用的基本概念。因为函数的结果是个未知量,而函数定义时不能使用未知量,所以函数定义不可以嵌套,但函数的调用可以嵌套。
46.C解析:编译预处理时,用“typel.h”中的内容替代命令#include“typel.h”。表达式“i=M1+M2”经过宏替换为“i=5*3+5*2”即i=25,所以最后输出的i的值为25。
47.B解析:本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间,所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000;是最后一次成员变量赋值,变量age与变量income共同占据一段存储空间,所以age的值也为1000。
48.D解析:C语言把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
49.B
50.B解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。
51.A解析:本题考核的知识点是通过指针引用数组的元素的方法.本题中首先定义了一个一维数组a并初始化,由于定义该数组的时候省略了长度,因此该数组的长度为初始化时候赋初值的个数即为12。数组名a代表数组的首地址,所以*p=a+5语句使得p指向数组的第6个元素,而在程序中定义了一个指针q并让它指向空,实际上程序并没有在内存中为指针q开辟存储空间,这样给q赋值不允许的,故该程序运行后报错。所以,4个选项中选项A符合题意。
52.C解析:关系代数是以集合代数为基础女发展起来的,它是以关系代数作为运算对象的一组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,另外还包括针对数据库环境专门设计的操作,包括对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。
53.A
54.A解析:按照自左向右的运算逻辑,选项A是先做x/y,然后再乘以x,显然与题意不符。
55.B解析:数据库管理系统是数据库系统的核心,是负责数据库的建立、使用和维护的软件。数据库管理系统建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过数据库管理系统。另外,数据库管理系统还承担着数据库的安全保护工作,按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽蚌埠市临港新城建设发展有限公司及所属公司人才招聘6人笔试历年参考题库附带答案详解
- 2025国家能源集团海南电力有限公司第二批集团系统内招聘15人笔试历年参考题库附带答案详解
- 2025四川长虹技佳电镀装饰公司招聘安全管理等岗位2人笔试历年参考题库附带答案详解
- 2025四川新传媒集团有限公司公开招聘6人笔试历年参考题库附带答案详解
- 2025内蒙古交通集团有限公司社会化招聘100人笔试历年参考题库附带答案详解
- 16.1《阿房宫赋》教学设计 统编版高一语文必修下册
- 强化选煤厂安全生产管理制度建设培训课件
- 煤矿暂缓施工安全保障措施培训
- 煤气设施安全检查内容培训课件
- 2025-2026学年教学设计跑题还能过吗
- 2025年西藏事业单位c类考试真题及答案
- 2025年人力资源毕业论文范文-20250128-141655
- 雨课堂学堂云在线《习语“金”典百句百讲(西北师大 )》单元测试考核答案
- 华为数字化转型之道
- 2025中国职业教育实训基地市场发展现状及前景分析报告
- 化学试卷+答案【黑吉辽蒙卷】【高二】辽宁省名校联盟2025年高二6月份联合考试(6.11-6.12)
- 半导体芯片基础知识培训课件
- 智慧树知道网课《医学伦理学(山东中医药大学)》课后章节测试答案
- 2025年福建省辅警招聘考试试题带解析附答案(综合题)
- DB15T 2763-2022 一般工业固体废物用于矿山采坑回填和生态恢复技术规范
- 工程结算情况领导汇报
评论
0/150
提交评论