全国计算机等级考试二级C笔试真题 答案Word文件下载.docx
《全国计算机等级考试二级C笔试真题 答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C笔试真题 答案Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
B)计算机病毒只感染文本文件
C)计算机病毒只能通过软件复制的方式进行传播
D)计算机病毒可以通过网络或读写磁盘方式进行传播
11、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是
A)有零个或多个输入
B)有零个或多个输出
C)有穷性
D)可行性
12、
以下叙述中正确的是()
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
13、
以下符合C语言语法的实型常量是()
A)1.2E0.5
B)3.14.159E
C).5E-3
D)E15
14、
以下4组用户定义标识符中,全部合法的一组是()
A)_main
B)If
C)txt
D)int
enclude
-max
REAL
k_2
sin
turbo
3COM
_001
15、
若以下选项中的变量已正确定义,则正确的赋值语句是()
A)x1=26.8%3
B)1+2=x2
C)x3=0x12
D)x4=1+2=3;
16、
设有以下定义
int
&
nb
sp;
a=0;
double
b=1.25;
char
c=’A’;
#define
d
2
则下面语句中错误的是()
A)a++;
B)b++C)c++;
D)d++;
17、
设有定义:
float
a=2,b=4,h=3;
以下C语言表达式与代数式
计算结果不相
符的是()
A)(a+b)*h/2
B)(1/2)*(a+b)*h
C)(a+b)*h*1/2
D)h/2*(a+b)
18、
有以下程序
main(
)
{
x=102,y=012;
printf(“%2d,%2d”,x,y);
}
执行后输出结果是()
A)10,01
B002,12
C)102,10
D)02,10
19、以下4个选项中,不能看作一条语句的是()
A){;
B)a=0,b=0,c=0;
C)if(a>
0);
D)if(b==0)
m=1;
n=2;
20、设有定义:
a,*pa=&
a;
以下scanf语句中能正确为变量a读入数据的是()
A)scanf(“%d”,pa);
B)scanf(“%d”,a);
C)scanf(“%d”,&
pa);
D)scanf(“%d”,*pa);
21、以下程序段中与语句k=a>
b?
(b>
c?
1:
0):
0;
功能等价的是()
A)if((a>
b)&
c))
k=1;
B)
if((a>
b)||(b>
k=1
else
k=0;
C)if(a<
=b)
D)if(a>
b)
if(b<
=c)
if(b>
c)
22、有以下程序
k;
I;
for(i=1;
i<
3;
i++)
scanf(“%c”,&
k);
switch(k)
case
‘0’:
printf(“another”);
‘1’:
printf(“number”);
程序运行时,从键盘输入:
01<
回车>
,程序执行后的输出结果是()
A)
another
B)another
C)another
D)number
number
23、有以下程序
x=0,y=5,z=3;
while(z-->
0&
++x<
5)
y=y-1;
printf(“%d,%d,%d”,x,y,z);
程序执行后的输出结果是()
A)3,2,0
B)3,2,-1
C)4,3,-1
D)5,-2,-5
24、有以下程序
i,s=0;
10;
i+=2)
s+=i+1;
printf(“%d”,s);
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和
D)自然数1~10中的偶数之和
25、有以下程序
i,n=0;
for(i=2;
5;
i++)
do
if(i%3)
continue;
n++;
while(!
i);
printf(“n=%d”,n);
程序执行后的输出结果是()&
nbsp;
A)n=5
B)n=2
C)n=3
D)
n=4
26、若程序中定义了以下函数
myadd(double
a,double
return
(a+b);
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()
A)double
a,b);
B)double
myadd(double,double);
C)double
b,double
a);
D)double
x,double
y);
27、有以下程序
fun(char
x
y)
if(x<
x;
y;
a=’9’,b=’8’,c=’7’;
printf(“%c”,fun(fun(a,b),fun(b,c)));
程序的执行结果是()
A)函数调用出错
C)9
D)7
28、设有定义:
n=0,*p=&
n,**q=&
p;
则以下选项中,正确的赋值语句是()
A)p=1;
B)*q=2;
C)q=p;
D)*p=5;
29、有以下程序
void
f(int
v
w)
t;
t=v;
v=w;
w=t;
x=1,y=3,z=2;
if(x>
f(x,y);
if(y>
z)
f(y,z);
f(x,z);
A)1,2,3
B)3,1,2
C)1,3,2
D)2,3,1
30、有以下程序段
a[10]={1,2,3,4,5,6,7,8,9,10},*p=&
a[3],b;
b=p[5];
b中的值是()
A)5
B)6
C)8
D)9
31、有以下程序
a[]=”abcdefg”,b[10]=”abcdefg”;
printf(“%d
%d”,sizeof(a),sizeof(b));
A)7
7
8
10
D)10
32、有以下程序&
n
bsp;
swap1(int
c[])
t=c[0];
c[0]=c[1];
c[1]=t;
swap2(int
c0,int
c1)
t=c0;
c0=c1;
c1=t;
a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
%d
%d”,a[0],a[1],b[0],b[1]);
其输出结果是()
3
5
C)3
D)3
33、有以下程序
sum(int
*a)
a[0]=a[1];
aa[10]={1,2,3,4,5,6,7,8,9,10},i;
i>
=0;
i--)
sum(&
aa[i]);
printf(“%d”,aa[0]);
执行后的输出结果是()
A)4
B)3
C)2
34、有以下程序
b[][4])
i,j,s=0;
for(j=0;
j<
4;
j++)
i=j;
if(i>
2)
i=3-j;
s+=b[i][j];
s;
a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf(“%d”,f(a));
A)12
B)11
C)18
D)16
35、有以下定义
#include
<
stdio.h>
a[10],*b=a;
不能给数组a输入字符串的语句是()
A)gets(a)
B)gets(a[0])
C)gets(&
a[0]);
D)gets(b);
36、有以下程序
*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%d”,strlen(p[4]));
A)2
D)5
37、有以下程序
a=2;
{return
(*a)++;
s=0;
a=5;
s+=f(&
A)10
B)9
C)7
D)8
38、有以下程序
f(x)
x*x
i;
i=f(4+4)/f(2+2);
printf(“%d”,i);
A)28
B)22
C)16
D)4
39、设有以下语句
typedef
struct
S
g;
h;
T;
则下面叙述中正确的是()
A)可用S定义结构体变量
B)可以用T定义结构体变量
C)S是struct类型的变量
D)T是struct
S类型的变量
40、有以下程序
struc
STU{
name[10];
num;
};
f1(struct
STU
b={“LiSiGuo”,2042};
c=b;
f2(struct
*c)
b={“SunDan”,2044};
*c=b;
a={“YangSan”,2041},b={“WangYin”,2043};
f1(a);
f2(&
b);
%d”,a.num,b.num);
A)2041
2044
B)2041
2043
C)2042
D)2042
41、有以下程序
unsigned
a,b;
a=4|3;
b=4&
%d”,a,b(;
0
B)0
C)1
1
D)43
42、下
面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
i,j;
=4;
for(j=1;
=4-i;
printf(“
“);
=_______;
printf(“*”);
printf(“”);
在下划线处应填入的是()
A)i
B)2*i-1
C)2*i+1
D)i+2
43、有以下程序
sort(int
a[],int
n)
i,j,t;
for(i=0;
n-1;
for(j=i+2;
n;
j+=2)
if(a[i]<
a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
main()
sort(aa,10);
printf(“%d”,aa[i]);
A)1,2,3,4,5,6,7,8,9,10,
B)10,9,8,7,6,5,4,3,2,1,
C)9,2,7,4,5,6,3,8,1,10,
D)1,10,3,8,5,6,7,4,9,2,
44、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()
s[10]=”abcdefg”;
t[]=”abcdefg”,*s=t;
C)
s[10];
s=”abcdefg”;
strcpy(s,”abcdefg”);
45、有以下程序
string.h>
main(int
argc
char
*argv[
])
i,len=0;
argc;
len+=strlen(ar
gv[i]);
printf(“5d”,len);
经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex
abcd
efg
h3
k44
A)14
B)12
D)6
46、有以下程序
i,int
j)
if(i<
f(a,i+1,j-1);
i,aa[5]={1,2,3,4,5};
f(aa,0,4);
printf(“%d,”,aa[i]);
A)5,4,3,2,1,
B)5,2,3,4,1,
C)1,2,3,4,5,
D)1,2,3,4,5,
47、有以下程序
Score;
s[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580},
{“wangYin”,20043,680},{“SunDan”,20044,550},
{“Penghua”,20045,537}},*p[5],*t;
p[i]=&
s[i];
for(j=i+1;
if(p[i]->
Score>
p[j]->
Score)
t=p[i];
p[i]=p[j];
p[j]=t;
printf(“5d
%d”,s[1].Score,p[1]->
Score);
A)550
550
B)680
680
C)580
D)580
48、有以下程序
stdlib.h>
NODE{
nbs
NODE
*next;
*p,*q,*r;
sum=0;
p=(struct
*)malloc(sizeof(struct
NODE));
q=(struct
r=(struct
p->
num=1;
q->
num=2;
r->
num=3;
next=q;
next=r;
next=NULL;
sum+=q->
next->
sum+=p->
printf(“%d”,sum);
执行后的输出结果是
A)3
B)4
C)5
49、有以下程序
FILE
*fp;
i,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
fprintf(fp,”%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&
k,&
n);
%d”,k,n);
A)1
B)123
23
50、有以下程序(提示:
程序中fseek(fp,-2L*sizeof(int),SEEK_END);
语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
i,a[4]=