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

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

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

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

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

1998年全国计算机等级考试二级c语言笔试试题含参考答案

全国计算机等级考试二级笔试卷

基础知识和C语言程序设计

(考试时间120分钟,满分100分)

1998年9月

一、选择题(

(1)-(40)每小题1分,(41)-(50)每小题2分,共60分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)通常所说的主机主要包括

A)CPUB)CPU和内存C)CPU、内存与外存D)CPU、内存与硬盘

(2)在微机系统中,最基本的输入输出模块BIOS存放在

A)RAM中B)ROM中C)硬盘中D)寄存器中

(3)一个24*24点阵的汉字字形信息所占的字节数为

A)2B)24C)32D)72

(4)bit的意思是

A)字B)字长C)字节D)二进制位

(5)某学校的工资管理程序属于

A)系统程序B)应用程序C)工具软件D)文字处理软件

(6)与十六进制数BB等值的十进制数是

A)187B)188C)185D)186

(7)设一张软盘已染上病毒,能清除病毒的措施是

A)删除该软盘上的所有文件B)格式化该软盘

C)删除该软盘上的所有可执行文件C)删除该软盘上的所有批处理文件

(8)一张3.5英寸双面高密度软盘片的容量为

A)360KBB)720KBC)1.44MBD)1.2MB

(9)与二进制小数0.1等值的十六进制小数为

A)0.1B)0.2C)0.4D)0.8

(10)DOS系统的热启动与冷启动的不同之处为热启动时

A)不检测键盘、处设接口与内存B)不提示用户输入日期与时间

C)不用装入COMMAND.COM文件D)不能从软盘启动

(11)为了将磁盘上的文件K1,K2,K3,依次连接在文件K4的后面,应使用命令

A)COPYK1+K2+K3K4B)COPYK1+K2+K3+K4

C)COPYK1+K2+K3+K4K4D)COPYK4+K1+K2+K3

(12)下列文件名中可以作为批处理文件名的是

A)AUTOEXC.CB)AUTOEXECC)ATX.BATD)AUTO.TXT

(13)要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令

A)DIR\>PRNB)TYPE\>PRNC)DIR>PRNC)TYPE>PRN

C)DIR>PRND)TYPE>PRN

(14)设可执行文件ABC.EXE所需要的本该由键盘输入的数据已经按格式存放在文件XYZ中,并要求执行结果放在XYZ中输入数据的后面。

下列命令中正确的是

A)ABCXYZB)ABC>XYZ

C)ABC<XYZD)ABC>>XYZ

(15)设当前盘中某一目录路径为\A\B\C,当前目录为\A。

下列命令中肯定出错的是

A)MD\A\CB)CD..C)MD\A\B\AD)MD\A\B

(16)设A盘的目录结构如下:

根目录

┌────┬────┬──┴───┬─────┬────┐

││││││

ABCD1子目录DX.CQ.DATD2子目录A.FOR

││

┌────┬┴──┬───┐┌─────┼────┐

│││││││

B.PASD3子目录Y.BASA.CA1.CD4子目录XYZ.C

┌───┬──┴─┬───┐

││││

QR.CNA.CA.TXTB.C

如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定中,合法的是

A)\D2\D4\QR.CB)D4\QR.CC)A:

D4\QR.CD)A:

D2\D4\QR.C

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

A)TYPEAAB.FOR>CONB)TYPE?

AB.FOR

C)COPY*.CCOND)COPYCONPRN

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

A)COPYC:

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

\XYZ.TXT

C)TYPEAB1.TXT>C:

\XYZ.TXTD)AB1.TXT+C:

\XYZ.TXT>C:

\XYZ.TXT

(19)下列命令中合法的是

A)DISKCOPYA:

A:

B)DISKCOPYA:

C:

C)DISKCOPYC:

A:

D)DISKCOPYC:

D:

(20)设当前盘中某一目录路径为\A\B\C\D\XU,当前目录为\A。

要将根目录下扩展名为.C的所有文件复制到当前目录下,并将扩展名改为.FOR,应使用命令

A)COPY\*.C*.FORB)COPY*.C\A\*.FOR

C)COPY*.FOR\*.CD)COPY\A\*.C*.FOR

(21)下列不正确的转义字符是

A)'\\'B)'\"C)'074'D)'\0'

(22)若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为

A)floatB)intC)charD)double

(23)表示关系x<=y<=z的c语言表达式为

A)(X<=Y)&&(Y<=Z)B)(X<=Y)AND(Y<=Z)

C)(X<=Y<=Z)D)(X<=Y)&(Y<=Z)

(24)设a=1,b=2,c=3,d=4,则表达式:

A)765.12<回车>B)i=100,f=765.12<回车>

C)100<回车>765.12<回车>D)x=100<回车>y=765.12<回车>

(29)设x和y均为int型变量,则执行下的循环后,y值为

for(y=1,x=1;y<=50;y++)

{if(x>=10))break;

if(x%2==1)

{x+=5;continue;}

x-=3;

}

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

(30)给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为

A)数组X和数组Y等价B)数组x和数组Y的长度相同

C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度

(31)以下叙述中不正确的是

A)在不同的函数中可以使用相同名字的变量

B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效

(32)假定a和b为int型变量,则执行以下语句后b的值为

a=1;b=10;

do

{b-=a;a++;}

while(b--<0);

A)9B)-2C)-1D)8

(33)设j为int型变量,则下面for循环语句的执行结果是

for(j=10;j>3;j--)

{if(j%3)j--;

--j;--j;

printf("%d",j);

}

A)63B)74C)62D)73

(34)设有以下宏定义:

#defineN3

#defineY(n)((N+1)*n)

则执行语句:

z=2*(N+Y(5+1));后,z的值为

A)出错B)42C)48D)54

(35)设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是

A)k=*P1+*P2;B)p2=k;C)P1=P2;D)K=*P1*(*P2);

(36)设有如下定义:

intarr[]={6,7,8,9,10};

int*ptr;

则下列程序段的输出结果为

ptr=arr;

*(ptr+2)+=2;

printf("%d,%d\n",*ptr,*(ptr+2));

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

(37)以下程序的输出结果是

main()

{inti,k,a[10],p[3]:

K=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

printf("%d\n",k);

}

A)20B)21C)22D)23

(38)执行以下程序段后,m的值为

inta[2][3]={{1,2,3},{4,5,6}};

intm,*p;

p=&a[0][0];

m=(*p)*(*(p+2))*(*(p+4));

A)15B)14C)13D)12

(39)有以下程序段

chararr[]="ABCDE";

char*ptr;

for(ptr=arr;ptr

main()

{union

{intk;

chari[2];

}*s,a;

s=&a;

s->i[0]=0x39;s->i[1]=0x38;

printf("%x\n",s->k);

}

输出结果是

A)3839B)3938C)380039D)390038

(42)有以下程序

#include

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b);

}

输出结果是

A)2,1B)3,2C)4,3D)2,-1

(43)设有如下定义:

int(*ptr)*();

则以下叙述中正确的是

A)ptr是指向一维组数的指针变量

B)ptr是指向int型数据的指针变量

C)ptr是指向函数的指针,该函数返回一个int型数据

D)ptr是一个函数名,该函数的返回值是指向int型数据的指针

(44)有以下程序

#include

structstu

{intnum;

charname[10];

intage;

};

voidfun(structstu*p)

{printf("%s\n",(*p).name);}

main()

{

structstustudents[3]={{9801,"Zhang",20},

{9802,"Wang",19},

{9803,"Zhao",18}};

fun(students+2);

}

输出结果是

A)ZhangB)ZhaoC)WangD)18

(45)设有以下说明和定义:

typedefunion

{longi;intk[5];charc;}DATE;

structdate

{intcat;DATEcow;doubledog;}too;

DATEmax;

则下列语句的执行结果是

printf("%d",sizeof(structdate)+sizeof(max));

A)26B)30C)18D)8

(46)有以下程序

main()

{chara[]="programming",b[]="language";

char*p1,*p2;

inti;

p1=a;p2=b;

for(i=0;i<7;i++)

if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));

}

输出结果是

A)gmB)rgC)orD)ga

(47)有以下程序

viodfun(inta,intb,intc)

{a=456;b=567;c=678;}

main()

{intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,/%d\n",c,d);

}

输出结果是

A)30,20,10B)10,20,30C)456,567,678D)678,567,456

(48)有以下程序

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

{*cp=x+y;*dp=x-y;}

main()

{inta,b,c,d;

a=30;b=50;

fun(a,b,&c,&d);

printf("%d,%d\n",c,d);

}

输出结果是

A)50,30B)30,J50C)80,-20D)80,20

(49)有以下程序

main()

{inti,j;

for(j=10;j<11;j++)

{for(i=9;i=j-1)printf("%d",j);

}

}

输出结果是

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

(50)有以下程序

#include"atdio.h"

intabc(intu,intv);

main()

{inta=24,b=16,c;

c=abc(a,b);

printf('%d\n",c);

}

ntabc(intu,intv)

{intw;

while(v)

{w=u%v;u=v;v=w}

returnu;

}

输出结果是

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

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

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

(1)自动批自理文件名为【1】。

(2)DOS命令分为内部命令与外部命令,COMP命令属于【2】命令。

(3)设当前为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所有扩展名为.DAT的文件内容。

这一条DOS命令应为【3】。

(4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK的文件名改成扩展名为.FOR,应使用的DOS命令为【4】。

(5)设DOS外部命令文件所在的路径均已用PATH命令打通。

现要将当前盘当前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为【5】。

(6)设x和y均为int型变量,且x=1,y=2,则以下表达式的值为【6】。

1.0+x/y

(7)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【7】。

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

(8)设有以下定义的语句:

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

则*(*(p+2)+1)值为【8】。

(9)以下程序的输出结果是【9】。

#include

intfun(intx,inty)

{staticintm=0,i=2;

i+=m+1;

m=i+x+y;

returnm

}

main()

{intj=4,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

(10)函数fun的功能是:

使一个字符串按逆序存放,请填空

voidfun(charstr[])

{charm;inti,j;

for(i=0,j=strlen(str);i<【10】;i++,j--)

{m=str[i];

str[i]=【11】;

str[j-1]=m;

}

printf("%s\n",str);

}

(11)以下程序的功能是:

从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。

#include"ctype.h"

#include"stdio.h"

main()

{charstr[81],*sptr;

inti;

for(i=0;i<80;i++)

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=【12】;

sptr=str;

while(*sptr)putchar(*sptr【13】);

}

(12)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

例如:

输入的两个字符串分别为abcdef和abceef,则输出为-1。

请填空。

#include

main()

{charstr[100],str2[100],c;

inti,s;

printf("\ninputstring1:

\n");gest(str1);

printf("\ninputstring2:

\n");gest(str2);

i=0;

while((strl[i]==str2[i]&&(str1[i]!

=【14】))

i++;

s=【15】;

printf("%d\n",s);

}

(13)以下程序的功能是:

从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。

请填空。

#include

main()

{FILE*fp;

charstr[100];inti=0;

if((fp=fopen("text.txt",【16】))==NULL)

{printf("can'topenthisfile.\n");exit(0);}

printf("inputastring:

\n");gest(str);

while(str[i])

{if(str[i]>='a'&&str[i]<='z')

str[i]=【17】;

fputc(str[i],fp);

i++;

}

fclose(fp);

fp=fopen("test.txt",【18】);

fgets(str,100,fp);

printf("%s\n",str);

fclose(fp);

}

(14)以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输出,请填空。

#include.

main()

{charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C'

'D','E','F'};

intc[64],d,i=0,base;

longn;

printf("enteranumber:

\n");scanf("%ld",&n);

printf("enternewbase:

\n");scanf("%d",&base);

do

{c[i]=【19】;

i++;n=n/base;

}while(n!

=0);

printf("transmitenewbase:

\n");

for(--i;i>=0;--i)

{d=c[i];

printf("%c",b【20】;

}

}_

〖完〗

1998年9月

基础知识和C语言程序设计

答案及评分标准

一、选择题(

(1)-(40)题每题1分;(41)-(50)题每题2分)

(1)B

(2)B

(3)D

(4)D

(5)B

(6)A

(7)B

(8)C

(9)D

(10)A

(11)D

(12)C

(13)A

(14)B

(15)D

(16)C

(17)B

(18)A

(19)A

(20)A

(21)C

(22)D

(23)A

(24)D

(25)B

(26)C

(27)C

(28)B

(29)C

(30)C

(31)D

(32)D

(33)B

(34)C

(35)B

(36)D

(37)B

(38)A

(39)D

(40)D

(41)A

(42)A

(43)C

(44)B

(45)B

(46)D

(47)A

(48)C

(49)B

(50)C

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

(1)至(5)题中所有字母都允许大,小写或大小写混合

(1)【1】AUTOEXEC.BAT

(2)【2】外部(答外部命令不扣分)

(3)【3】COPYA:

*.DATPRN

(在COPY后面与A:

*.DAT后面都至少要有一个空格)

(4)【4】RENXYZ\*.BAK*.FOR或RENAMEXYZ\*.BAK*.FOR

(在REN或RENAME后面与XYZ\*.BAK后面都至少要有一个空格)

(5)【5】ATTRIB+RWST.TXT

(在ATTRIB后面与+R后面都至少有一个空格)或ATTRIBWST.TXT+R(在ATTRIB后面与WST.TXT后面都至少要有一个空格)

(6)【6】1.0或1

(7)【7】10

(8)【8】60

(9)【9】8,17

(10)【10】strlen(str)/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1

【11】str[j-1]或*(str+j-1)

(11)【12】'\0'或0

【13】++

(12)【14】'\0'或0

【15】strl[i]-str2[i]

(13)【16】"w"或"w+"或"wt"或"w+t"或"""wt+"

【17】str[i]-32或str[i]-('a'-'A'或str[i]-'a'+'A'

【18】"r"或"r+"或"r+t"或"rt+"

(14)【19】n%base

【20】[d]

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

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

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

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