全国计算机等级考试历年真题二级C语言笔试真题及答案解析Word文档下载推荐.docx
- 文档编号:16795564
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:30
- 大小:32.03KB
全国计算机等级考试历年真题二级C语言笔试真题及答案解析Word文档下载推荐.docx
《全国计算机等级考试历年真题二级C语言笔试真题及答案解析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试历年真题二级C语言笔试真题及答案解析Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
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
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(“-,-”,x,y);
}
执行后输出结果是
A.10,01
B.02,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>
k=1else
k=0;
C.if(a<
=B)
D.if(a>
else
if(b<
=C)
if(b>
(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
number
another
(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)
有以下程序
main(
i,n=0;
for(i=2;
5;
do
if(i%3)
continue;
n++;
while(!
i);
printf(“n=%d”,n);
A.n=5
B.n=2
C.n=3
D.n=4
(26)
若程序中定义了以下函数
myadd(double
a,double
B)
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
y;
a=’9’,b=’8’,c=’7’;
printf(“%c”,fun(fun(a,B),fun(b,C)));
程序的执行结果是
A.函数调用出错
B)8
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>
y)
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)
31、有以下程序
a[]=”abcdefg”,b[10]=”abcdefg”;
printf(“%d
%d”,sizeof(
A.,sizeof(B));
A.7
7
8
10
D.10
10
(32)
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
B.5
C.3
D.3
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--)
nb
sp;
sum(&
aa[i]);
printf(“%d”,aa[0]);
执行后的输出结果是
A.4
B.3
C.2
(34)
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
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;
*A)
{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
C)
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
2043
(41)
unsigned
a,b;
a=4|3;
b=4&
%d”,a,b(;
0
B.0
C.1
1
D.43
0
(42)
下面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
i,j;
=4;
for(j=1;
=4-i;
j++)
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;
i
for(j=i+2;
j
if(a[i]
}
main()
sort(aa,10);
i++)
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)
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是
A.char
s[10]=”abcdefg”;
B.char
t[]=”abcdefg”,*s=t;
C.char
s[10];
s=”abcdefg”;
D.char
strcpy(s,”abcdefg”);
(45)
main(int
argc
char
*argv[
])
i,len=0;
printf(“5d”,len);
经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex
abcd
efg
h3
k44
A.14
B.12
D.6
(46)
i,int
j)
if(i
t=a[i];
a[i]=a[j];
a[j]=t;
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
680
(48)
NODE{
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
2
B.123
23
D.0
(50)
有以下程序(提示:
程序中fseek(fp,-2L*sizeof(int),SEEK_EN
D.;
语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
i,a[4]={1,2,3,4},b;
fp=fopen("
data.dat"
"
wb"
);
fwrite(&
a[i],sizeof(int),1,fp);
data.dat
"
rb"
);
fseek(fp,-2L*sizeof(int).SEEK_END);
fread(&
b,sizeof(int),1,fp);
/*从文件中读取sizeof(int)字节的数据到变量b中*/
printf("
%d"
B);
B.1
D.3
二、填空题(每空2分,共40分)
请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,
答在试卷上不得分.
(1)
E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】
。
(2)
计算机网络分为广域网和局域网,因特网属于【2】
(3)
从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【3】
(4)
在Windows环境下,只要在“开始”菜单中单击【4】选项,就可以查阅最近打开过的文档清单。
(5)
计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【5】条指令。
(6)
已知字符A的ACSII码值为65,以下语句的输出结果是【6】
char
ch=’B’;
printf(“%c
%d”,ch,ch);
(7)
有以下语句段
int
n1=10,n2=20;
printf(“
【7】
”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
(8)
{
t=1,i=5;
for(;
t*=i;
printf(“%d”,t);
执行后输出结果是【8】
(9)
n=0,m=1,x=2;
if(!
n)
x-=1;
if(m)
x-=2;
if(x)
x-=3;
printf(“%d”,x);
执行后输出结果是【9】
(10)
#include
ch1,ch2;
n1,n2;
ch1=getchar();
ch2=getchar();
n1=ch1-‘0’;
n2=n1*10+(ch2-‘0’);
printf(“%d”,n2);
程序运行时输入:
12<
,执行后输出结果是【10】
(11)
void
f(
y,int
*x)
{y=y+*x;
*x=*x+y;
x=2,y=4;
f(y,&
x);
%d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 历年 二级 语言 笔试 答案 解析