中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

99年4月全国计算机等级考试二级笔试试卷
基础部分和C语言程序设计


(考试时间120分钟,满分100分)
 
一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)
  下列各题A)、B)、C)、D)四个有选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
 (1)微型计算机的性能主要取决于
  A)内存 B)中央处理器 C)硬盘 D)显示卡
 (2)有一个数值152,它与十六进制数6A相等,那么该数值是
  A)二进制数 B)八进制数 C)十进制数 D)四进制数
 (3)使用超大规模集成电路制造的计算机应该归属于
  A)第一代 B)第二代 C)第三代 D)第四代
 (4)已知英文字母a的ASCII代码值是十六进制数61H,那字母子b的ASCII代码值是
  A)34H B)54H C)24H D)64H
 (5)一片存储容量是1.44MB的软磁盘,可以存储大约140万个
  A)ASCII字符 B)中文字符 C)磁盘文件 D)子目录
 (6)在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是
  A)终止当前操作 B)暂停当前操作 C)关机 D)热启动
 (7)将二进制数10000001转换为十进制数应该是
  A)127 B)129 C)126 D)128
 (8)磁盘处于写保护状态,那么磁盘中的数据A)不能读出,不能删改,也不能写入新数据B)可以读出,不能删改,也不能写入新数据C)可以读出,可以删改,但不能写入新数据D)可以读出,不能删改,但可以写入新数据
 (9)微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令
  A)PROMPT B)PROMPT USER C)PROMPT $P$G D)CD USER
 (10)MS-DOS文件系统目录的组织形式属于
  A)关系型结构 B)网络型结构 C)树型结构 D)直线型结构
 (11)应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH 目录中,而数据文件存放在C:\TH\DATA目录中。如要将它们完整地复制到A盘,应该使用的命令是
  A)XCOPY C:\TH A:\ B)XCOPY C:\TH A:\ /S C) XCOPY C:\TH A:\ /M D)XCOPY C:\TH A:\ /P
 (12)执行COPY A.+B.TXT这个DOS命令后,得到的磁盘文件是
  A)A.TXT B)B.TXT C)AB.TXT D)A+B.TXT
 (13)在WINDOWS中,将一个应用程序窗口最小化之后,该应用程序
  A)仍在后台运行 B)暂时停止运行 C)完全停止运行 D)出错
 (14)CD-ROM属于
  A)感觉媒体 B)表示媒体 C)表现媒体 D)存储媒体
 (15)在因特网(Internet)中电子公告板的缩写是
  A)FTP B)WWW C)BBS D)E-mail
 (16)设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为
  A)4 B)16 C)32 D)52
 (17)设有如下的变量定义:
  int i=8,k,a,b;
  unsinged long w=5
  double x=1,42,y=5.2
  则以下符合C语言语法的表达式是
  A)a+=a-=(b=4)*(a=3)
  B)x%(-3);
  C)a=a*3=2 D)y=float(i)
 (18)假定有以下变量定义:
  int k=7,x=12;
  则能使值为3的表达式是
  A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
 (19)以下叙述中正确的是
  A)输入项可以是一个实型常量,如 scanf("%f,"3.5);
  B)只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf("a=%d,b=%d");
  C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4.2f",&f);
  D)当输入数据时,必须指明变量地址,例如: scanf("%f",&f);
 (20)设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是
  A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值
 (21)以下程序的输出结果是
  A)10 10  B)12 12  C)11 10  D)11 13main()
                    { int a=12,b=12;
                      printf("%d %d\n",--a,++b);}
 (22)以下程序运行后,输出结果是
  A)cde B)字符c的ASCII码值 C)字符c的地址 D)出错
  main()
  { char *s="abcde";
  s+=2;
  printf("%ld\n",s);
  }
 (23)以下程序输出结果是
  A)7 B)6 C)5 D)4
  main()
  { int m=5;
  if(m++>5)printf("%d\n",m);
  else printf("%d\n",m--);
  }
 (24)当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为
  A)1 B)2 C)3 D)6
  if(a<b)
  if(c<d) x=1;
  else
  if(a<c)
  if(b<d) x=2;
  else x=3;
  else x=3;
  else x=6;
  else x=7;
 (25)在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为
  A)ABCdef B)abcDEF C)abc D)DEF
  #include<stdio.h>
  main( )
  { char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32;
  else if(ch>='a' && ch<'z')ch=ch+32;
  printf("%c",ch);}printf("\n");}(26)下面能正确进行字符串赋值操作的语句是
  A)char s[5]={"ABCDE"};
  B)char s[5]={'A'、'B'、'C'、'D'、'E'};
  C) char *s;s="ABCDEF";
  D)char *s;scanf("%s",s);
 (27)当执行以下程序段时
  A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误
  x=-1;
  do { x=x*x;} while(!x);
 (28)执行以下程序后,输出的结果是
  A)-1 B)1   C)8   D)0
  main()
  { int y=10;
  do {y--;} while(--y);
  printf("%d\n",y--);
  }
 (29)在下列选项中,没有构成死循环的程序段是A) int i=100
  while (1)
  {i=i%100+1;
  if(i>100)break;
  }B) for(;;);C)int k=1000;
  do{++k} while (k>=1000)D)int s=36
  While(s);--s;
 (30)执行语句:for(i=1;i++<4;)后;变量i的值是
  A)3 B)4 C)5 D)不定
 (31)以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为
  A)8 B)7 C)6 D)5
  #include<stdio.h>
  #include<string.h>
  func(char str[ ] )
  { int num =0;
  while(*(str+num!='\0') num+ +;
  return(num);
  }
  main( )
  {char str[10],*p=str;
  gets(p); printf("%d\n",func(p));
  }
 (32)运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为
  A)2,0 B)5,0 C)5,5 D)2,5
  #include<stdio.h>
  main( ){int v1=0,v2=0;
  char ch;
  while((ch=getchar( ))!='#')
  switch(ch)
  {case 'a';
  case 'h';
  default; v1+ +;
  case '0'; v2+ ;+
  }printf("%d,%d\n",v1,v2);}
 (33)若以下程序所生成的可执行文件名不;当打入以下命令执行该程序时;
  FILE1 CHINA BEIJING SHANGHAI
  程序的输出结果是
  A)CHINA BEIJIANG SHANGHAI
  B)FILE1 CHINA BEIJING
  C)C B S
  D)F C B
  main(int argc,char *argv[])
  { while(argc-->0)
  { ++argv; printf("%s",*argv);}}
 (34)下面程序的运行结果是
  A)12ba56 B)6521 C)6 D)62
  main()
  { char ch[7]={"65ab21"};
  int i,s =0
  for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2)
  s=10*s+ch[i]-'0'
  printf("%d\n",s);
  }
 (35)运行下面的程序,如果从键盘上输入:
  ab <回车>
  c <回车>
  def <回车>则输出结果为
  A) a B)a C)ab D)avcdef
    b  b  c
    c  c  d
    d  d
    e
    f
  #include<stdio.h>
  #define N 6
  main( )
  { char c[N];
  int i=o
  for( ;i<N;c[i]=getchar(),i++)
  for( i=0;i<N;i++) putchar(c[i]); printf("\n");
  }
 (36)以下程序运行后输出结果是
  A)8 B)7 C)6 D)5
  #include<stdio.h>
  ss(char *s)
  { char *p=s;while(*p)p++;
  return(p-s);}main( ){ char *a="abded";
  int i;
  i=ss(a);printf("%d\n",i);}
 (37)以下程序运行后,输出结果是
  A)8,15 B)8,16 C)8,17 D)8,8
  func(int a,int b)
  { static int m=0,i=2;
  i+=m+1;
  m=i+a+b
  return(m);}main()
  { int k=4,m=1,p;
  p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}
 (38)以下程序运行后,输出结果是
  A)49.5 B)9.5 C)22.0 D)45.0
  #include<stdio.h>
  #define PT 5.5
  #define S(x) PT*x*x
  main( )
  { int a=1,b=2;printf("%4.1f\n",S(a+b))}
 (39)以下程序运行后,输出结果是
  A)ABCDEFG B)CDG C)abcdefgh D)abCDefGh
  main( )
  { static char a[]="ABCDEFGH",b[]="abCDefGh";
  char p1,p2;
  int k;
  p1=a; p2=b;
  for(k=0;k<-7;k++)
  if(*(p1+k)= =*(p2+k))
  printf("%c",*(p1+k));
  printf("\n");
  }
 (40)以下程序执行后,a的值是
  A)4 B)1 C)0 D)运行时出错,无定值
  mian()
  { int a,k=4,m=6,*p1=&k,*p2=&m;
  a=p1= =&m;
  printf("%d\n",a);
  }
 (41)以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1;fun(int p)
  { int d=5;
  d+=p++;printf("%d",d);}main()
  {int a=3;
  fun(a);
  d+=a++;printf("%d\n",d);}
 (42)以下程序运行后,输出结果是A)6385 B)22 C)33 D)693825main(){char ch[2][5]={"693","825"},*p[2];
  int i,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);}
 (43)以下程序运行后,输出结果是
  A)1 B)7 C)9 D)11fut(int **s,int p[2][3]){**s=p[1][1];}
  main()
  {int a[2][3]={1,3,5,7,9,11},*p;
  p=(int *)malloc(sizeof(int));
  fut(&p,a);
  printf("%d\n",*p);}
 (44)设有如下定义:
  int a=1,b=2,c=3,d=4,m=2,n=2;
  则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A)1 B)2 C)3 D)0(45)在执行以下程序时,为了使输出结果为,t=4则给a和b输入的值应满足的条件是A)a>b  B)a<b<0  C)0<a<b  D)0>a>b
  main( ){ int s,t,a,b;
  scanf("%d,%d",&a,&b);
  s=1; t=1;
  if(a<0)s=s+1;if(a>b)t=s+1;else if(a= =b)t=5;
  else t=2*s;printf("t=%d\n",t);}(46)以下程序的输出结果是A)x=4 B)x=8 C)x=6 D)x=12main( ){ int i,j,x=0;
  for(i=0,i<2;i++)
  { x ++;
  for(j=0;j<3;j++)
  { if(j%2)continue;
  x++;
  }
  x++
  }
  printf("x=%d\n",x);}
 (47)以下程序运行后,输出结果是
  A)1234567 B)7654321 C)1711717 D)7177171
  #include <stdio.h>
  #include <string.h>
  fun(char s w, int n)
  { char t,* s1,* s2;s1=w;s2=w+n-1;while(s1<s2){ t=*s1++;
  *s1=s2--;
  *s2=t;}
  }
  main()
  { char *p;
  fun(p,strlen(p));
  puts(p);
  }
 (48)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为
  A)m=3 B)m=2 C)m=1 D)m=0
  main ( ){int m,n;
  printf{"Enter m,n:"}; scanf("%d%d,&m,&n");
  while(m!=n)
  {while(m>n)m-=n;
  while(n>m)n-=m;
  }
  printf("m=%d\n",m);}
 (49)以下程序运行后,如果从键盘上输入:
  book<回车>
  book<空格><回车>
  则输出结果是
  A)*8 B)#9 C)#6 D)*9
  #include <string.h>
  main()
  {char a1[80],a2[80],*s1=a1,*s2=a2;
  gets(s1); gets(s2);
  if(!strcmp(s1,s2)) printf("*");
  else printf("#");
  printf("%d\n",strlen(strcat(s1,s2)))
  }
  A)10000 B)10010 C)00110 D)10100
  main( ){ int y=18,i=0,j,a[8];
  do
  { a[i]=y%2;i++;
  y=y\2;
  } while(y>1=1);
  for(j=i-1;j>=0;j--) printf("%d",a[j]);
  printf("\n")
  }

二、填空题(每空2分,共40分)
  请将每空的正确答案写在答题卡 1 至 20 序号的横线上,答在试卷上不得分。
 (1)DOS中的自动批处理文件的全名是 1 。
 (2)在DOS启动盘中,除COMMAND.COM外,还有两个必备的系统文件,它们是MSDOS.SYS(或IBMDOS.COM)与 2 。
 (3)在DOS下,要将当前目录中AB.TXT文件设置为只读属性,应该使用的完整命令行是 3 。
 (4)在DOS下,要查看当前目录中所有批处理文件的总字节数,应该使用的完整命令行是 4 。
 (5)计算机病毒除有破坏性、潜伏性和激发性外,还有一个最明显的特性是 5 。
 (6)若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是 6 。
    .
    .
    .
  char a[10],b;
  scanf("a=%s b=%c",a,&b);
    .
    .
    .
 (7)下面程序的输出结果是 7 。
  char b[]="ABCD";
  main( )
  { char *chp;
  for(chp=b; *chp; chp+=2) printf("%s",chp);
  printf("\n");
  }
 (8)下面程序的输出结果是 8 。
  #define MAX 3
  int a[MAX];
  main( )
  { fun1( ); fun2(a); printf("\n");}
  fun1( )
  { int k,t=0;
  for(k=0;k<MAX;k++,t++) a[k]=t+t;
  }
  fun2(int b[])
  { int k;
  for(k=0;k<MAX;k++)printf("%d",*(b+k))
  }
 (9)下面程序的输出是 9 。
  main( )
  {int a[10]={19,23,44,17,37,28,49,36},* p;
  p=a;
  printf("%d\n",(p+=3)[3]);
  }
 (10)下面程序的输出是 10 。
  main( )
  {int i=3,j=2
  char *a="DCBA";
  printf("%c%c\n",a[i],a[j]);
  }
 (11)以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。
  exchange(int *x, int *y)
  {int t;
  t=*y; y= 11 ; *x= 12 ;
  }
 (12)若有以下定义和语句,则sizeof(a)的值是13 ,而sizeof(b)的值是 14 。
  struct { int day; char mouth; int year;}a;*b;
  b=&a;
 (13)以下fun函数的功能是:累加数组元素的值。n为数组中元素的个数。累加的和值放入x所指的存储单元中。请填空。
  fun(int b [ ],int n,int *x)
  { int k, r=0;
  for(k=0;k<n;k++) r= 15 ;
  16 =r;
  }
 (14)变量root有如图所示的存储结构,其中sp是指向字符串的指针域,next是指向该结构的指针域,data用以存放整型数。请填空,完成此结构的类型说明和变量root的定义。
  sp next data
  root
  struct list
  { char * sp;
  17 ;
  18 ;
 (15)下面程序把从终端读入的10个整数以二进制的方式写到一个名为bi.dat
  的新文件中。请填空。
  #include<stdio.h>
  FILE *fp;
  main( )
  { int i,j;
  if((fp=fopen( 19 ,"wb"))= =NULL)exit(0);
  for(i=0;i<10;i++
  { scanf("%d",&j);
  fwrite(&j,sizeof(int),1, 20 );
  }
  fclose(fp);
  }

  《热点考网
  
相关报道




本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱