1997年全国计算机等级考试二级C语言笔试试题及答案.docx
- 文档编号:3515956
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:21.68KB
1997年全国计算机等级考试二级C语言笔试试题及答案.docx
《1997年全国计算机等级考试二级C语言笔试试题及答案.docx》由会员分享,可在线阅读,更多相关《1997年全国计算机等级考试二级C语言笔试试题及答案.docx(11页珍藏版)》请在冰豆网上搜索。
1997年全国计算机等级考试二级C语言笔试试题及答案
1997年4月全国计算机等级考试二级C语言笔试试题及答案
一、选择题(
(1)-(40)每小题1分,(41)-(50)每小题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列设备中只能作为输入设备的是
A.磁盘驱动器
B.鼠标器
C.存储器
D.显示器
(2)下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是
A.Ctrl+Break
B.Ctrl+P
C.Ctrl+C
D.Ctrl+H
(3)通常所说的386机是
A.8位机
B.16位机
C.32位机
D.64位机
(4)二进制数01100100转换成十六进制数是
A.64
B.63
C.100
D.144
(5)十六进制数100转换成十进制数是
A.1024
B.512
C.256
D.128
(6)对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的方法是
A.不要与有病毒的软盘放在一起
B.在写保护口贴上胶条
C.保持软盘清洁
D.定期对软盘格式化
(7)在启动DOS系统时,启动盘的根录下必须包含的文件是
A.START.COM
B.COMMAND.COM
C.FORMAT.COM
D.BOOT.COM
(8)DOS系统启动后,下列文件中常驻内存的是
A.DOS.COM
B.COMMAND.COM
C.DISKCOPY.COM
D.SYS.COM
(9)下列名字中,不能作为DOS磁盘文件名的是
A.JTU
B.93GZ.PRG
C.CON
D.ATT&T.BAS
(10)下列命令中属于内部命令的是
A.SYS
B.COMP
C.DIR
D.DISKCOMP
(11)下列文件名中,能与ABC?
.?
匹配的是
A.AB12.C
B.ABCD.FOR
C.ABC.TXT
D.ABCD.C
(12)要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为
A.DIR**B*.*
B.DIR?
?
B*.?
C.DIR?
?
B.*
D.DIR?
?
B*.*
(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为
A.CDD2
B.CDD2\
C.CD\D2
D.CDD1\D2
(14)设当前盘为C盘,A盘当前目录为根目录。
为了删除A盘目录\WS下扩展名为.TXT的所有文件,可用的命令为
A.DELWS\*.TXT
B.DEL\WS\*.TXT
C.DELA:
\WS\?
.TXT
D.DELA:
WS\*.TXT
(15)设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X。
下列命令中能正确执行的是
A.MD\AAA\BBB\A
B.MDX
C.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/1
C.FORMATA:
/S/4
D.FORMATA:
/S
(18)要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为
A.COPY*.TXTPRN
B.COPY*.TXT>PRN
C.TYPE*.TXTPRN
D.TYPE*.TXT>PRN
(19)设B盘目录结构如下:
设B盘的当前目录为\F2,要将A盘当前目录下的文件P.BAS复制到B盘的F3子目录中,可用的命令为
A.COPYP.BASB:
B.COPYA:
P.BASB:
\
C.COPYA:
P.BASB:
\F3
D.COPYA:
P.BASB:
F3\
(20)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为
A.COPYA.TXT+X.TXTA:
Y.TXT
B.COPYB:
A.TXT+X.TXTA:
Y.TXT
C.COPYB:
A.TXT+B:
X.TXT>Y.TXT
D.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.1
B.0
C.4
D.3
(26)以下程序的输出结果是
main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);}
A.1010
B.99
C.910
D.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.159
B.147
C.357
D.369
(28)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
A.a<>0
B.!
a
C.a=0
D.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.203
B.204
C.1a4
D.1a6
(30)设有如下函数定义:
intf(char*s)
{char*p=s;
while(*p!
=’\0’)p++;
return(p-s);}
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf("%d\n",f("goodbey!
"));
A.3
B.6
C.8
D.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.7
B.8
C.9
D.10
(33)以下程序段的输出结果是
intx=3;
do{printf("=",x-=2);}while(!
(--x));
A.1
B.30
C.1-2
D.死循环
(34)定义如下变量:
intn=10;则下列循环的输出结果是
while(n>7)
{n--;
printf("%d\n",n);}
A.10
B.9
C.10
D.9
9898
8787
76
(35)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d",x);
elseprintf("%d\n",x--);}
A.7和5
B.6和3
C.7和4
D.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,a
B.;}
A.104
B.103
C.003
D.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)+2
D.*(*(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.xyabcAB
B.abcABz
C.ABabcz
D.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.10
B.1
C.9
D.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.3
B.0
C.5
D.4
(42)下列程序的输出结果是
main()
{inta[5]={2,4,6,8,10},*P,**k;
p=a;k=&p;
printf("%d",*(p++));printf("%d\n",**k);}
A.44
B.22
C.24
D.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.2
B.1
C.0
D.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.39
B.9
C.38
D.8
(45)设有以下定义:
typedefunion{longi;intk[5];charc;}DATE;
structdate{intcat;DATEcow;doubledog;}too;
DATEmax;
则下列语句的执行结果是
printf("%d",sizeof(structdate)+sizeof(max));
A.25
B.30
C.18
D.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.17
B.18
C.19
D.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.84
B.96
C.94
D.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.6385
B.69825
C.63825
D.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.1
B.7
C.9
D.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.abcdeg
B.bcde
C.ABCDE
D.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()
{ char b[]="ABCDEFG";
char *chp=&b[7];
while(--chp>&b[0]) putchar(*chp);
putchar(’\n’); }
(8) 下列程序的输出结果是【8】 。
int ast(int x,int y,int * cp,int * dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
printf("%d %d/n",c,d); }
(9) 以下程序的功能是:
人键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.
main()
{ float x,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计算数组中各元素的平均值,请填空.
float average(int * pa,int n)
{ int i;
float avg=0.0;
for(i=0;i avg=【12】;
return avg; )
main()
{ int i,a[5]={2,4,6,8,10};
float mean;
mean=average(a,5); printf("mean=%f\n",mean);}
(11) 阅读程序:
#include "string.h"
#include "stdio.h"
strle(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)!
=’\0’),num++;
while(b[n]){ *(a+num)=b[n];num++;n++;}
return (num);}
main()
{ char str1[81],str2[81],*p1=str1,*p2=str2;
gets(p1); gets(p2);
printf("%d\n",strle(p1,p2)); }
运行上面程序,如果从键盘上输入字符串qwerty和字符串abcd则程序的输出结果是 【13】 。
(12) 以下程序的输出结果是 【14】 。
fun(int n,int *s)
{ int f1,f2;
if(n = =1||n = =2) *s=1;
else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2;} }
main()
{ int x;
fun(6,&x); printf("%d\n",x); }
(13) 阅读程序:
main()
{ char str1[]="how do you do" ,str2[10];
char *p1=str1,*p2=str2;
scanf("%s",p2); printf("%s",p2); printf("%s\n",p1); }
运行上面的程序,输入字符串HOW DO YOU DO 则程序的输出结果是【15】 。
(14) 以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志.请填空.
#include
main()
{ FILE * fp;
char ch,fname[10];
printf("lnput the name of file\n");
gets(fname);
if((fp=【16】)==NULL)
{ printf("Cannot open\n"); exit(0);}
printf("Enter data\n");
while((ch=getchar())!
=’#’) fputc(【17】,fp);
fclose(fp); }
(15) 以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。
单向链表的头
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1997 全国 计算机等级考试 二级 语言 笔试 试题 答案