计算机等级考试笔试模拟题1及参考答案.docx
《计算机等级考试笔试模拟题1及参考答案.docx》由会员分享,可在线阅读,更多相关《计算机等级考试笔试模拟题1及参考答案.docx(20页珍藏版)》请在冰豆网上搜索。
计算机等级考试笔试模拟题1及参考答案
计算机等级考试笔试模拟题1
一、选择题
1、一棵二叉树上第五层的结点数最多是
A.8B.16C.32D.15
2、下数据结构中不属于线性数据结构的是
A.队列B.线性表C.二叉树D.栈
3、下列叙述正确的是
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句的条数)
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上三种描述都不对
4、下面描述中,符合结构化程序设计风格的是
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控
制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率
D.不使用goto语句
5、下面概念中不属于面向对象方法的是
A.对象B.继承C.类D.过程调用
6、在结构化方法中,用数据流程图 (DFD)作为描述工具的软件开发阶
段是
A.可行性分析B.需求分析C.详细设计D.程序编码
7、在软件开发中,下面任务不属于设计阶段的是
A.数据结构设计B.给出系统模块结构
C.定义模块算法D.定义需求并建立系统模型
8、据库系统的核心是
A.数据模型B.数据库管理系统C.软件工具D.数据库
9、下列叙述中正确的是
A.数据库是一个独立的系统,不需要操作系统的支持
B.数据库设计是指设计数据库管理系统
C.数据库技术的根本目标是要解决数据共享的问题
D.数据库系统中,数据的物理结构必须与逻辑结构一致
10、下列模式中,能给出数据库物理存储结构与物理存取方法的是
A.内模式B.外模式C.概念模式D.逻辑模式
11、下选项中,能定义s为合法结构提变量的是
A.typedefstructabc
{doublea;
charb[10];
}s;
B.typedefstruct
{doublea;
charb[10];
}s;
C.structABC
{doublea;
charb[10];
}
ABCs;
D.typedefABC
{doublea;
charb[10];
}
ABCs;
12、执行下面程序片段的结果是
intx=23;
do
{
printf(“%2d”,x--);
}
while(!
x);
A.打印出321B.打印出23
C.不打印任何内容D.陷入死循环
13、在C语言中,下列个选项中,不正确的int内型的常数是
A.32768B.0C.037D.0xAF
14、以下程序的输出结果是
#include
voidmain()
{inti;
for(i=1;i<5;i++)
{
if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
}
printf(“$\n”);
}
A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$
15、以下说法中正确的是
A.#define和printf都是C语句B.#define是C语句,而printf不是
C.printf是C语句,但#define不是D.#define和printf都不是C语句
16、以下程序的运行结果是
#include“stdio.h”
main()
{
inta[]={1,2,3,4,5,6,7,8,9,10,11,12};
int*p=a+5,*q=NULL;
*q=*(p+5);
printf(“%d%d\n”,*p,*q);
}
A.运行后报错B.66C.612D.55
17、若定义:
inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是
A.p+1B.a+1C.a++D.++p
18、下列描述中不正确的是
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入输出
C.可以对整型数组进行整体输入输出
D.不能直接在赋值语句中通过赋值运算“=”对字符型数组进行整体赋值
19、以下程序的输出结果是
main()
{intn=4;
while(n--)printf(“%d”,--n);
}
A.20B.31C.321D.210
20、请读程序片段(字符串内没有空格字符):
printf(“%d\n”,strlen(“ATS\n012\1\\”));该程序片段的输出结果是
A.11B.10C.9D.8
21、以下程序的输出结果是
main()
{intk=17;
printf(“%d,%o,%x\n”,k,k,k);
}
A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11
22、以下选项中属于C语言的数据类型是
A.复数型B.逻辑型C.双精度型D.集合型
23、以下程序的输出结果是
#include
#include
main()
{
charstr[12]={‘s’,’t’,’r’,’i’,’n’,’g’};
printf(“%d\n”,strlen(str));
}
A.6B.7C.11D.12
24、若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是
intt[3][3],*pt[3],k;
for(k=0;k<3;K++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
25、已知字符0的ASCII码为十六进制的30,下面程序的输出是
main()
{
union{
unsignedcharc;
unsignedinti[4];
}z;
z.i[0]=0x39;
z.i[1]=0x36;
printf(“%c\n”,z.c);
}
A.6B.9C.0D.3
26、设有staticcharstr[]=“Beijing”;则执行
printf(“%d\n”,strlen(strcpy(str,”China”)));后的输出结果为
A.5B.7C.12D.14
27、请读程序
#include
#include
main()
{
char*s1=”AbCdEf”,*s2=”aB”;
s1++;s2++;
printf(“%d\n”,strcmp(s1,s2));
}
上面的程序的输出结果是
A.正数B.负数C.零D.不确定值
28、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
A.charst[4][5]={"ABCDE"};
B.chars[5]={'A','B','C','D','E'};
C.char*s="ABCDE";
D.char*s;scanf("%s",*s);
29、请读程序:
#include
f(intb[],intn){
inti,r;
r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;
}
main(){
intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
上面程序的输出结果是______。
A.720B.120C.24D.6
30、语句:
printf("%d\n",12&012);的输出结果是______。
A.12B.8C.6D.012
31、C语言中,下列叙述正确的是______。
A.不能使用do-while语句构成的循环
B.do-while语句构成的循环,必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
32、请选出可用做C语言用户标识符的一组标识符______。
①void②a3_b3③For④2a
define_123_abcDO
define_123_abcDO
A.①B.②C.③D.④
33、以下程序的输出结果是______。
main()
{inta=-1,b=1,k;
if((++a<0)&&!
(b--<=0))
printf("%d%d\n",a,b);
else
printf("%d%d\n",b,a);
}
A.-11B.01C.10D.00
34、请选出以下程序段的输出结果______。
#include
#defineMIN(x,y)(xx:
y
main()
{
inti,j,k;
i=10;j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.15B.100C.10D.150
35、若x是int型变量,且有下面的程序片段
for(x=3;x<6;x++)printf((x%2)?
("**%d"):
("##%d\n"),x);
上面程序片段的输出结果是______。
①**3②##3③##3④**3##4
##4**4**4##5**5
**5##5
A.①B.②C.③D.④
36、请选出以下程序的输出结果______。
#include
sub(int*s,inty)
{staticintt=3;
y=s[t];t--;
}main()
{inta[]={1,2,3,4},i,x=0;
for(i=0;i<4;i++){
sub(a,x);printf("%d",x);}
printf("\n");
}
A.1234B.4321C.0000D.4444
37、设有如下的程序段
charstr[]="Hello";
char*ptr;
ptr=str;
执行完上面的程序段后,*(ptr+5)的值为______。
A.‘o’B.’\0’C.不确定的值D.’o’的地址
38、设有以下语句
chara=3,b=6,c;
c=a^b<<2;
则c的二进制值是______。
A.00011011B.00010100C.00011100D.00011000
39、执行下面程序中的输出语句后,
main()
{
inta;
printf("%d\n",(a=3*5,a*4),a+5);
}
a的值是______。
A.15B.20C.10D.60
40、请读程序:
#include
main()
{
inta,b;
for(a=1,b=1;a<=100;a++){
if(b>=20)break;
if(b%3==1){b+=3;continue;}
b-=5;
}
printf("%d\n",a);
}
上面程序的输出结果是______。
A.7B.8C.9D.10
42、请读程序:
#include
#defineSUB(X,Y)(X)*Y
main()
{
inta=3,b=4;
printf("%d\n",SUB(a++,b++));
}
上面程序的输出结果是______。
A.12B.15C.16D.20
43、请读程序:
#include
inta[]={2,4,6,8,};
main()
{
inti;
int*p=a;
for(i=0;i<4;i++)a[i]=*p++;
printf("%d\n",a[2]);
}
上面程序的输出结果是______。
A.6B.8C.4D.2
44、以下程序的输出结果是______。
main()
{intw=5;fun(w);printf("\n");}
fun(intk)
{if(k>0)fun(k-1);
printf("%d",k);
}
A.54321B.012345
C.12345D.543210
45、若有以下说明和语句,请选出哪个是对c数组元素的正确引用______。
intc[4][5],(*cp)[5];
cp=c;
A.cp+1B.*(cp+3)C.*(cp+1)+3D.*(*cp+2)
46、有以下程序:
#include
unionpw
{inti;charch[2];
}a;
main()
{a.ch[0]=13;
a.ch[1]=0;
printf("%d\n",a.i);
}
程序的输出结果是(注意:
ch[0]在低字节,ch[1]在高字节)______。
A.13B.14C.208D.209
47、有以下程序
main()
{intc;
while((c=getchar())!
='\n'){
switch(c-'2'){
case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;}
}
}
从第一列开始输入以下数据:
2473↙,程序的输出结果是______。
A.668977B.668966C.66778777D.6688766
48、设有以下语句
charstr[4][12]={"aaa","bbbb","ccccc","dddddd"},*strp[4];
inti;
for(i=0;i<4;i++)strp[i]=str[i];
下列选择不是对字符正确引用的是(其中0≤k<4)______。
A.strpB.str[k]C.strp[k]D.*strp
49、以下程序的输出结果是______。
main()
{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2)printf("%d",p[i]);
}
A.52B.51C.53D.97
50、下面程序的输出是______。
intm=13;
intfun2(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun2(a,b)/m);}
A.1B.2C.7D.10
51、请读程序:
#include
func(inta,intb){
intc;
c=a+b;
returnc;
}
main(){
intx=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf("%d\n",r);
}
上面程序的输出结果是______。
A.11B.20C.21D.31
二、填空题
1.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。
2.数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
3.若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
4.算法的复杂度主要包括______复杂度和空间复杂度。
5.关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
6.若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是______。
inta[10]={19,23,44,17,37,28,49,36},*p;
p=a;
7.以下程序的输出结果是______。
#defineMAX(x,y)(x)>(y)?
(x):
(y)
main()
{
inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
8.设在主函数中有以下定义和函数调用语句。
且fun函数为void型;请写出fun函数的
首部______。
要求形参名为b。
main()
{
doubles[10][22];
intn;
.
.
.
fun(s);
.
.
.
}
9.以下程序的输出结果是______。
voidfun()
{
staticinta=0;
a+=2;
printf("%d",a);
}
main()
{
intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
10.函数pi的功能是根据以下近似n公式求n值:
(n*n)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
请在下面的函数中填空,完成求n的功能。
#include"math.h"
doublepi(longn)
{
doubles=0.0;
longi;
for(i=1;i<=n;i++)s=s+______;
return(sqrt(6*s));
}
11.若要使指针p指向一个double类型的动态存储单元,请填空。
p=______malloc(sizeof(double));
12.表示"整数x的绝对值大于5"时值为"真"的C语言表达式是______。
13.在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是______函数。
14.下列程序的运行结果是______。
main()
{unionEXAMPLE
{struct
{intx;inty;}in;
inta;
intb;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
15.执行以下程序段后,s的值为______。
staticcharch[]="600";
inta,s=0;
for(a=0;ch[a]>='0'&&ch[a]<='9';a++)
s=10*s+ch[a]-'0';
16.以下函数inverse的功能是使一个字符串按逆序存放。
inverse(str)
charstr[];
{
charm;
inti,j;
for(i=0,j=strlen(str);i{
m=str[i];
str[i]=______;
______;
}
}
17.下列程序中字符串中各单词之间有一个空格,则程序的输出结果是______。
#include
main()
{charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
18.函数mycmp(char*s,char*t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s请填空。
mycmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}
return(______);
}
计算机等级考试笔试模拟题1答案
1、选择题:
B
C
C
A
D
B
D
B
C
A
B
B
A
C
D
A
C
C
A
C
D
C
A
C
B
A
A
C
B
B
D
B
C
C
D
C
B
A
A
B
A
A
B
D
A
A
A
C
B
C
2、填空题:
1.标准答案为:
一对多或1对多或一对n或1:
N或1:
n或1:
n或1:
N或一对m或1:
M或1:
m或1:
m或1:
N
2.标准答案为:
模式或逻辑模式或概念模式
3.标准答案为:
黑盒
4.标准答案为:
时间
5.标准答案为:
投影
6.标准答案为:
p=p+7或p+=7或p=7+p
7.标准答案为:
7
8.标准答案为:
voidfun(double*b)或voidfun(doubleb[10][22])或voidfun(doubleb[][22])
9.标准答案为:
246
10.标准答案为:
(double)1/(i*i)或1.0/(i*i)
11.标准答案为:
(double*)
12.标准答案为:
x>5||x<-5或x<-5||x>5或abs(x)>5或(x>5)||(x<-5)或(x<-5)||(x>5)
13.标准答案为:
rewind或fseek或rewind()或fseek()
14.标准答案为:
4,8
15.标准答案为:
600
16.标准答案为:
i++或++i或i=i+1或i+=1与str[j-1]与str[j-1]=m
1