• 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]);
      }

    答案将在后期陆续公布……敬请关注!念时
  • 相关阅读:
    python的编码判断_unicode_gbk/gb2312_utf8(附函数)
    stat文件状态信息结构体
    内核配置中 ramdisk 大小修改
    mount命令详解
    dirent和DIR 结构体 表示文件夹中目录内容信息
    nandwrite 参数
    mke2fs 制作ext2文件系统image
    ext2文件系统错误
    照度/感光度(Lux)
    摄像机的几个重要的技术指标
  • 原文地址:https://www.cnblogs.com/nianshi/p/898925.html
Copyright © 2020-2023  润新知