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

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

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

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

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

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

2000年9月全国计算机等级考试二级C语言笔试试题及答案

 一、选择题(

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

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

  

(1)下列电子邮件地址中正确的是(其中□表示空格)

  A.Malin%26amp;

  B.malin@

  C.Lin□Ma%26amp;

  D.Lin□Ma@

  

(2)下列说法中正确的是

  A.为了使用Novell网提供的服务,必须采用FTP协议

  B.为了使用Internet网提供的服务,必须采用TELNET协议

  C.为了使用Novell网提供的服务,必须采用TCP/IP协议

  D.为了使用Internet网提供的服务,必须采用TCP/IP协议

  (3)下列说法中不正确的是

  A.调制解调器(Modem)是局域网络设备

  B.集线器(Hub)是局域网络设备

  C.网卡(NIC)是局域网络设备

  D.中继器(Repeater)是局域网络设备

  (4)十进制数397的十六进制值为

  A.18D

  B.18E

  C.277

  D.361

  (5)下列说法中不正确的是

  A.CD-ROM是一种只读存储器但不是内存储器

  B.CD-ROM驱动器是多媒体计算机的基本部分

  C.只有存放在CD-ROM盘上的数据才称为多媒体信息

  D.CD-ROM盘上最多能够存储大约650兆字节的信息

  (6)Windows应用环境中鼠标的拖动操作不能完成的是

  A.当窗口不是最大时,可以移动窗口的位置

  B.当窗口最大时,可以将窗口缩小成图标

  C.当窗口有滚动条时可以实现窗口内容的滚动

  D.可以将一个文件移动(或复制)到另一个目录中去

  (7)从Windows中启动MS-DOS方式进入了DOS状态,如果想回到Windos状态,在DOS提示符下,应键入的命令为

  A.EXIT

  B.QUIT

  C.WIN

  D.DOS-U

  (8)要在WINDOWS标准窗口的下拉菜单中选择命令,下列操作错误的是

  A.用鼠标单击该命令选项

  B.用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键

  C.同时按下ALT键与该命令选项后括号中带有下划线的字母键

  D.直接按该命令选项后面括号中带有下划线的字母键

  (9)ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为

  A.1024

  B.256

  C.128

  D.8O

  (10)字长为32位的计算机是指

  A.该计算机能够处理的最大数不超过232

  B.该计算机中的CPU可以同时处理32位的二进制信息

  C.该计算机的内存量为32MB

  D.该计算机每秒钟所能执行的指令条数为32MIPS

  (11)在DOS系统中,下列文件名中非法的是

  A.ABCDEFG1

  B.ABCDEFG1.234C)ABCD_EFGD)ABCD\EFG

  (12)DOS系统启动后,下列文件中驻留内存的是

  A.CONFIG.SYS

  B.COMMAND.COM

  C.AUTOEXEC.BAT

  D.MEM.EXE

  (13)DOS下的“DIR*2”命令将列出当前目录下的

  A.所有名字末尾为字符2的非隐含文件和目录

  B.所有名字末尾为字符2的非隐含文件

  C.所有非隐含文件

  D.所有非隐含文件和目录

  (14)软驱的盘符为A,A盘上只有一个目录\XYZ,而\XYZ下有若干子目录和文件,若想把A盘的所有内容复制到C盘根目录下,应使用的命令为

  A.COPYA:

\*.*C:

  B.COPYA:

\*.*C:

\*.*

  C.XCOPYA:

\*.*C:

\/S

  D.DISKCOPYA:

C:

  (15)若要将当前盘目录下的文件A.TXT连接在文件B.TXT后面,应使用的命令为

  A.COPYA.TXT%26gt;%26gt;B.TXT

  B.MOVEA.TXT%26gt;%26gt;B.TXT

  C.PATHA.TXT%26gt;%26gt;B.TXT

  D.TYPEA.TXT%26gt;%26gt;B.TXT

  (16)若变量已正确定义并赋值,下面符合C语言语法的表达式是

  A.a:

=b+1

  B.a=b=c+2

  C.int18.5%3

  D.a=a+7=c+b

  (17)C语言中运算对象必须是整型的运算符是

  A.%=

  B./

  C.=

  D.〈=

  (18)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是

  A.1

  B.2

  C.2.0

  D.2.5

  (19)若变量a、iI已正确定义,且i已正确赋值,合法的语句是

  A.a==1

  B.++i;

  C.a=a++=5;

  D.a=int(i);

  (20)若有以下程序段,

  intc1=1,c2=2,c3;

  c3=1.0/c2*c1;

  则执行后,c3中的值是

  A.0

  B.0.5

  C.1

  D.2

  (21)有如下程序

  main0

  {inty=3,x=3,z=1;

  printf(“%d%d\n”,(++x,y++),z+2);

  }

  运行该程序的输出结果是

  A.34

  B.42

  C.43

  D.33

  (22)能正确表示逻辑关系:

“a≥=10或a≤0”的C语言表达式是

  A.a%26gt;=10ora%26lt;=0

  B.a%26gt;=0|a%26lt;=10

  C.a%26gt;=10%26amp;%26amp;a%26lt;=0

  D.a%26gt;=10‖a%26lt;=0

  (23)有如下程序

  main0

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

  switch(x){

  case0:

b++;

  case1:

a++

  case2:

a++;b++

  }

  printf(“a=%d,b=%d\n”,a,

  B.;

  }

  该程序的输出结果是

  A.a=2,b=1

  B.a=1,b=1

  C.a=1,b=0

  D.a=2,b=2

  (24)有如下程序

  main0

  {floatx=2.0,y;

  if(x%26lt;0.0)y=0.0;

  elseif(x%26lt;10.0)y=1.0/x;

  elsey=1.0;

  printf(“%f\n”,y);

  }

  该程序的输出结果是

  A.0.000000

  B.0.250000

  C.0.500000

  D.1.000000

  (25)有如下程序

  main0

  {inta=2,b=-1,c=2;

  if(a

  if(b%26lt;0)c=0;

  elsec++

  printf(“%d\n”,

  C.;

  }

  该程序的输出结果是

  A.0

  B.1

  C.2

  D.3

  (26)有如下程序

  main0

  {inti,sum;

  for(i=1;i%26lt;=3;sum++)sum+=i;

  printf(“%d\n”,sum);

  }

  该程序的执行结果是

  A.6

  B.3

  C.死循环

  D.0

  (27)有如下程序

  main0

  {intx=23;

  do

  {printf(“%d”,x--);}

  while(!

x);

  }

  该程序的执行结果是

  A.321

  B.23

  C.不输出任何内容

  D.陷入死循环

  (28)有如下程序

  main0

  {intn=9;

  while(n%26gt;6){n--;printf(“%d”,n);}

  }

  该程序段的输出结果是

  A.987

  B.876

  C.8765

  D.9876

  (29)设有说明语句:

chara=’\72’;则变量a

  A.包含1个字符

  B.包含2个字符

  C.包含3个字符

  D.说明不合法

  (30)有如下函数调用语句

  func(rec1,rec2+rec3,(rec4,rec5);

  该函数调用语句中,含有的实参个数是

  A.3

  B.4

  C.5

  D.有语法错

  (31)有如下程序

  intrunc(inta,int

  B.

  {return(a+

  B.;}

  main0

  {intx=2,y=5,z=8,r;

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

  printf(“%\d\n”,r);

  }

  该程序的输出的结果是

  A.12

  B.13

  C.14

  D.15

  (32)有如下程序段

  int*p,a=10,b=1

  p=%26amp;a;a=*p+b;

  执行该程序段后,a的值为

  A.12

  B.11

  C.10

  D.编译出错

  (33)对于基类型相同的两个指针变量之间,不能进行的运算是

  A.%26lt;

  B.=

  C.+

  D.-

  (34)以下函数返回a所指数组中最小的值所在的下标值

  fun(int*a,intn)

  {inti,j=0,p;

  p=j;

  for(i=j;i

  if(a[i]

  return(p);

  }

  在下划线处应填入的是

  A.i=p

  B.a[p]=a[i]

  C.p=j

  D.p=i

  (35)有如下程序

  longfib(intn)

  {if(n%26gt;2)return(fib(n-1)+fib(n-2));

  elsereturn

(2);

  }

  main0

  {printf(“%d\n”,fib(3));

  该程序的输出结果是

  A.2

  B.4

  C.6

  D.8

  (36)在C语言中,函数的隐含存储类别是

  A.auto

  B.static

  C.extern

  D.无存储类别

  (37)有如下程序

  #defineN2

  #defineMN+1

  #defineNUM2*M+1

  #main()

  {inti;

  for(i=1;i%26lt;=NUM;i++)printf(“%d\n”,i);

  }

  该程序中的for循环执行的次数是

  A.5

  B.6

  C.7

  D.8

  (38)有以下函数

  charfun(char*p)

  {returnp;}

  该函数的返回值是

  A.无确切的值

  B.形参p中存放的地址值

  B.一个临时存储单元的地址

  D.形参p自身的地址值

  (39)有如下程序段

  inta=14,b=15,x;

  charc=’A’;

  x=(a%26amp;%26amp;

  B.%26amp;%26amp;(c%26lt;’B’);

  执行该程序段后,x的值为

  A.ture

  B.false

  C.0

  D.1

  (40)若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是

  A.EOF

  B.0

  C.非零值

  D.NULL

  (41)若有以下说明和定义

  fun(int*

  C.{}

  main()

  {int(*a)()=fun,*b(),w[10],c;

  ┆

  }

  在必要的赋值之后,对fun函数的正确调用语句是

  A.a=a(w);

  B.(*a)(%26amp;

  C.;

  C.b=*b(w);

  D.fun(

  B.;

  (42)有如下说明

  inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

  则数值为9的表达式是

  A.*P+9

  B.*(P+8)

  C.*P+=9

  D.P+8

  (43)有如下程序

  main0

  {intn[5]={0,0,0},i,k=2;

  for(i=0;i  printf(“%d\n”,n[k]);

  }

  该程序的输出结果是

  A.不确定的值

  B.2

  C.1

  D.0

  (44)若有以下的定义:

intt[3][2];能正确表示t数组元素地址的表达式是

  A.%26amp;t[3][2]

  B.t[3]

  C.t[1]

  D.t[2]

  (45)有如下程序

  main0

  {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

  for(i=1;i%26lt;3;i++)

  for(j=0;j  printf(“%d\n”,s);

  }

  该程序的输出结果是

  A.18

  B.19

  C.20

  D.21

  (46)有如下定义

  structperson{charname[9];intage;};

  strictpersonclass[10]={“Johu”,17,

  “Paul”,19

  “Mary”,18,

  “Adam16,};

  根据上述定义,能输出字母M的语句是

  A.prinft(“%c\n”,class[3].mane);

  B.pfintf(“%c\n”,class[3].name[1]);

  C.prinft(“%c\n”,class[2].name[1]);

  D.printf(“%^c\n”,class[2].name[0]);

  (47)以下对结构体类型变量的定义中,不正确的是

  A.typedefstructaa

  B.#defineAAstructaa

  {intn;AA{intn;

  floatm;floatm;

  }AA;}td1;

  AAtd1;

  C.struct

  D.struct

  {intn;{intn;

  floatm;floatm;

  }aa;}td1;

  stuctaatd1;

  (48)若已建立如下图所示的单向链表结构,

  P

  datanext

  在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是

  A.p=p-%26gt;next;s-%26gt;next=p;p-%26gt;next=s;

  B.p=p-%26gt;next;s-%26gt;next=p-%26gt;next;p-%26gt;next=s;

  C.s-%26gt;next=NULL;p=p-%26gt;next;p-%26gt;next=s;

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

  (49)有如下程序

  main()

  {chars[]=”ABCD”,*P;

  for(p=s+l;p

  }

  该程序的输出结果是

  A.ABCD

  B.A

  C.B

  D.BCD

  BCDBCCD

  CDCDD

  DD

  (50)有如下程序

  main()

  {charch[2][5]={“6937”,”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’;j+=2)

  s=10*s+p[i][j]-‘0’;

  printf(“%d\n”,s);

  }

  该程序的输出结果是

  A)69825B)63825C)6385D)693825

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

  请将每空的正确答案写在答题卡上[1]至[20]序号的横线上,答在试卷上不得分。

  

(1)在DOS状态下,当执行当前盘目录中的程序A.EXE时,为了将本该在屏幕上显示的运行结果输出到文件A.DAT中,应使用的DOS命令为[1]。

  

(2)在XCOPY、PATH、TREE三个DOS命令中,属于内部命令的是令是[2]。

  (3)设当前盘为C盘,为了将当前盘当前目录中第三个字符为X的所有文件同名复制到A盘的当前目录中,应使用的DOS命令为[3]。

  (4)要将当前盘的目录A\B\C设置为当前目录,应使用的DOS命令为[4]。

  (5)计算机网络按通信距离划分为局域网与广域网,Novell网属于[5]。

  (6)以下程序的输出结果是[6]。

  main()

  {unsignedshorta=65536;intb;

  printf(“%d\n”,b=a);

  }

  (7)若有定义:

inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是[7]。

  c=(a-=(b-5));

  c=(a_)+(b=3);

  (8)表示“整数x的绝对值大于5”时值为“真”的C语言表达式是[8]。

  (9)要使以下程序段输出10个整数,请填入一个整数。

  for(i=0;i%26lt;=[9];printf(“%d\n”,i+=2));

  (10)函数pi的功能是根据以下近似公式求π值:

  (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

  现在请你在下面的函数中填空,完成求π的功能。

  #include“math.h”

  doublepi(longn)

  {doubles=0.0;longi;

  for(i=1;i%26lt;=n;i++)s=s+[10];

  return(sqrt(6*s));

  }

  (11)若输入字符串:

abcde%26lt;回车%26gt;,则以下while循环体将执行[11]次。

  While((ch=getchar())==’e’)printf(“*”);

  (12)以下函数用来求出两整数之和,并通过形参将结果传回,请填空。

  voidfunc(intx,inty,[12]z)

  {*z=x+y;}

  (13)若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是[13]。

  intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

  (14)设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部[14]。

要求形参名为b。

  main()

  {doubles[10][22];

  intn;┆

  ┆

  fun(s);

  ┆

  }

  (15)以下程序的输出结果是[15]。

  voidfun()

  {staticinta=0;

  a+=2;printf(“%d”,a);

  }

  main()

  {intcc;

  for(cc=1;cc%26lt;4;cc++)fun()

  printf(“\n”);

  }

  (16)以下程序的输出结果是[16]。

  #defineM

AX(x,y)(x)%26gt;(y)?

(x):

(y)

  main()

  {inta=5,b=2,c=3,d=3,t;

  t=MAX(a+b,c+d)*10;

  printf(“%d\n”,t);

  }

  (17)若要使指针p指向一个double类型的动态存储单元,请填空。

  p=[17]malloc(sizeof(double));

  (18)设有以下结构类型说明和变量定义,则变量a在内存所占字节数是[18]。

  Structstud

  {charnum[6];

  ints[4];

  doubleave;

  }a,*p;

  (19)以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。

请填空。

  Strcen(chara[],charb[])

  {intnum=0,n=0;

  while(*(a+num)!

=[19])num++;

  while(b[n]){*(a+num)=b[n];num++;[20];}

  return(num);

  }

  2000年9月全国计算机等级考试二级笔试试卷答案

  一、选择题:

  

(1)B

(2)D(3)A(4)A(5)C(6)B(7)A(8)C(9)B(10)B

  (11)D(12)B(13)D(14)C(15)D(16)B(17)A(18)C(19)B(20)A

  (21)D(22)D(23)A(24)C(25)C(26)C(27)B(28)B(29)A(30)A

  (31)D(32)B(33)C(34)D(35)B(36)C(37)B(38)B(39)D(40)c

  (41)B(42)B(43)D(44)D(45)A(46)D(47)C(48)A(49)D(50)C

  

  二、填空题:

  [1]A.EXE%26gt;A.DAT或A%26gt;%26gt;A.DAT

  [2]PATH

  [3]COPY?

?

X*.*A:

  [4]CDA\B\C

  [5]局域网

  [6]0

  [7]3

  [8]x%26gt;5||x%26lt;-5

  [9]18

  [10]1.0/(i*i)

  [11]0

  [12]int*

  [13]P[5]或*(p+5)

  [

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

当前位置:首页 > 总结汇报 > 学习总结

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

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