版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年山东省烟台市全国计算机等级考试C语言程序设计测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.以下叙述中错误的是A.算法正确的程序最终一定会结束
B.算法正确的程序可以有零个输出
C.算法正确的程序可以有零个输入
D.算法正确的程序对于相同的输入一定有相同的结果
2.设变量已正确定义并赋值,以下正确的表达式是()。A.x=y+z+5.++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0
3.使用二分查找算法在一个有序序列中查找一个元素的时间复杂度为()
A.O(N)B.O(logN)C.O(N*N)D.O(N*logN)
4.若有定义int?x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。A.(x-y<0|x-y>0)B.(x-y<0)C.(x-y>0).D.(x-y==0)
5.表达式18/4*sqrt(4.0)/8值的数据类型为()。A.intB.floatC.doubleD.不确定
6.以下能正确定义一维数组的选项是
A.inta[5]={0,1,2,3,4,5}
B.chara[]={'0','1','2','3','4','5','\0'};
C.chara={'A','B','C'};
D.inta[5]="0123";
7.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量
B.常量分为整型常量、实型常量、字符常量和字符串常量
C.常量可分为数值型常量和非数值常量
D.经常被使用的变量可以定义成常量
8.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是()。
A.#definen5inta[2*n];
B.intn=10,a[n];
C.inta[5+5];
D.#defineN10inta[N];
9.下列描述中不正确的是()。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
10.有以下程序
#include<stdio.h>
#include<stdlib.h>
main()
{int*a,*b,*c;
a=b=c=(int*)malloc(sizeof(int));
*a=1;*b=2,*c=3;
a=b
printf(”%d,%d,%d\n”,*a,*b,*c);
}
程序运行后的输出结果是()。A.3,3,3B.2,2,3C.1,2,3D.1,1,3
11.下面哪些使用的不是贪心算法()
A.单源最短路径中的Dijkstra算法
B.最小生成树的Prim算法
C.最小生成树的Kruskal算法
D.计算每对顶点最短路径的Floyd-Warshall算法
12.
13.有以下程序#include<stdio.h>main{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是()。A.741B.963C.852D.875421
14.向一个栈顶指针为H的链栈中执行出栈运算时,需执行()。
A.p=H;H=H->link;free(p);
B.H=H->link;free(H);
C.p=H;H->link=H->link->link;free(p);
D.p=H;H=H->link;
15.连通图G中有n个顶点,G的生成树是()连通子图。
A.包含G的所有顶点B.包含G的所有边C.不包含G的所有顶点D.包含G的所有顶点和所有边
16.有下列程序:程序执行后的输出结果是()。A.1,0B.1,1C.1,4D.4,4
17.在学生管理的关系数据库中,存取一个学生信息的数据单位是()。
A.文件B.数据库C.字段D.记录
18.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序运行后的输出结果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
19.下面描述中,不属于软件危机表现的是()A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高
20.在深度为5的满二叉树叶中,叶子结点的个数为()。
A.32B.31C.16D.15
二、2.填空题(20题)21.没有chara,b;,,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是【】。
22.若从键盘输入58,则以下程序输出的结果是______。
main{)
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
23.在E-R图中,矩形表示【】。
24.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
25.若按功能划分,软件测试的方法通常分为______测试方法和黑盒测试方法。
26.以下程序中给指针p分配3个double型动态内存单元,请填空。
#include<stdio.h>
main()
{double*p;
p=(double*)malloc((【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
27.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。
28.阅读程序:
#include<string.h>
#include<strdio.h>
strle(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!='0')num++;
while(b[n])
{*(a+num)=b[n];num++;n++;}
return(num);
}
main()
{charstrl[81],str2[81],*p1=strl,*p2=str2;
gets(p1);gets(p2);
prinf("%d\n",strle(p1,p2));
}
运行上面的程序,如果从键盘上输入字符串qwerty和字符串abcd,则程序的输出结果是【】。
29.为建立如下图所示的存储结构(即每个结点两个域,p是指向结点的指针域,data用以存放整型数),请将定义补充完整。
pdata
a
structlist
{【】;intdata;}a;
30.下述程序的输出结果是【】。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0||x==1)
return3;
else
p=x-fun(x-2);
returnp;}
voidmain()
{printf("\n%d",fun(9));}
31.若a=10,b=20,则表达式!(a<b)的值是【】。
32.下列程序的运行结果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
33.若x和a均是血型变量,则计算完x=(a=4,6*2)后的x值为______。
34.结构化程序设计的3种基本结构分别是顺序、选择和______。
35.测试用例包括输入值集和【】值集。
36.已定义charch=′$′;inti=1,j;,执行j!=ch&&i++以后,i的值为【】。
37.若有定义floatb[15],*p=b;,且数组b的首地址为200H,则p/13所指向的数组元素的地址为______。
38.以下程序运行后的输出结果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
39.计算机网络按通信距离来划分可以分为【】。
40.有以下程序
voidf(inty,int*x)
{y=y+*x;*X=*X+y;}
main()
{intx=2,y=4;
f(y,&x);
printf("%d%d\n",x,y);
}
执行后输出结果是______。
三、1.选择题(20题)41.下列程序的运行结果为______。main(){intn;for(n=1;n<=10;n++){if(n%3==0)continue;printf("%d",n);}}
A.12457810B.369C.12D.12345678910
42.检查软件产品是否符合需求定义的过程称为()。
A.确认测试B.集成测试C.验证测试D.验收测试
43.以下不正确的定义语句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charcl[]={'1','2','3','4','5'};
D.charc2[]={'\x10','\xa','\x8'};
44.下列程序的运行结果为()。#defineMAX(x,y)(x)>(y)?(x):(y)main(){inta=2,b=3,c=1,d=3,t;printf("%d\n",(MAX(a+b,c+d))*100);}
A.500B.5C.4D.400
45.模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是__________。
A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚
46.有以下程序intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序运行后的输出结果是
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
47.有以下程序main(){union{unsignedintn;unsignedcharC;}ul;u1.C='A';printf("%c\n",u1.n);}执行后输出结果是
A.产生语法错B.随机值C.AD.65
48.若有以下定义和语句,则对a数组元素地址的正确引用为inta[2][3],(*p)[3];p=a;
A.*(p+2)B.p[2]C.p[1]+1D.(p+1)+2
49.语句“printf("%d\n",12&012);”的输出结果是______。
A.12B.8C.6D.12
50.关于语句“for(表达式1;表达式2;表达式3)”,下面说法中错误的是()
A.for语句中的三个表达式可以同时省略
B.for语句可以用于循环次数不确定的情况
C.for语句中表达式2只能是关系表达式或逻辑表达式
D.for语句中表达式1和表达式3可以是逗号表达式
51.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。
A.a==1B.++i;C.a=int(i);D.a=a++=5;
52.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A.x=x*100+0.5/100.0;
B.x=(x*100+0.5)/100.0;
C.x=(int)(x*100+0.5)/100.0;
D.x=(x/100+0.5)*100.0;
53.设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则
A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次
54.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
55.对如下二叉树进行后序遍历的结果为()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
56.下列数据结构中,属于非线性的是()。
A.线性表B.队列C.树D.栈
57.设有如下关系表,由关系R和S通过运算得到关系T,则所使用的运算为()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
58.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的A.正当性B.可行性C.确定性D.有穷性
59.下面程序的输出结果是()。#include<stdio.h>#include<string.h>main(){charp1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}
A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho
60.有以下程序main(){ints=0,a=1,n;scanf("%d",&n);do{s+=l;a=a-2;}while(a!=n);printf("%d\n",s);若要使程序的输出值为2,则应该从键盘给n输入不敷出值是
A.-1B.-3C.-5D.0
四、选择题(20题)61.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为()。
A.CB.BasicC.DDLD.DML
62.
63.
64.
65.
66.有以下程序程序运行后的输出结果是()。
A.8B.4C.6D.2
67.有三个关系R、S和t如下:由关系R和s通过运算得到关系T,则所使用的运算为()。
A.笛卡儿积B.交C.并D.自然连接
68.#define能作简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
69.设有如下三个关系表:
70.
71.
72.有以下程序:
main
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i<j;i++)
if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
输出结果是()。A.A.11B.10C.9D.1011
73.以下选项中可用做C程序合法实数的是()。
A..leOB.3.0e0.2C.E9D.9.12E
74.有以下程序:
程序执行后的输出结果是()。
A.2B.3C.7D.0
75.
76.以下选项中有语法错误的是()。A.char*str[]={"guest"};
B.charstr[][lO]={"guest"};
C.char*str[3];str[t]={"9uest"};
D.charstr[3][lO];str[1]={"guest"};
77.(75)下列不属于结构化分析的常用工具的是()
A.数据流图
B.数据字典
C.判定树
D.PAD图
78.以下定义语句中正确的是()。
A.inta=b=0;
B.charA=65+1,b=’b’;
C.floata=1,*b=*a,*C=&b;
D.doublea=0.0;b=1.1;
79.有以下程序
#defineN15
fun(inta[],intn,intm)
{inti,j;
for(i=m;i>=n;i--)
a[i+1]=a[i];
}
main()
{inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,3,7);
for(i=3;i<8;i++)
printf("%d",a[i]);
}
程序的运行结果是A.A.45678
B.44567
C.45567
D.45677
80.以下程序的运行结果是
#defineMIN(x,y)(x)<(y)?(x):(y)
main()
{
inti=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.10B.15
C.100D.150
五、程序改错题(1题)81.下列给定程序中,函数fun()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(Z转换A,z转换a),其他字符不变。
请修改函数fun()中的错误,得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.规定输入的字符串中只包含字母和+号。编写函数fun,其功能是:除了字符串前导和尾部的母号外,将其他的*号全部删除。形参h已指向字符串中第一个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。
参考答案
1.B(45)B)解析:算法应该具有下列五个特性:
①有穷性:一个算法必须在执行有穷步之后结束。
②确定性:算法中的每一步,必须有确切的含义,在他人理解时不会产生二义性。
③动态性:算法中描述的每一步操作都可以通过已有的基本操作执行有限次实现。
④输入:一个算法应该有零个或多个输入。
⑤输出:一个算法应该有一个或多个输出。这里所说的输出是指与输入有某种特定关系的量。
2.A[解析]B)与D)选项中取模运算符%的左右两个操作数均应为整数,所以B)、D)错误。C)选项中不能将x+z的值赋给表达式y*5.所以C)错误。
3.B
4.A条件表达式:x=表达式1:表达式2:表达式3的含义是:先求解表达式1.若为非0(真),则求解表达式2.将表达式2的值赋给x。若表达式1的值为0(假),则求解表达式3.将表达式3的值赋给x。在本题中与表达式1:(x-y)等价的是(x-y<0|x-y>0)。
5.C因为c语言数据进行计算时数据类型会由低级向高级进行隐式转化,sqrt函数得到的是double类型,比其他的int数据类型高,所以整个结果得到的是double类型。
6.B解析:选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。
7.D此题考查的是常量和变量的定义,常量不是经常使用的变量,而是一个确定的数值,所以答案选择D。
8.B一维数组定义的一般形式为:类型说明符数组名[常量表达式]。注意定义数组时,元素个数不能是变量。故本题答案为B选项。
9.C
10.A解析:本题中,首先创建开辟一个动态内存,然后将地址分别存入指针a、b、c中,即a、b、c都指向相同的变量。分别给a、b、C所指的变量赋值,最终a、b、c所指的变量中的值为3,最后打印a、b、c所指的变量的值,即3,3,3。所以选A。
11.D
12.A
13.C在for循环中,当y的值为9、6或3时,执行输出语句,输出表达式--Y的值。Y先自减l,然后再输出y的值。
14.A
15.A
16.A&&是逻辑与运算符,x、y的取值为4、2,两个都是非零值,所以x&&y的结果为真,值为1;&是位运算符,x的二进制为0100,y的二进制为0010,0100&0010的结果为0。本题答案为A选项。
17.D解析:在关系数据表中,行称为元组,对应存储文件中的记录,列称为属性,对应存储文件中的字段,所以本题答案为D。
18.C用数组名作为函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。本题通过“prt(a,5);”将数组a的首地址传递给了指针变量m,使指针变量m指向数组a的首地址,那么,对指针变量所指向的存储单元的内容的改变就是对数组a中的元素的改变。题中函数prt的作用是将指针变量m所指向的存储单元中的元素值各加上1,故数组a中的值也随之变化,所以。输出的数组元素的值为2,3,4,5,6,。
19.A软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
20.C根据二叉树的性质及定义,一棵深度为k且有2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数,又根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。
21.1000001010000010解析:运算“&”的规则是只有当两个相应的二进制位都为1时,该位的结果才为1。要保留第2、8位,只要将其与二进制数10000010相与。
22.585858585858解析:在程序中,执行scanf()语句后,a被赋值为58。接着执行第一个if语句,因为,a=58>50,执行第一个订语句后面的输出语句,输出58;接着执行第二个if语句,因为,a=58>4O,执行第二个if语句后面的输出语句,输出58;接着执行第三个if语句,因为,a=58>30,执行第三个if语句后面的输出语句,输出58,所以最后的输出为585858。
23.实体实体解析:E-R模型中,有3个基本的抽象概念:实体、联系和属性。在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。
24.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
25.白盒白盒解析:软件测试的方法分为白盒测试方法和黑盒测试方法.
26.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:该函数的调用格式是malloc(n),作用是申请n个字符的存储单元,并返回该存储区的首地址,实际调用的时候可在前面加上“(类型说明符*)”,以转换成需要的类型的地址。所以在此空白处应该填写3*sizeof(double)或size(double)*3或其他等价的表达式。
27.软件生命周期软件生命周期解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。
28.10
29.structlist*nextstructlist*next解析:定义的指针类型变量next也应该是结构体类型的。
30.77解析:本题考查的是函数的递归调用。x=0或x=1是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。
31.00解析:已知a=10,b=20,所以逻辑表达式a<b的值为true,即为1,在这个表达式前面有一个逻辑运算符!,表示反操作,所以整个语句的值应当为false,即为0。
32.2525解析:本题考查带参数的宏的定义及相关运算。运算过程为:t=POW(x+y)=(2+3)*(2+3)=25。
33.1212解析:x=(表达式1,表达式2,…)的形式,结果为最后一个表达式的值:x=(a=4,6*2)=2*6=12。
34.重复(循环)重复(循环)解析:结构化程序设计包括3种基本的结构:顺序结构、选择结构和重复结构(循环结构),利用这3种结构就足以表达出各种其他形式结构的程序设计方法。其中利用循环结构,可以简化大量的程序执行。
35.输出输出解析:测试用例曲测试输入数据(输入值集)和与之对应的预期输出结果(输出值集)两部分组成。
36.11解析:在执行逻辑表达式'j=!ch&&i++'时,首先判断j=!ch的值,因为'ch=\'$\''不为0,所以'j=!ch=0',编译系统便不再计算表达式'i++'的值,i的值不变,仍为1。
37.252H252H解析:要解答本题,首先要明白在对指针进行加、减运算时,数字'1'不是十进制数的'1',而是指'1'个存储单元长度。1个存储单元长度占存储空间的多少,应该视具体情况而定,如果存储单元的基类型是int型,则移动1个存储单元的长度就是位移2个字节;如果存储单元基类型是float型,则移动1个存储单元的长度就是位移4个字节。所以旷13所指向的数组元素的地址为:200H+(13*4)H=252H。
38.11解析:因为在条件表达式(a<b)?a:b中,比较表达式a<b为真,所以x的值等于a的值等于1,后面两个条件表达式中的比较表达式都为真,所以最终x的值等于1。
39.局域网和广域网局域网和广域网
40.8484解析:本题考核的知识点是函数的调用、值传递和地址传递的区别。“值传递”指实参将值传递给形参后,实参与形参再无联系。也就是说对行参的改变将不影响实参;地址传递是指地址或数组名作为形参时的参数传递,这种情况下对形参的改变将对实参产生影响.函数f(Y*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参的y的值将不改变,而实参x的值将改变,故最后输出的y的值为4,而x的值为8。
41.A
42.A本题主要考查软件测试的基本知识。软件测试的步骤可分为单元测试(模块测试)、集成测试、确认测试和系统测试。
(1)单元测试是针对每个模块进行的测试,它可从程序的内部结构出发设计测试用例,多个模块可以平行、对立地测试。单元测试主要用于发现详细设计和编程时犯下的错误。单元测试多采用白盒测试,辅之以黑盒测试。
(2)集成测试是在单元测试的基础上,根据模块结构图将各个模块连接起来,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。主要目标是发现与接口有关的问题。集成测试可以发现概要设计时犯的错误。
(3)确认测试用于验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试主要用于发现需求分析时犯下的错误,一般使用黑盒法测试,以表明软件符合需求说明书的要求,应该仔细设计测试用例和测试过程。确认测试必须有用户参加,或以用户为主,用户应参与设计测试用例,通常情况下,主要使用生产中的实际数据进行测试,测试数据通过用户接口输入。
(4)系统测试是将已经通过确认测试的软件,作为整个计算机系统的元素与计算机硬件、外设和网络等其他因素结合在一起,进行一系列的组装测试和确认测试。系统测试的目的是通过与系统的需求定义做比较,发现软件与系统的定义不符合的地方。系统测试可以发现问题定义时犯下的错误。
43.B解析:在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于0,选项B)中定义有5个元素,但赋初值时有6个元素,所以是错误的。
44.A解析:本题考查带参数的宏的定义及相关运算:(x)>(y)?(x):(y)是x>y时输出x,否则输出y,调用(MAX(a+b,c+d))*100时,(a+b=5)>(c+d=4),所以输出a+b=5,所以x=5*100。
45.D解析:内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚是从功能角度来度量模块内的联系。内聚共有7类,它们之㈨的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。
46.A解析:函数f1(x,y)的功能返回x,y中较大的一个,而函数f2(x,y)的功能是返回x,y中较小的一个,所以f1(a,b)=4,f1(c,d)=3,f2(c,d)=2,故e=f2(4,5),f=(3,2)=3,g=4+3+5+2-4-3=7。
47.C解析:在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的.因此给u1.c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。所以,C选项为所选。
48.C解析:本题考查了通过行指针来引用二维数组元素的方法。选项C中p[1]指向了数组a的第二行,p[1]+1则指向了第二行的第二个数据元素,其他几个选项都不正确。
49.B解析:012是八进制数,转换成十进制为10,12&10转换成二进制为00001100&00001010=00001000,00001000转换成十进制为8。
50.C
51.B解析:C语言中的语句都以“;”结尾,因此选项A不是合法语句。强制类型转换运算符应为“(类型名)”,选项C中的int(i)不符合规定;如将int(i)看成函数调用也是不正确的,int是C语言的关键字,不能作为用户定义的标识符当函数名使用。赋值表达式的左侧应为变量名,而选项D中的a++=5不符合规定。
52.C解析:本题考核的知识点是实型变量中小数点的位数。选项A中0.5/100.0将保留小数点后六位,不满足题目要求,故选项A不正确:选项B和选项D也将保留小数点后六位,不满足题目要求,故选项B不正确:所以,4个选项中选项C符合题意。
53.B解析:本题考查while语句的使用。本题考查逻辑非运算符和不等于运算符的区别,逻辑非运算符'!'的优先级大于不等于运算符'!='的优先级。
54.D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
55.D解析:后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,道先遍历左子树,然后遍历右子树,最后访问根结点:并且遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。
56.C解析:线性结构,是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。
57.BB)【解析】T就是关系R中插入关系S,合并为T,即并运算(∪)。
58.C解析:本题考查一个算法应当具有5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。算法的确定性是指:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的执行结果。
59.D
60.B解析:本题考核的知识点是do-while循环的简单应用。根据题目要求,最后要使输出的s值为2,在程序中改变s的值语句只有循环体中的s+=1;语句,而初始s的值为0,显然要使s的值变为2,该语句必须执行两次,即do-while循环中的循环体要执行两次,而在do-while中,首先不进行条件而执行do后面的循环体语句,然后在判断while循环条件。所以说不管循环判断条件是否为真s+=1;语句至少执行一次,根据分析,只需要while后面括号的循环判断表达式的值为真成立一次且只能为真一次,将四个选项中的内容依次代入该程序中不难得到只有n=-3刚好使循环判断条件a!=n为真一次.故4个选项中选项B符合题意。
61.C解析:选项A)、选项B)显然不合题意。数据定义语言(DataDefinitionLanguage,简称DDL)负责数据的模式定义与数据的物理存取构建;数据操纵语言(DataManipulationLanguage,简称DML
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年生物多样性保护法律与政策考试题
- 2025-2026年上海市生态文明知识测试卷
- 2026年网络安全风险评估与控制备考习题
- 2025-2026年电子商务师考试电子商务安全与隐私保护习题
- 分析仪校准合同
- 2026年合同到期工作总结(3篇)
- 2026年医院专科护士培养工作计划
- 2026下半年初中美术教资面试结构化真题题库
- DB63-T 2274-2024 枸杞产业标准体系
- 信用风险管理增强中国金融企业稳健经营能力
- 精神科用药错误应急措施
- 广州医科大学2024年临床医学(呼吸内科)内科学试题及答案
- DB52∕T 1401.26-2020 山地旅游 第26部分:景区最大承载量核定指引
- 模拟政协课件
- 保山电力股份有限公司招聘笔试题库
- 风电场施工材料采购与管理方案
- 医学计算机应用
- 童年第九章题目和答案
- 中风偏瘫中医护理查房
- 供货计划安排方案(3篇)
- 2024年贵州省粮食储备集团有限公司招聘真题
评论
0/150
提交评论