zoukankan      html  css  js  c++  java
  • 1999年4月全国计算机等级考试二级C语言笔试试题

    1999年4月全国计算机等级考试二级C语言笔试试题

     更新于:2007年9月19日  念时

    一、选择题((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 10B)12 12C)11 10D)11 13
      main( )
      { 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
      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)-1B)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
      #include
      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,0B)5,0C)5,5D)2,5
      #include
      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
      #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
      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
      #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=44 int 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=693825
      main()
      {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=11
      fut(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=12
      main( )
      { 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
      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)))
      }

    (50)以下程序运行后,如果从键盘上输入:
      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]);
      }

    答案将在后期陆续公布……敬请关注!念时
  • 相关阅读:
    Codeforces 877 C. Slava and tanks
    Codeforces 877 D. Olya and Energy Drinks
    2017 10.25 NOIP模拟赛
    2017 国庆湖南 Day1
    UVA 12113 Overlapping Squares
    学大伟业 国庆Day2
    51nod 1629 B君的圆锥
    51nod 1381 硬币游戏
    [JSOI2010]满汉全席
    学大伟业 2017 国庆 Day1
  • 原文地址:https://www.cnblogs.com/nianshi/p/898925.html
Copyright © 2011-2022 走看看