




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年内蒙古自治区呼伦贝尔市全国计算机等级考试C语言程序设计测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.对含有16个元素的有序表进行二分查找,关键字比较次数最多是()
A.3B.4C.5D.6
2.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下叙述中正确的是()。A.此while语句将无限循环
B.getchar()不可以出现在while语句的条件表达式中
C.当执行此while语句时,只有按回车键程序才能继续执行
D.当执行此while语句时,按任意键程序就能继续执行
3.设有关键码初始化序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用()方法对初始序列精细第一堂排序的结果。
A.直接插入排序B.二路归并排序C.快速排序D.基数排序
4.有以下程序
#include<stdio.h>
main()
{intx=1,y=2,z=3;
if(x>y)
if(y<z)printf("%d",++z);
elseprintf("%d",++y);
printf("%d\n",x++);
}
程序的运行结果是
A.A.331
B.41
C.2
D.1
5.有以下程序:
程序的运行结果是()。
A.0987654321
B.4321098765
C.5678901234
D.0987651234
6.标准库函数fgets(s,n,file)的功能是()。
A.从文件file中读取长度为n的字符串存入字符数s由
B.从文件file中读取长度不超过n-1个字符的字符放到字符数组S中
C.从文件file中读到n个字符串存入字符数组s中
D.从文件file中读取长度为n-1个字符的字符串存字符数组S中
7.一个模块直接调用的下层模块的数目称为模块的()。
A.扇入数B.扇出数C.宽度D.作用域
8.有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为______。
A.abcdefB.abcdC.abcdD.abcdef
9.有以下程序:#include<stdio.h>main{inta=1,b=2;while(a<6){b+=a;a4+=2;b%=10;)printf("%d,%d\n",a,b);}程序运行后的输出结果是()。A.5,11B.7,1C.7,11D.6,1
10.有以下程序:
程序执行后的输出结果是()。
A.45B.20C.25D.36
11.下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
12.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.7B.5C.8D.6
13.下列有关图的遍历说法中,不正确的是()
A.图的遍历必须用递归实现
B.基本遍历算法两种:深度遍历和广度遍历
C.有向图和无向图都可以进行遍历操作
D.图的遍历算法可以执行在有回路的图上
14.已知一个大小为n的整型数组,现求该数组的全部连续子数组的元素之和的最大值,最优算法的时间复杂度是()如:a[4]={2,-1,3,-4},它的全部连续子数组为{2,-1,3,-4,[2,-1],[-1,3],[3,-4],[2,-1,3],[-1,3,-4],[2,-1,3,-4]},它们的元素之和为{2,-1,3,-4,1,2,-1,4,-2,0},其中的最大值为4。
A.O(logN)B.O(N)C.O(N*logN)D.O(N^2)
15.
16.下列运算符中,运算对象必须是整型的是()。
A./B.%=C.=D.&
17.有以下程序:#include<stdio.h>main(){inti,s=0,t[]=(1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(“%d\n”,s);}程序的运行结果是()。
A.20B.25C.45D.36
18.下面程序的输出结果是()。chars()="ABCD",*p;main(){for(p=s;p<s+4;p++)printf("%s\n",p);)
A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA
19.栈和队列的共同点是()。
A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点
20.下面关于串的的叙述中,哪一个是不正确的()。
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
二、2.填空题(20题)21.下面程序的运行结果是【】。
main()
{inti=0,j=10,k=2,s=0;
for(;;)
{i+=k;
if(i>j)
{printf("%d\n",s);
break;}
s+=i;}}
22.下面函数要求计算两个整数x,y之和,并通过形参返回该值,请填空。
add(intx,inty,【】z)
{【】=x+y;}
23.下列执行后输出的结果是【】。
main()
{intarr[10],i,k=0
for(i=0;i<10;i++)atr[i]=i
for(i=1,i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
24.有以下程序
voidf(inty,int*x)
{y=y+*x;*X=*X+y;}
main()
{intx=2,y=4;
f(y,&x);
printf("%d%d\n",x,y);
}
执行后输出结果是______。
25.执行以下程序后的输出结果是【】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
26.下面程序的功能是实现变量x、y内容交换,请填空。
#defineEXCHANGE(a,b,c){a=b;b=c;c=a;}
main()
{intx=10,y=8,z;
【】
printf("%d,%d",x,y);}
27.以下程序的输出结果是【】。
#include<stdio.h>
fun()
{staticinta=0;
a+=2;printf("%d",a);}
main()
{intcc;
for(cc=1;CC<4;CC++)fun();
printf("\n");}
28.下列程序的输出结果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
29.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
30.设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=【】;
seanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,2);
printf("big=%d\n",big);
}
31.数据管理技术的发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是【】。
32.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。
请填空。
#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,P;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])【】;
printf("Themaxvalueinline%dis%d\n",i,【】);
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
【】;
}
33.栈的3种基本运算是:入栈、退栈和______。
34.当输入1、3、2时,程序运行的结果为【】。
#include<math.h>
main()
{floata,b,c,disc,x1,x2,p,q;
do
{scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
}while(disc<=0);
p=-b/(2*a);q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("\nx1=%6.2f;x2=%6.2f\n",x1,x2);
}
35.下列语句使指针p指向一个double类型的动态存储单元。
p=【】malloc(sizeof(double));
36.结构化分析方法是面向______进行分析的方法。
37.当数据的物理结构(存储结构)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
38.下列程序的输出结果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
39.下列程序的运行结果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
40.在面向对象方法中,信息隐蔽是通过对象的______性来实现的。
三、1.选择题(20题)41.要求以下程序的功能是计算s=1+1/2+1/3+…+1/10main(){intn;floats;s=1.0;for(n=1O;n>1;n--)s=s+1/n;printf("%6.4f\n",s);}程序运行后输出结果错误,导致错误结果的程序行是()。
A.s=1.0;
B.for(n=1O;n>l;n--)
C.s=s+1/n;
D.printf("%6.4f\n",s);
42.下列工具中为需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
43.C语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是______。
A.由实参传给形参,再由形参传回给实参B.地址传递C.单向值传递D.由用户指定传递方式
44.以下数据结构中不属于线性数据结构的是______。
A.队列B.线性表C.二叉树D.栈
45.有定义:intx,y;若要通过scanf("%d,%d",&x,&y);使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()。
A.1112<回车>B.11,12<回车>C.11,12<回车>D.11,<回车>12<回车>
46.有以下程序:main(){inty=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是()。
A.y=0B.y=-1C.y=1D.while构成无限循环
47.下列选项中不属于结构化程序设计方法的是()。
A.自顶向下B.逐步求精C.模块化D.可复用
48.有以下程序
main()
{inti,s=1;
for(i=1;i<50;i++)
if(!(i%5)&&!(i%3))s+=i;
printf("%d\n",s);}
程序的输出结果是
A.409B.277C.1D.91
49.已定义以下函数fun(char*p2,char*p1){while((*p2=*p1)!='0'){P1++;p2++;}}函数的功能是
A.将p1所指字符串复制到p2所指内存空间
B.将P1所指字符串的地址赋给指针p2
C.对p1和p2两个指针所指字符串进行比较
D.检查P1和p2两个指针所指字符串中是否有'\0'
50.—个数据库系统一般由三级模式组成,其中的模式(也称逻辑模式或概念模式)指的是______。
A.用户使用的数据视图B.所有用户的公共数据视图C.对数据物理结构和存储结构的描述D.一种局部的逻辑数据视图
51.设有以下语句
typedefstructS
{intg;charh;}T;
则下面叙述中正确的是()A.可用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是structS类型的变量
52.关系数据库管理系统能实现的专门关系运算包括()。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
53.下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[i*i+1];for(i=0;i<4;i++){k=k+*p[i];}printf("%d",k);}
A.10B.18C.6D.数组元素引用不合法,输出结果不定
54.若有以下说明和定义:typcdefint*INTEGER;INTEGERp,*q;以下叙述正确的是()。
A.p是血型变量
B.p是基类型为int的指针变量
C.q是基类型为int的指针变量
D.程序中可用INTEGER代替int类型名
55.简单的交换排序方法是()。
A.快速排序B.选择排序C.堆排序D.冒泡排序
56.下面程序的输出是______。main(){intx=3,y=6,a=0;,while(x++!=(y=1)){a+=1;if(y<x)break;}printf("x=%d,y=%d,a=%d\n,x,y,a);}
A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1
57.对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是
#include<stdio.h>
voidmain()
{FILE*fp=fopen("TEST",);
fputc(′A′,fp);fputc(′\n′,fp);
fputc(′B′,fp);fputc(′\n′,fp);
fputc(′C′,fp);
fclose(fp);}
A.7字节、7字节B.7字节、5字节C.5字节、7字节D.5字节、5字节
58.若有说明:int*p,m=5,n;,以下正确的程序段是()。
A.p=&m;scanf("%d",&p)
B.p=&n;scanf("%d",&p)
C.scsnf("%d",&p)p=&n;
D.p=&n;p=&m;
59.关于结构化程序设计原则和方法的描述错误的是()。
A.选用的结构只准许有一个入口和一个出口
B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现
C.不允许使用GOTO语句
D.语言中所没有的控制结构,应该采用前后一致的方法来模拟
60.下列叙述中正确的是()。
A.一个算法的空间复杂度大,则其时间复杂度也必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
D.上述三种说法都不对
四、选择题(20题)61.数据库系统的核心是()。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员
62.
63.有以下程序程序的运行结果是()。
A.123B.12300C.1D.321
64.有以下程序:
程序运行后的输出结果是()。
A.aegiB.dfhkC.abedD.abedefghijk
65.有以下程序:
#include<stdio.h>
main()
{FILE*fp;inti,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w+");
for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);
rewind(fp);
for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);
fclose(fp);
for(i=0;i%6;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是()。
A.4,5,6,1,2,3,
B.1,2,3,3,2,1,
C.1,2,3,4,5,6,
D.6,5,4,3,2,1,
66.以下叙述中错误的是()。
A.getehar函数用于从磁盘文件读入字符
B.gets匿数用于从终端读入字符串
C.取ns函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
67.有以下程序:
程序执行后的输出结果是()。
A.5B.24C.32D.40
68.
69.算法的有穷性是指A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
70.用数据流图(DFD.作为描述工具的软件开发阶段是()。
A.可行性分析B.需求分析C.概要设计D.详细设计
71.若有以下程序:inta=1,b=2:a=a^b:b=b^a:则执行以上语句后a和b的值分别是()。
A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1
72.
73.
74.有以下程序
main()
{intm=14,n=24;
printf("%d,%d",m++,++n);
printf("%d,%d\n",n++,++m);
}
程序运行后的输出结果是
A.15252616B.14252515
C.14252516D.14252615
75.
76.下述程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,则程序空白上应该填写的是()。
#include<stdio.h>
main
{chars1[]="chinese",s2[]="japanese";
inti;
for(i=0;s1[i]='\0'&&s2[i]!='\0';i++)
if(s1[i]==s2[i]&&i<7)
_____________;
}A.A.putchar(s2[i]);putchar(i)
B.puts(s1[i],i)
C.printf("%c%d\n",s2[i],i)
D.printf("%C",s1[]);printf("%d\n",i)
77.
78.若已定义inta=25,b=14,c=19;以下三目运算符(?:)所构成的语句执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A.***a=25,b=13,c=19B.***a=26,b=14,c=19
C.###a=25,b=13,c=19D.###a=26,b=14,c=19
79.下列是用户自定义标识符的是
A._w1B.3_xyC.intD.LINE-3
80.
若有定义和语句:
int**pp),*P,a=20,b=10;
pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);
则输出结果是()。
A.20,10B.20,20C.10,20D.10,10
五、程序改错题(1题)81.下列给定程序中,proc()函数的功能是:根据形参m,计算下列公式的值。t=1+1/2+1/3+1/4+…+1/m例如,若输入10,则应输出2.928968。请修改程序中的错误,使它能计算出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),其功能是统计s所指字符串中的数字字符个数,并将其作为函数值返回。例如,s所指字符串中的内容是2def35adh253kjsdf7/kj8655x,函数fun()返回值为11注意:部分源程序在文件prog1.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:
参考答案
1.C
2.C主要是考查while和getchar函数,getchar函数是输入字符函数,while是循环语句,所以当输入的字符为换行符时将执行。
3.C
4.D本题考查if-else语句的使用。if-else语句可以在条件为“真”或为“假”时执行指定的动作,由if引导条件为“真”时执行的操作;由else引导条件为“假”时执行的操作。else语句要与上面最近的if语句进行匹配,如果要嵌套调用if-else语句,需要将嵌套部分用{}括起来,避免程序报错。题目中给出了一个if语句和一个if-else语句,if-else语句为第一个if语句的子语句。首先执行外层if语句,执行条件为x>y,由于x=1,y=2,故该条件为假,不执行if的子语句,直接执行语句printf("%d\\n",x++);,该语句先输出x的值,然后进行x++操作。x的初始值为1,输出结果为1。
5.C函数fun(int*s,intn1,intn2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。所以正确答案为c)。
6.B本题考查fgets函数的使用调用形式:fgets(s,n,fp)。fgets函数参数说明:“S”可以是一个字符数组名,也可以是指向字符串的指针;“n”为要读取的最多的字符个数;“fp”是指向该文件型指针。fgets函数的功能是:从fp所指向的文件中读取长度不超过n-1个字符的字符串,并将该字符串放到字符数组S中,读入字符串后会自动在字符串末尾加入"\0"结束符,表示字符串结束。
7.B扇入数是指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题答案为B选项。
8.C解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。
2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。
9.B“b+=a;”等价于“b=b+a;”,“a+=2;”等价于“a=a±2;”,“bA=10;”等价于“b=b%=10;”。循环体执行3次,最终结果为7,1。
10.C统计1~9九个数中的奇数和,此题重点考察指向数组的指针。c语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i)代表数组的第i+1个元素。程序运行的结果是l+3+5+7+9=25。1
11.A解析:顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素,链式存储结构中各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致,所以选项A是正确的。两者都可以存储线性的、有序的逻辑结构,所以选项B、C不正确。顺序结构使用的是连续物理空间,链式结构可以使用零散的物理空间存储,链式结构更灵活,不存在谁节约空间的说法,所以选项D不正确。
12.B
13.A
14.B
15.C
16.B
17.B程序的功能为统计1~9这9个数中的奇数和。C语言中规定数组名代表数组的首地址,也就是第1个元素的地址,因此“*(t+i)”代表数组的第i+1个元素。程序的运行结果是1+3+5+7+9=25。故本题答案为B选项。
18.A解析:p为指针型变量。第一次循环,p=s,p的值为字符数组s的首地址,输出字符串'ABCD'。p++,第二次循环,p的值为字符数组s的首地址加1,输出字符串'BCD'。p++,第三次循环,p的值为字符数组s的首地址加2,输出字符串'CD'。p++,第4次循环,p的值为字符数组s的首地址加3,输出字符串\'D'。
19.C栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表:本题答案为C)。
20.B
21.3030解析:考查for循环的使用。题目中for(;;)表示:for循环的初始化表达式,条件表达式和修正表达式都省略了,表示进行for循环和for循环的终止都没有限制。
22.int**zint*\r\n*z解析:函数希望通过形参z带回结果,形参z必须是指针类型的。由于返回整型结果,所以第一处填int*;函数返回前必须先把结果通过形参z间接引用传回,第二处应填*z。
23.1212解析:本题的第—个for循环用于始数组arr赋初值,第二个for循环用于求和运算。由于第二个for循环初始值为1,而循环条件为i<4,所以求的是arr[1]到arr[3]及i的和,所以输出结果为12。
24.8484解析:本题考核的知识点是函数的调用、值传递和地址传递的区别。“值传递”指实参将值传递给形参后,实参与形参再无联系。也就是说对行参的改变将不影响实参;地址传递是指地址或数组名作为形参时的参数传递,这种情况下对形参的改变将对实参产生影响.函数f(Y*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参的y的值将不改变,而实参x的值将改变,故最后输出的y的值为4,而x的值为8。
25.a=14a=14解析:逗号表达式的值是以逗号分隔的最后一个表达式的值。所以题目中的语句a=(3*5,a+4);就等价于a=a+4;。故本题输出结果是a=14。
26.EXCHANGE(zxy)或EXCHANGE(zxy);EXCHANGE(z,x,y)或EXCHANGE(z,x,y);
27.246246解析:本题考查了for循环语句的使用,同时静态局部变量的存储和生存其特性也要注意。第一次执行fun()函数时,a=0,所以a+=2=2;第二次执行fun()函数时,a保留着上次制形式的结果2,所以a+=2=4;同理第三次执行fun()函数时,a=6,所以输出结果为246。
28.1234theend1,2,3,4,theend解析:本题考查带参数的宏的定义。第1次循环,i=1时,调用PRINT(1),P(1)输出1;第2次循环,i=2时,调用PRINT(2),P(2)输出2:第3次循环,i=3时,调用PRINT(3),P(3)输出3:第4次循环,i=4时,调用PRINT(4),P(4)输出4,theend。
29.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
30.findbigfindbig解析:本题首先定义了一个指向函数的指针变量f,如果希望让它指向某个函数,只需把函数名赋给该指针变量即可。所以说本题的空格处应该填入函数名findbig。
31.数据库系统阶段数据库系统阶段解析:在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段,其中数据独立性最高的阶段是数据库系统阶段。
32.p=jx[i][p]LineMax(x)
33.读栈顶元素读栈顶元素解析:栈的基本运算有3种:入栈、退栈和读取栈顶元素。其中,入栈是指在栈顶插入一个新的元素;退栈是指取出栈顶元素并赋值给一个变量;读栈顶元素是将栈顶元素赋值给一个指定的变量,不删除栈顶元素。
34.x1=-1.00;x2=-2.00
35.(double*)
36.数据流数据流解析:结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
37.物理独立性数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。
38.5656解析:本题中a,b,c,d足实参,x,y,cp,dp是形参。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此,程序的输出结果是56。
39.22132,2,1,3解析:本题考查++,--运算符和条件运算符的使用。
“表达式1?表达式2:表达式3”的功能是:表达式1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
本题中,x=1,y=2时,x<y成立,输出y的值2;y=2,z=3时,z<y不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。
40.封装封装
41.C解析:程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此可以知道导致程序运行后输出结果错误的行为“s=s+1/n;”,所以,4个选项中选项C符合题意。
42.D解析:需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。
43.C解析:简单变量做实参时,相应的形参变量也是简单变量,它们之间的数据传递方式是单向值传递,即数据只能由实参传到形参,形参值的改变不影响实参值的变化。
44.C解析:线性表、栈和队列所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表,它只能在固定的一端进行插入和删除操作,又称后进先出表(LastInFirstOut);队列是插入在一端进行,删除在另一端进行的线性表,又称先进先出表(FirstInFirstOut)。
45.A解析:格式输入函数的一般形式为:
scanf(格式控制,地址表列)
在“格式控制”字符串中,除格式说明以外的其他字符为按原样输入的字符,在输入数据时应按原样输入这些字符。所以输入时,两个数字之间的逗号是不可少的。
46.B解析:本题中有一个陷阱,很多考生会根据程序的书写格式来判断:while循环的循环体为printf('y=%d\\n',y);语句。其实while的循环体是一条空语句,即y--后面的那个分号就是while的循环体。所以本题只要弄清楚表达式y--何时为“假”,即等于0,就能得出结果了。因为--运算符是后缀形式,所以表达式y--的值是y自减之前的值,即y等于。时,表达式y--就等于0了。但此时的y还要被减1,所以循环结束后,y的值为-1。故应该选择B。
47.D解析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化;②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;⑧模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。
48.D解析:本题是计算50之内的自然数相加之和,题中if语句括号中的条件表达式!(i%5)&&!(i%3)表明只有能同时被5和3整除的数才符合相加的条件,1~49之间满足这个条件的只有,15、30和45,因为s的初始值为1,所以s=1+15+30+45=91。
49.A解析:fun()函数中声明了两个字符串指针作为形参,在其函数体中用了一个while循环,首先while括号内表达式*p2=*p1是将p1所指的内容赋值到P2所指的存储空间中,然后再判断是否为'\\0',表达式的值为真时,执行循环体,指针p1和指针P2分别下移一位,当p1指向字符'\\0'时,表达式的值为假,循环结束,故此函数的功能是将p1所指字符串复制到p2所指内存空间中。
50.B
51.B解析:结构体类型的定义格式为:
strcut结构体名
{成员说明列表};
结构体变量的定义有3种形式:第一种:定义结构体型的同时定义结构体变量如:strcut结构体名{成员说明列表}变量;第二种先定义一个结构体类型,然后使用该类型来定义结构体变量,如:strcutstudent{成员说明列表):student变量;第三种:定义一个无名称的结构体类型的同时定义结构体变量,如:Strctstudent{成员说明列表}变量。和上面三种情况比较我们不难得知只有选项B是正确的。所以,4个选项中选项B符合题意。
52.B解析:此题为数据库的基本概念,可以对照办工软件的电子表格进行如下理解:选择:我们根据某条件选择出一行或多行元组(一个元组即为二维表中的一行)。投影:按字段(也称属性,比如学生关系(学号,姓名,出生年月,性别),学号、姓名…都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。连接:2个或2个以上的表连接组成一张新的表,通常有条件连接。比如学生关系(学号,姓名,系号),又有一张系表(系号,系名,主任),2张表可以合并为一张这样的表(学号,姓名,系号,系名,主任)。
53.B解析:第一个for循环,给数组a的20个元素分别赋值0~19;第二个for循环,给数组p赋值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三个for循环,将数组p中元素的值进行累加,k=1+2+5+10=18。
54.B解析:INTEGER是类型名,由它来间接定义p和*q的类型,因此,p是基类型为int的指针变量,故选项A不正确,选项.B正确,q是二级指针变量,它指向基类型是int的指针变量,故选项C,D不正确。所以4个选项中B正确。
55.D解析:所谓的交换类排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。
56.D解析:注意的是x++中x值的引用时,这里应当是先引用,后自加,具体抽打过程如下:
第一次while循环:条件为真,执行a=a+1=1此时,x的值已为4,判断y<x不成立,继续执行循环;
第二次while循环:条件为假,此时x的值已为5,退出while循环,执行printf。
57.B解析:以'wt'方式写入的是字符文件,转义字符\'\\n\'被看作两个字符来处理。而'wb'方式写入的是二进制文件,转义字符\'\\n\'是一个字符。
58.D解析:p为指针型变量,在输入函数的地址列表中不用&,当给指针变量赋值时是取变量的地址赋给指针变量,&为取地址运算符,因此只有选项D正确。
59.C解析:限制使用GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用GOTO语句。其他3项为结构化程序设计的原则。
60.D解析:时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算法在运行过程中临时占用所需存储空间大小的度量。人们都希望选择一个既省存储空间、又省执行时间的算法。然而,有时为了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾,很难做到两全。但是,这不适用于所有的情况,也就是说时间复杂度和空间复杂度之间虽然经常矛盾,但是二者不存在必然的联系。因此,选项A、B、C的说法都是错误的。故本题的正确答案是D。
61.B解析:数据库管理系统是数据库系统的核心,是负责数据库的建立、使用和维护的软件。数据库管理系统建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过数据库管理系统。另外,数据库管理系统还承担着数据库的安全保护工作,按照数据库管理员所规定的要求,保证数据库的完整性和安全性。
62.C
63.A程序首先将数组a[10]中的元素l、2、3分别写入了文件dl.dat文件中,然后又将dl.dat文件中的数据l23,整体写入了变量n的空间中,因此打印n时输出的数据为123,选项A)正确。
64.Aa为一个指针数组,其中的每个元素都是一个指针。该程序的功能是分别打印4个字符串的首字母。因此本题答案为A)。
65.D\n这个是对文件的操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术设计的鞋履创新与表现
- 2025年事业单位工勤技能-湖南-湖南收银员五级(初级工)历年参考题库典型考点含答案解析
- 元宇宙社交平台虚拟现实社交体验优化研究报告
- 2025年事业单位工勤技能-湖北-湖北农机驾驶维修工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北中式面点师四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-海南-海南防疫员四级(中级工)历年参考题库含答案解析
- 2025-2030中国粘钩行业销售动态及需求预测报告
- 2025年事业单位工勤技能-河南-河南护理员二级(技师)历年参考题库典型考点含答案解析
- 2024版生态修复施工合同
- 2024版钢结构建筑消防设施施工合同范本
- 吉安市新庐陵投资发展有限公司及下属子公司2025年第二批面向社会公开招聘笔试备考题库及答案解析
- 2025至2030年中国生长激素行业市场深度研究及投资战略规划报告
- 大疆:2025大疆机场3操作指导书
- 2025年12345热线考试题库
- 2025年卫生健康行业经济管理领军人才试题
- 绿色矿山培训课件
- hiv职业暴露培训课件
- 2025年重庆市高考物理试卷(含答案解析)
- 小番茄栽培技术课件
- 女职工普法宣传教学课件
- (高清版)DB22∕T 5159-2024 预应力混凝土桩基础技术标准
评论
0/150
提交评论