1997年全国计算机等级考试二级c语言笔试试题含参考答案.docx
- 文档编号:24674744
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:17
- 大小:29.56KB
1997年全国计算机等级考试二级c语言笔试试题含参考答案.docx
《1997年全国计算机等级考试二级c语言笔试试题含参考答案.docx》由会员分享,可在线阅读,更多相关《1997年全国计算机等级考试二级c语言笔试试题含参考答案.docx(17页珍藏版)》请在冰豆网上搜索。
1997年全国计算机等级考试二级c语言笔试试题含参考答案
全国计算机等级考试二级笔试卷
基础知识和C语言程序设计
(考试时间120分钟,满分100分)
1997年4月
一、选择题(
(1)-(40)每小题1分,(41)-(50)每小题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列设备中只能作为输入设备的是
A)磁盘驱动器B)鼠标器C)存储器D)显示器
(2)下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是
A)Ctrl+BreakB)Ctrl+PC)Ctrl+CD)Ctrl+H
(3)通常所说的386机是
A)8位机B)16位机C)32位机D)64位机
(4)二进制数01100100转换成十六进制数是
A)64B)63C)100D)144
(5)十六进制数100转换成十进制数是
A)1024B)512C)256D)128
(6)对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的方法是
A)不要与有病毒的软盘放在一起B)在写保护口贴上胶条
C)保持软盘清洁D)定期对软盘格式化
(7)在启动DOS系统时,启动盘的根录下必须包含的文件是
A)START.COMB)COMMAND.COMC)FORMAT.COMD)BOOT.COM
(8)DOS系统启动后,下列文件中常驻内存的是
A)DOS.COMB)COMMAND.COMC)DISKCOPY.COMD)SYS.COM
(9)下列名字中,不能作为DOS磁盘文件名的是
A)JTUB)93GZ.PRGC)COND)ATT&T.BAS
(10)下列命令中属于内部命令的是
A)SYSB)COMPC)DIRD)DISKCOMP
(11)下列文件名中,能与ABC?
.?
匹配的是
A)AB12.CB)ABCD.FORC)ABC.TXTD)ABCD.C
(12)要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为
A)DIR**B*.*B)DIR?
?
B*.?
C)DIR?
?
B.*D)DIR?
?
B*.*
(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为
A)CDD2B)CDD2\C)CD\D2D)CDD1\D2
(14)设当前盘为C盘,A盘当前目录为根目录。
为了删除A盘目录\WS下扩展名为.TXT的所有文件,可用的命令为
A)DELWS\*.TXTB)DEL\WS\*.TXTC)DELA:
\WS\?
.TXTD)DELA:
WS\*.TXT
(15)设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X。
下列命令中能正确执行的是
A)MD\AAA\BBB\AB)MDXC)MD\D)MD\AAA\BBB\A\B\X
(16)在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是
A)DEL\DOS与RD\DOS(当前盘上有目录\DOS)
B)FORMATA:
与DELA:
*.*(A盘为启动盘)
C)DISKCOPYA:
B:
与COPYA:
*.*B:
(A盘为启动盘)
D)COPYF1F2与TYPEF1>F2(当前盘当前目录下有文件F1)
(17)为了在1.2MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为
A)FORMATA:
B)FORMATA:
/S/1C)FORMATA:
/S/4D)FORMATA:
/S
(18)要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为
A)COPY*.TXTPRNB)COPY*.TXT>PRNC)TYPE*.TXTPRND)TYPE*.TXT>PRN
(19)设B盘目录结构如下:
设B盘的当前目录为\F2,要将A盘当前目录下的文件P.BAS复制到B盘的F3子目录中,可用的命令为
A)COPYP.BASB:
B)COPYA:
P.BASB:
\
C)COPYA:
P.BASB:
\F3D)COPYA:
P.BASB:
F3\
(20)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为
A)COPYA.TXT+X.TXTA:
Y.TXTB)COPYB:
A.TXT+X.TXTA:
Y.TXT
C)COPYB:
A.TXT+B:
X.TXT>Y.TXTD)COPYB:
A.TXT+B:
X.TXTY.TXT
(21)C语言中最简单的数据类型包括
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型
(22)C语言中,运乍对象必须是整型数的运算符是
A)%B)\C)%和\D)**
(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)下述对C语言字符数组的描术中错误的是
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
(25)设有如下定义:
intx=10,y=3,z;则语句
printf("%d\n",z=(x%y,x/y));的输出结果是
A)1B)0C)4D)3
(26)以下程序的输出结果是
main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);}
A)1010B)99C)910D)109
(27)定义如下变题和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是
for(i=0;i<3;i++)printf("%d",x[i][2-1]);
A)159B)147C)357D)369
(28)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
A)a<>0B)!
aC)a=0D)a
(29)阅读程序:
#include
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9);}
该程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是
A)203B)204C)1a4D)1a6
(30)设有如下函数定义:
intf(char*s)
{char*p=s;
while(*p!
='\0')p++;
return(p-s);}
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf("%d\n",f("goodbey!
"));
A)3B)6C)8D)0
(31)以下说法中正确的是
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
(32)执行下面的程序后,a的值为
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)break;
if(b%3==1){b+=3;continue;}
b-=5;}}
A)7B)8C)9D)10
(33)以下程序段的输出结果是intx=3;do{printf("%3d",x-=2);}while(!
(--x));
A)1B)30C)1-2D)死循环
(34)定义如下变量:
intn=10;则下列循环的输出结果是
while(n>7)
{n--;
printf("%d\n",n);}A)10B)9C)10D)99898
8787
76
(35)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d",x);
elseprintf("%d\n",x--);}
A)7和5B)6和3C)7和4D)6和4
(36)设有如下定义:
char*aa[2]={"abcd","ABCD"};则以下就法中正确的是
A)aa数组成元素的值分别是"abcd"和ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符'a'和'A'的地址
(37)以下程序的输出结果是
main()
{inta=-1,b=4,k;
k=(++a〈0)&&!
(b--〈=0);
printf("%d%d%d\n",k,ab);}
A)104B)103C)003D)004
(38)设有以下定义:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)
(39)下列程序的输出结果是
main()
{char*p1,*p2,str[50]="xyz";
p1="abcd";
p2="ABCD";
strcpy(str+2,strcat(p1+2,p2+1);
printf)"%s",str);}
A)xyabcABB)abcABzC)ABabczD)xycdBCD
(40)执行下面的程序后,a的值是
#defineSQR(X)X*X
main()
{inta=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);}
A)10B)1C)9D)0
(41)下列程序执行后输出的结果是
#include
f(inta)
{intb=0;staticc=3:
a=c++,b++;
return(a);}
main()
{inta=2,i,k;
for(i=0;i〈2;i=++〉k=f(a++);
printf("%d\n",k);}
A)3B)0C)5D)4
(42)下列程序的输出结果是
main()
{inta[5]={2,4,6,8,10},*P,**k;
p=a;k=&p;
printf("%d",*(p++));printf("%d\n",**k);}
A)44B)22C)24D)46
(43)阅读下列程序:
main()
{intn[3],i,j,k;
for(i=0;i〈3;i++〉n[i]=0;
k=2;
for(i=0;i〈k;i++〉
for(j=0;j〈k;j++〉n[j]=n[i]+1;
printf("%d\n",n[1]);}
下述程序运行后输出结果是
A)2B)1C)0D)3
(44)字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是
#include
main()
{union{inti[2];longk;charc[4];}r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0])}
A)39B)9C)38D)8
(45)设有以下定义:
typedefunion{longi;intk[5];charc;}DATE;
structdate{intcat;DATEcow;doubledog;}too;
DATEmax;
则下列语句的执行结果是
printf("%d",sizeof(structdate)+sizeof(max));
A)25B)30C)18D)8
(46)执行以下程序后,y的值是
main()
{inta[]={2,4,6,8,10};
inty=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)y+=*(p+x);
printf("%d\n",y);}
A)17B)18C)19D)20
(47)下列程序执行后输出的结果是
intd=1;
fun(intq)
{intd=5;
d+=p++;printf("%d".d);}
main()
{inta=3;
fun(a);
d+=a++;printf("%d\n",d);}
A)84B)96C)94D)85
(48)下列程序的输出结果是
main()
{charch[2][5]={"6934,"8254"},*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)s=10*s+p[i][j]-'0';
printf("%d\n",s);
A)6385B)69825C)63825D)693825
(49)以下程序的输出结果是
fut(int**s,intp[2][3])
{**s=p[1][1];}
main()
{inta[2][3]={1,3,5,7,9,11},*p;
p=(int*)malloc(sizeof(int));
fut(&p,a);
primtf("%d\n",*p);}
A)1B)7C)9D)11
(50)以下程序的输出结果是
#include"ctype.h"
space(char*str)
{inti,t;charts[81];
for(i=0,t=0;str[i]!
='\0';i+=2)
if(!
isspace(*str+i)&&(*(str+i)!
='a'))
ts[t++]=toupper(str[i]);
ts[t]='\0';
strcpy(str,ts);}
mian()
{chars[81]={"abcdefg"};
space(s);
puts(s);}
A)abcdegB)bcdeC)ABCDED)BCDE
二、填空题(每空2分,共40分)
请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。
(1)十进制数112.375转换成十六进制数为【1】。
(2)存储200个32×32点阵的汉字信息需【2】KB。
(3)数字符号0的ASCII码十进制表示为48,数字符号9的ASCII码十进制表示为【3】。
(4)DOS命令分为内部命令与外部命令,TREE命令属于【4】命令。
(5)自动批处理文件的文件名为【5】。
(6)表示条件:
10 (7)下列程序的输出结果是【7】 main(){charb[]="ABCDEFG"; char*chp=&b[7];while(--chp>&b[0])putchar(*chp); putchar('\n');} (8)下列程序的输出结果是【8】。 intast(intx,inty,int*cp,int*dp) {*cp=x+y;*dp=x-y;} main() {inta,b,c,d; a=4;b=3; ast(a,b,&c,&d); printf("%d%d/n",c,d);} (9)以下程序的功能是: 人键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空. main() {floatx,amax,amin; scanf("%f",&x); amax=x;amin=x; while(【9】) {if(x>amax)amax=x; if(【10】)amin=x; scanf("%f",&x);} printf("\namax=%f\namin=%f\n",amax,amin);} (10)下面程序通过函数average计算数组中各元素的平均值,请填空. floataverage(int*pa,intn) {inti; floatavg=0.0; for(i=0;i avg=【12】; returnavg;} main() {inti,a[5]={2,4,6,8,10}; floatmean; mean=average(a,5);printf("mean=%f\n",mean);} (11)阅读程序: #include"string.h" #include"stdio.h" strle(chara[],charb[]) {intnum=0,n=0; while(*(a+num)! ='\0'),num++; while(b[n]){*(a+num)=b[n];num++;n++;} return(num);} main() {charstr1[81],str2[81],*p1=str1,*p2=str2; gets(p1);gets(p2); printf("%d\n",strle(p1,p2));} 运行上面程序,如果从键盘上输入字符串qwerty和字符串abcd则程序的输出结果是【13】。 (12)以下程序的输出结果是【14】。 fun(intn,int*s) {intf1,f2; if(n==1||n==2)*s=1; else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}} main() {intx; fun(6,&x);printf("%d\n",x);} (13)阅读程序: main() {charstr1[]="howdoyoudo",str2[10]; char*p1=str1,*p2=str2; scanf("%s",p2);printf("%s",p2);printf("%s\n",p1);} 运行上面的程序,输入字符串HOWDOYOUDO则程序的输出结果是【15】。 (14)以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志.请填空. #include main() {FILE*fp; charch,fname[10]; printf("lnputthenameoffile\n"); gets(fname); if((fp=【16】)==NULL) {printf("Cannotopen\n");exit(0);} printf("Enterdata\n"); while((ch=getchar())! ='#')fputc(【17】,fp); fclose(fp);} (15)以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。 单向链表的头指针作为函数值返回.请填空: #include structlist{chardata;structlist*next;}; structlist*creat() {structlist*h,*p,*q; charch; h=【18】malloc(sizeof(structlist)); p=q=h; ch=getchar(); while(ch! ='? ') {p=【19】malloc(sizeof(structlist)); p->data=ch; p->next=p; q=p; ch=getchar(); } p->next='\0'; 【20】 } 〖完〗 1997年4月二级C笔试试卷参考答案 一选择题( (1)~(40)题每题1分,(41)~(50)题每题2分,共60分) (1)B (2)B (3)C (4)A (5)C (6)B (7)B (8)B (9)C (10)C (11)D (12)D (13)C (14)D (15)B (16)D (17)C (18)A (19)C (20)D (21)B (22)A (23)A (24)C (25)D (26)D (27)C (28)D (29)D (30)C (31)C (32)B (33)C (34)B (35)A (36)D (37)D (38)D (39)D (40)B (41)D (42)C (43)D (44)B (45)B (46)C (47)A (48)A (49)C (50)D 二填空题(每空2分,共40分) ( (1)至(5)题中所有字母都允许大`小写或大小写混合) (1)【1】70.6 (2)【2】25(答25KB不扣分) (3)【3】57 (4)【4】外部(答外部命
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1997 全国 计算机等级考试 二级 语言 笔试 试题 参考答案