1997年全国计算机等级考试二级C语言笔试试题及答案.docx

上传人:b****5 文档编号:3295374 上传时间:2022-11-21 格式:DOCX 页数:12 大小:22.54KB
下载 相关 举报
1997年全国计算机等级考试二级C语言笔试试题及答案.docx_第1页
第1页 / 共12页
1997年全国计算机等级考试二级C语言笔试试题及答案.docx_第2页
第2页 / 共12页
1997年全国计算机等级考试二级C语言笔试试题及答案.docx_第3页
第3页 / 共12页
1997年全国计算机等级考试二级C语言笔试试题及答案.docx_第4页
第4页 / 共12页
1997年全国计算机等级考试二级C语言笔试试题及答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

1997年全国计算机等级考试二级C语言笔试试题及答案.docx

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

1997年全国计算机等级考试二级C语言笔试试题及答案.docx

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%26amp;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%26gt;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%26gt;PRN

  C.TYPE*.TXTPRN

  D.TYPE*.TXT%26gt;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%26gt;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%26gt;=y)%26amp;%26amp;(y%26gt;=z)B(x%26gt;=y)AND(y%26gt;=z)

  C.(x%26gt;=y%26gt;=z)

  D.(x%26gt;=y)%26amp;(y%26gt;=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%26lt;3;i++)printf("%d",x[i][2-1]);

  A.159

  B.147

  C.357

  D.369

(28)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

  A.a%26lt;%26gt;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%26lt;=100;a++)

  {if(b%26gt;=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%26gt;7)

  {n--;

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

  A.10

  B.9

  C.10

  D.9

  9898

  8787

  76

(35)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是

  main()

  {intx;

  scanf("%d",%26amp;x);

  if(x++%26gt;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)%26amp;%26amp;!

(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=%26amp;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=%26amp;r;

  s-%26gt;i[0]=0x39;

  s-%26gt;i[1]=0x38;

  printf("%c\n",s-%26gt;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=%26amp;a[1];

  for(x=0;x%26lt;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%26lt;2;i++)p[i]=ch[i];

  for(i=0;i%26lt;2;i++)

  for(j=0;p[i][j]%26gt;’\0’%26amp;%26amp;p[i][j]%26lt;=’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(%26amp;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)%26amp;%26amp;(*(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()

  {charb[]="ABCDEFG";

  char*chp=%26amp;b[7];

  while(--chp%26gt;%26amp;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,%26amp;c,%26amp;d);

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

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

人键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.

  main()

  {floatx,amax,amin;

  scanf("%f",%26amp;x);

  amax=x;amin=x;

  while(【9】)

  {if(x%26gt;amax)amax=x;

  if(【10】)amin=x;

  scanf("%f",%26amp;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,%26amp;f1);fun(n-2,%26amp;f2);*s=f1+f2;}}

  main()

  {intx;

  fun(6,%26amp;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()

  {FI

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

当前位置:首页 > 小学教育 > 英语

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

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