1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx

上传人:b****8 文档编号:22931408 上传时间:2023-02-06 格式:DOCX 页数:24 大小:45.17KB
下载 相关 举报
1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx_第1页
第1页 / 共24页
1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx_第2页
第2页 / 共24页
1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx_第3页
第3页 / 共24页
1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx_第4页
第4页 / 共24页
1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx

《1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx》由会员分享,可在线阅读,更多相关《1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx(24页珍藏版)》请在冰豆网上搜索。

1996年全国计算机等级考试二级c语言笔试试题含参考答案Word格式.docx

COND)COPY*.TXTCON

(13)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是

A)COPYC:

\XYZ.TXT+AB1.TXTB)COPYAB1.TXT>

>

C:

\XYZ.TXT

C)TYPEAB1.TXT>

\XYZ.TXTD)COPYAB1.TXT+C:

\XYZ.TXT>

(14)设A盘为启动盘,其目录结构为(画方框的为目录)

其中文件AUTOEXEC.BAT的内容为

MD\XYZ

CD\DOS\USER

则由A盘启动成功后,A盘的当前目录是

A)\DOS\USERB)\XYZC)\D)\DOS

(15)下列DOS命令中为内部命令的是

A)COMPB)PATHC)PRINTD)FORMAT

(16)设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是

A)DISKCOPYA:

C:

B)DISKCOPYA:

A:

C)COPYA:

*.*D)COPYA:

*.*C:

(17)下列DOS命令中,有错误的是

A)TYPEAAB.FOR>

PRNB)TYPE?

AB.FOR

C)COPY*.CPRND)COPYCONPRN

(18)设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为

FORMATA:

/4

CD\XYZ

RD\XYZ

如果在1.2软盘驱动器A中插入一张360K容量的软盘片,执行批自理命令文件AB.BAT后,结果A盘的目录结构是

A)根目录

B)根目录----子目录XYZ----子目录XYZ

C)根目录─┬─子目录XYZ

└─子目录XYZ

D)根目录----子目录XYZ

(19)下列带有通配符的文件名,能代表文件ABC.FOR的是

A)*BC.?

B)A?

.*C)?

BC.*D)?

.?

(20)设当前盘为C盘,且C盘上含有子目录\DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为.C的文件)。

下列命令组中的两个命令从效果上可以认为等价的是

A)DEL\DOS与RD\DOSB)FORMATA:

与DELA:

*.*

C)FORMATA:

/S与DELA:

*.?

D)COPYA:

F1F2与RENA:

F1F2

(21)设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是

A)'

a'

&

'

b'

B)a<

=bC)a||b+c&

b-cD)!

((a<

b)&

!

c||1)

(22)请读程序片段:

inti=65536;

printf("

%d\n"

i);

上面程序片段的输出结果是

A)65536B)0C)有语法错误,无输出结果D)-1

(23)设ch是char型变量,其值为A,且有下面的表达式:

ch=(ch>

='

A'

ch<

Z'

)?

(ch+32):

ch

上面表达式的值是

A)AB)aC)ZD)z

(24)若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("

%d"

(x,y));

A)200B)100C)100200D)输出格式符不够,输出不确定的值

(25)下面各语句行中,能正确进行赋字符串操作的语句行是

A)charst[4][5]={"

ABCDE"

};

B)chars[5]={'

'

B'

C'

D'

E'

C)char*s;

s="

;

D)char*s;

scanf("

%s"

s);

(26)若k是int型变量,且有下面的程序片段:

k=-3

if(k<

=0)printf("

####"

elseprintf("

"

);

A)####B)&

C)####&

D)有语法错误,无输出结果

(27)若x是int型变量,且有下面的程序片段:

for(x=3;

x<

6;

x++)printf((x%2)?

("

**%d"

):

##%d\n"

),x);

A)**3B)##3C)##3D)**3##4

##4**4**4##5**5

**5##5

(28)请读程序:

#include<

stdio.h>

f(char*s)

{char*p=s;

while(*p!

\0'

)p++;

return(p-s);

}

main()

{printf("

f("

ABCDEF"

));

上面程序的输出结果是

A)3B)6C)8D)0

(29)请读程序:

{inta;

floatb,c;

scanf("

%2d%3f%4f"

&

a,&

b,&

c);

\na=%d,b=%f,c=%f\n"

a,b,c);

若运行时从键盘上输入9876543210<

CR>

(<

表示回车),则上面程序的输出结果是

A)a=98,b=765,c=4321B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0

(30)请读程序:

{intn[2],i,j,k;

for(i=0;

i<

2;

i++)n[i]=0;

k=2

k;

i++)

for(j=0;

j<

j++)n[j]=n[j]+1;

n[k]);

A)不确定的值B)3C)2D)1

(31)请读程序片段:

charstr[]="

ABCD"

*p=str;

*(p+4));

A)68B)0C)字符"

D"

的地址D)不确定的值

(32)请读程序片段:

{inta,b;

for(a=1;

b=1;

a<

=100;

a++)

{if(b>

=20)break;

if(b%3==1)

{b+=3;

continue;

b-=5;

a);

A)7B)8C)9D)10

(33)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:

int*p;

p=__________malloc(sizeof(int));

则应填入

A)intB)inst*C)(*int)D)(int*)

(34)请读程序片段(字符串内没有空格):

strlen("

ATS\n012\1\\"

A)11B)10C)9D)8

(35)请读程序:

string.h>

{char*s1="

AbCdEf"

*s2="

aB"

s1++;

s2++;

strcmp(s1,s2));

A)正数B)负数C)零D)不确定的值

(36)请读程序:

func(inta,intb)

{intc;

c=a+b;

returnc;

{intx=6,y=7,z=8,r;

r=func(x--,y==,x+y),z--);

r);

A)11B)20C)21D)31

(37)请读程序:

inta[]={2,4,6,8};

{inti;

int*p=a;

4;

i++)a[i]=*p++;

a[2]);

A)6B)8C)4D)2

(38)请读程序:

charfun(char*c)

{if(*c<

&

*c>

)*c-='

-'

return*c;

{chars[81],*p=s;

gets(s);

while(*p)

{*p=fun(p);

putchar(*p);

p++;

putchar('

\n'

若运行时从键盘上输入OPENTHEDOOR<

A)oPENtHEdoorB)openthedoorC)OPENTHEDOORD)OpenTheDoor

(39)请读程序:

voidfun(int*s)

{staticintj=0;

do

s[j]+=s[j+1];

while(++j<

2);

{intk,a[10]={1,2,3,4,5};

for(k=1;

k<

3;

k++)fun(a);

for(k=0;

5;

k++)printf("

a[k]);

A)34756B)23445C)35743D)12345

(40)请读程序:

#defineSUB(X,Y)(X)*Y

{inta=3,b=4;

SUB(a++,b++));

A)12B)15C)16D)20

(41)请读程序:

{intmun=0;

while(num<

=2)

{num++;

num);

A)1B)1C)1D)1

222

33

4

(42)请读程序:

{floatx,y;

scan("

%f"

x);

if(x<

0.0)y=0.0

elseif((x<

5.0)&

(x!

=2.0))

y=1.0/(x+2.0);

elseif(x<

10.0)y=1.0/x;

elsey=10.0;

%f\n"

y);

若运行时从键盘上输入2.0<

A)0.000000B)0.250000C)0.500000D)1.000000

(43)请读程序:

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

case2:

a++;

break;

a=%d,b=%d\n"

a,b);

A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2

(44)若有下面的程序片段:

inta[12]={0},*p[3],**pp,i;

i<

i++)

p[i]=&

a[i*4];

pp=p;

则对数组元素的错误引用是

A)pp[0][1]B)a[10]C)p[3][1]D)*(*(p+2)+2)

(45)请读程序:

math.h>

{floatx,y,z;

%f%f"

x,&

y);

z=x/y;

while

(1)

{if(fabs(z)>

1.0)

{x=y;

y=z;

z=x/y;

elsebreak

若运行时从键盘上输入3.62.4<

表示回车),则输出的结果是

A)1.500000B)1.600000C)2.000000D)2.400000

(46)请读程序:

f(inb[],intn)

{inti,r;

r=1;

=n;

i++)r=r*b[i];

returnr;

{intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

x);

A)720B)120C)24D)6

(47)请读程序:

voidfun(char*s)

{chara[10];

strcpy(a,"

STRING"

s=a;

{char*p;

fun(p);

%s\n"

p);

上面程序的输出结果是(└┘表示空格)

A)STRING└┘└┘└┘└┘B)STRING

C)STRING└┘└┘└┘D)不确定的值

(48)若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是

A)s->

next=NULL;

p=p->

next;

p->

next=s;

B)p=p->

s->

next=p->

C)p=p->

next=p;

D)p=(*p).next;

(*s).next=(*p).next;

(*p).next=s;

(49)请读程序:

voidfun(float*pl,float*p2,float*s)

{s=(float*)calloc(1,sizeof(float));

*s=*p1+*(p2++);

{floata[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;

fun(a,b,s)

*s);

A)11.100000B)12.100000C)21.100000D)1.100000

(50)请读程序:

voidfun(char*w,intm)

{chars,*p1,*p2;

p1=w;

p2=w+m-1;

while(p1<

p2)

{s=*p1++;

*p1=*p2--;

*p2=s;

{chara[]="

ABCDEFG"

fun(a,strlen(a));

puts(a);

A)GFEDCBAB)AGADAGAC)AGAAGAGD)GAGGAGA

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡上【1】-【20】序号后的横线上,答在试卷上不得分。

(1)DOS命令分为内部命令与外部命令,XCOPY命令是【1】命令

(2)为了列出当前盘当前目录中所有第三个字符为C的文件名的有关信息,应该用命令【2】。

(3)设当前盘为A盘,当前目录为\X\Y,A盘上的一个文件QR.C在当前目录下的子目录W中。

现已将A盘的当前目录改为\D\XY,当前盘改为C盘,如需指定A盘上该文件应写成【3】。

(4)用十六进制给存储器中的字节地址进行编号,其地址编号是从0000到FFFF,则该存储器的容量是【4】KB。

(5)设有两个八位二进制数00010101与01000111相加,其结果的十进制表示为【5】。

(6)数学式子

写成C语言表达式是【6】。

(7)下面程序的输出结果是【7】。

{staticcharb[]="

Goodbye"

char*chp=&

b[7];

while(--chp>

=&

b[0])putchar(*chp);

(8)下面程序的输出结果是【8】。

voidas(intx,inty,int*cp,int*dp)

{*cp=x+y;

*dp=x-y;

{inta=4,b=3,c,d;

as(a,b,&

c,&

d);

printf('

%d%d\n"

c,d);

(9)请读程序:

main(intargc,char*argv[])

argc);

for(i=0;

=argc+1;

i++)printf("

%s"

argv[i]);

\n"

若上面的程序编译、连接后生成可执行文件ABC.EXE,则输入以下命令行

abcfile1file2<

表示回车)

程序执行后的输出结果是【9】。

(10)条件“20<

x<

30或x<

-100”的C语言表达式是【10】。

(11)设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是【11】。

(12)若有以下说明和定义语句,则变量w在内存中所占的字节数是【12】。

unionaa

{floatx,y;

charc[6];

structst{unionaav;

floatw[5];

doubleave;

}w;

(13)下面程序的输出结果是【13】。

#include<

#defineN5

fun(char*s,chara,intn)

{intj;

*s=a;

j=n;

while(e<

s[j])j--;

returnj;

{chars[N+1];

intk,p;

for(k=1;

=N;

k++)

s[k]='

+k+1;

printf("

fun(s,'

N));

(14)下面程序的输出结果是【14】。

voidfun(char*a1,char*a2,intn)

{intk;

for(k=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1