计算机二级考试资料Word文件下载.docx
《计算机二级考试资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级考试资料Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
B)具有不同的传输速率和不同的传输距离
C)具有相同的传输速率和不同的传输距离
D)具有不同的传输速率和相同的传输距离
13.按通信距离划分,计算机网络可以分为局域网和远程网,下列网络中属于局域网(C)。
A)InternetB)CERNETC)NovellD)CHINANET
14.在Windows中,启动应用程序的正确方法是(A)。
A)用鼠标双击该应用程序图标B)将该应用程序窗口最小化成图标
C)将该应用程序窗口还原D)用鼠标右击该应用程序图标
15.在电子邮件中,所包含的信息(D)。
A)只能是文字B)只能是文字与图形图像信息
C)只能是文字与声音信息D)可以是文字,声音和图形图像信息
16.若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为(B)。
A)1B)2
C)3D)不确定
17.下面不正确的转义字符是(D)。
A)'
\101'
B)'
\'
'
C)'
\xaf'
D)'
\018'
18.以下运算符中优先级最高的算符(C)。
A)>
=B)/=
C)--D)sizeof
19.以下能正确定义整型变量a,b和c并为其赋初值1的语句是(D)。
A)inta=b=c=1;
B)inta,b,c=1;
C)a=b=c=1;
D)inta=1,b=1,c=1;
20.设c1,c2均是char类型变量,则以下不正确的函数调用为(B)。
A)printf("
%c,%c"
c1,c2);
B)getchar(c1);
C)putchar('
);
D)putchar(c1);
21.一个C语言程序是由(B)。
A)一个主程序和若干子程序组成的B)函数组成
C)若干过程组成D)若干子程序组成的
22.下面正确的字符常量为(C)。
A):
"
n"
\\'
L'
23.若有定义语句;
floatx[6];
则以下对x数组元素的正确引用形式是(C)。
A)x+2B)&
(x+2)
C)*(x+2)D)*&
x[6]
24.在C语言中,要求运算数必须是整型的运算符是(D)。
A)/B)++
C)!
=D)%
25.已有如下定义和输入语句,若要求a,b,c,d可得到的值分别为10,20,A和B,当分别开始输入数据时,正确的数据输入方式是(A)(其中□表示空格)。
A)10A□20B<
回车>
B)10□A□20□B<
C)10A20B<
D)10A20□B<
26.已知ch是字符型变量,下面正确的赋值语句是(B)。
A)ch="
\"
;
B)ch='
\xff'
C)ch='
123'
D)ch='
\08'
27.若x,y,z均为int类型,则执行以下程序段后的输出结果是(C)。
x=10;
y=3;
z=7;
printf("
%d\n"
x>
10?
x+100:
x-10);
y++||z++);
!
y>
z);
y&
&
A)0B)1C)0D)0
1111
1100
1110
28.以下不是无限循环的语句是(A)。
A)for(y=0,x=1;
x>
y++;
x++)
B)for(;
C)while(-1){x++;
}
D)for(i=10;
i--)sum+=i;
29.以下程序段的执行结果是(A)。
intx=5;
do
{
%2d\n"
x--);
while(!
x);
A)1B)无任何输出C)4D)陷入死循环30.以下对一维整型数组y的正确说明是(D)。
A)inty(10);
B)intk=10,y[k];
C)intk;
D)#defineSIZE8
scanf("
%d"
&
k);
inty[SIZE];
inty[k];
31.以下对二维数组y的正确说明是(C)。
A)inty[3][];
B)floaty(3,4);
C)doubley[1][4];
D)floaty(3)(4);
32.若有说明ints[3][4]={0};
则下面正确的叙述为(D)。
A)只有元素s[0][0]可得到初值0。
B)此说明语句不正确
C)数组s中各元素都可得到初值,但其值不一定为0。
D)数组s中每个元素均可得到初值0。
33.以下正确的数组定义语句是(D)。
A)inty[1][4]={1,2,3,4,5};
B)floatx[3][]={{1},{2},{3}};
C)longs[2][3]={{1},{1,2},{1,2,3}};
D)intm[1][4]={4};
34.以下程序段的输出结果是(A)。
charstr1[10]={'
s'
'
t'
u'
d'
e'
n'
};
printf("
strlen(str1));
A)7B)8C)10D)存在语法错误35.以下正确的函数定义是(A)。
A)doublef1(intx,inty)B)doublef1(intx;
inty)
C)doublef1(intx;
floaty)D)doublef1(intx,y)
36.C语言规定,函数返回值的类型是(D)。
410A)return语句中的表达式类型所决定的B)调用该函数时的主调函数所决定
C)调用该函数时系统临时决定的D)数组元素的个数
37.若用数组名作为实参,则传递给形参的是(A)。
A)数组的首地址B)数组第一个元素的值
C)数组中全部元素的值D)数组元素的个数
38.以下程序的运行结果是(A)。
#include"
stdio.h"
main()
intk=4,m=1,p;
p=fun1(k,m);
%d,"
p);
fun1(intx,inty)
staticintm=0,i=2;
i+=m+1;
m=i+x+y;
return(m);
A)8,17B)8,16C)8,20D)8,8
39.以下程序的运行结果是(C)。
#defineitem(a)a*10
#defineout(x)"
(int)item(x)
#defineprt(x)printf(out(x))
inta=2;
prt(a+2);
A)30B)40C)22D)产生出错信息40.以下程序的输出结果是(B)。
intx[]={15,10,17,21,16,23},i,*pt;
pt=x;
i=2;
(pt+=2)[i]);
A)21B)16
C)数组元素x[3]的地址D)数组元素x[4]地址
41.若有说明int*p,n;
以下能通过scanf语句正确读入数据的程序段是(D)。
411A)p=&
n;
,&
p);
B)p=&
,*p);
C)*p=&
,p);
D)p=&
42.以下程序的运行结果是(C)。
#include"
fex(int**ss)
{
int*temp;
temp=(int*)malloc(sizeof(int));
*ss=temp;
*temp=5;
}
main()
int*s=NULL;
fex(&
s);
*s);
A)动态单元temp的地址B)空指针
C)5D)报错
43.设有语句:
inta=1,b=2,*p1=&
a,*p2=&
b;
以下可使指针p1指向变量b的赋值语句是(C)。
A)p1=*p2B)*p1=p2
C)p1=p2D)*p1=p2
44.以下与int*p[3];
等价的定义语句是(B)。
A)int*p;
B)int*(p[3]);
C)intp[3];
D)int(*p)[3]
45.在以下选项中,操作不合法的一组是(B)。
A)intx[6],*p;
p=&
x[0];
B)intx[6],*p;
*p=x;
C)intx[6],*p;
p=x;
D)intx[6],p;
p=x[0];
46.设有如下定义,若字符型变量1KB,整型变量占2KB,双精度变量占8KB,则结构变量s占用内存的字节数是(B)。
structdata
inti;
charch;
doublef;
union{
inta;
intb;
}un;
}s;
412A)8B)13C)15D)17
47.以下对结构体变量mix中成员x的引用正确的是(B)。
struct
intx;
}mix,*p;
mix;
A)(*p).mix.xB)(*p).x
C)p->
mix.xD)p.mix.x;
48.若有定义:
enumweekday
mon,tue,wed,thu,fri
}workday;
则以下不正确的赋值语句是(C)。
A)workday=(enumweekday)3;
B)workday=(enumweekday)(4-2);
C)workday=3;
D)workday=wed;
49.设有定义:
unsignedop=8;
则与语op=op>
>
2;
等价的语句是(D)。
A)op=op*2;
B)op=op/2;
C)op=op*4;
D)op=op/4;
50.下面程序的功能是(A)。
#include"
inti=0,n=0;
chars[80],*p;
p=s;
strcpy(p,"
Itisabook."
for(;
*p!
='
\0'
p++)
if(*p=='
'
)i=0;
elseif(i==0){n++;
i=1;
n=%d\n"
n);
A)统计字符串中的单词个数B)统计字符串中的空格个数
C)统计字符串中的字母个数D)统计字符串中的全部字符个数二、填空题(每空2分,共40分)
请将每一个空的正确答案写在答案卡上,答在试卷上不得分。
1.为了将当前盘当前目录下所有扩展名为.txt的文件内容打印输出,其DOS命令
413为(COPY*.TXT>
PRN)。
2.设当前盘为C盘,如果想知道A盘的当前目录是什么,又不想改变当前盘,则应使用的DOS命令为(CDA:
)。
3.设当前盘当前目录下有一个可执行程序文件ABC.EXE,现要执行该程序,并要求将该程序的输出结果存放到当前盘当前目录下的文件XYZ.DATZG,则应使用的DOS命令为(ABC>
XYZ.DAT或ABC>
XYZ.DAT
4.计算机网络按通信距离来划分,可分为局域网和广域网,因特网属于(广域网)。
5.十六进制数1D560转化为十进制数为(120160)。
6.设C语言中,一个int型数据在内存中占两个KB,则int型数据的取值范围为(−32768~32767)。
7.在scanf函数调用语句中,可以在格式化字符和%号之间加一个星号,它的作用是(表示跳过它相应的数据
),当输入以下数据;
10□□20□□30□□40<
(‘□’表示空格)
x,y,z将分别得到的值是(10,30,40)。
intx,y,z;
scanf("
%d%d*d%d%d"
x,&
y,&
8.如果运行输入字符“Q”,则以下程序的运行结果是(Q)。
%c"
ch);
ch=(ch>
A'
ch<
Z'
)?
(ch+32):
ch;
a'
z'
(ch-32):
ch);
9.设i,j,k均是int变量,则执行以下for循环后,k的值为(60)。
for(i=0;
j=10;
i<
=j;
i++,j--)
k=i+j;
10、执行以下程序段后,num的值是(600)
charch1[]="
600"
intx,num=0;
for(x=0;
ch1[x]>
0'
ch1[x]<
=’9’;
num=10*num+ch1[x]-'
11.以下函数fmax返回数组arr中最大元素的下标,数组中元素的个数由x传入,请填空。
fmax(intarr[],intx)
intmax,q;
for(q=1,max=0;
q<
x;
q++)
if(arr[q]>
arr[max])
(max=q;
)
41412.以下程序调用swap函数利用指针px和py将两个整型变量x和y的值进行交换,请填空。
voidswap(int*p1,int*p2)
{intt;
t=*p1;
*p1=*p2;
*p2=t;
{intx=5,y=7;
int*px=&
x,*py=&
y;
swap(Px,py);
%d,%d\n"
x,y);
13.以下程序的运行结果是
(2)。
structpp
{int*rear;
inta=1,b=2,c=3;
structppx[3]={&
a,&
b,&
c},*s=x;
{printf("
*++s->
rear);
14.下面程序是把从终端读入的20个字符作为字符串放在字符数组中,然后用指针变量输出上述字符串,请填空。
#include"
chars[21],*p;
20;
i++)
s[i]=getchar();
s[i]=('
);
p=(s);
while(*p)prtchar(*p++);
15.以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。
FILE*fp;
chara[4]="
1234"
b[6]="
abcdef"
if((fp=fopen("
lett.dat"
,“wb”))=NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,6*sizeof(char),1,fp);
fclose(fp);
2003年4月全国计算机等级考试二级(C语言)笔试真题答案
一、选择题(1~40题每个选项1分,41~50题每个选项2分,共60分)
1.C2.C3.C4.C5.C
6.B7.A8.D9.D10.C
11.C12.C13.A14.B15.C
16.D17.B18.D19.A20.C
21.C22.B23.B24.D25.A
26.C27.C28.D29.C30.C
31.A32.C33.B34.C35.B
36.B37.B38.C39.B40.C
54141.A42.D43.A44.D45.A
46.B47.C48.C49.B50.B
二、填空题(每空2分,共40分)
1.字节
2.AUTOEXEC.BAT
3.COPY*.TXTPRN
4.拖动
5.图标或按钮
6.2.1
7.6.6
8.Malloc(11)或malloc(sizeof(char)*11)
9.Hello
10.passwarm
11.Void(*p)()或void(*p)(int*,int*)
12.0
13.10
14.Structst或ex
15.”bi.dat”,”w”或“bi.dat”,”wt”或”bi.dat”,”w+t”
16.5
17.4
18.P=j
19.X[i][p]
20.LineMax(x)