• 计算机二级vf6.0考试模拟软件 > 2008年全国计算机等级考试试题
  • 2008年全国计算机等级考试试题

    免费下载 下载该文档 文档格式:DOC   更新时间:2011-09-19   下载次数:0   点击次数:1

    20089月全国计算机等级考试二级笔试试卷
    C语言程序设计
    (考试时间90分钟,满分100分)
    一、选择题
        下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
    1)一个栈的初始状态为空。现将元素12345ABCDE依次入栈,然后再依次出栈,则元素出栈的顺序是
    A12345ABCDE                         BEDCBA54321
    CABCDE12345                         D54321EDCBA
    2)下列叙述中正确的是
    A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
    B)在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况
    C)在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况
    D)循环队列中元素的个数是由队头和队尾指针共同决定
    3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是
    AO(N)        BO(n2)       CO(log2n)        DO(n log2n)
    4)下列叙述中正确的是
    A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
    B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
    C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
    D)链式存储结构比顺序存储结构节省存储空间
    5)数据流图中带有箭头的线段表示的是
    A)控制流        B)事件驱动       C)模块调用        D)数据流
    6)在软件开发中,需求分析阶段可以使用的工具是
    AN-S  BDFD  CPAD  D)程序流程图
    7)在面向对象方法中,不属于“对象”基本特点的是
    A)一致性  B)分类性  C)多态性  D)标识唯一性
    8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是
    A)一对一  B)一对多  C)多对一  D)多对多
    9)在数据管理技术发展的三个阶段中,数据共享最好的是
    A)人工管理阶段    B)文件系统阶段  
    C)数据库系统阶段  D)三个阶段相同
    10)有三个关系RST如下:
    A B C
    m 1 3
    R                    S                                    T
    A B
    m 1
    n 2
    B C
    1 3
    3 5
     
    由关系RS通过运算得到关系T,则所使用的运算为
    A)笛卡尔积        B)交        C)并        D)自然连接
    11)以下叙述中正确的是
    AC程序的基本组成单位是语句           BC程序中每一行只能写一条语句     
    C)简单C语句必须以分号结束             DC语句必须在一行内写完
    12)计算机能直接执行的程序是
    A)源程序       B)目标程序       C)汇编程序        D)可执行程序
    13)以下选项中不能作为C语言合法常量的是
    A)’cd        B0.1e+6       C)”¥a        D)”¥011
    14)以下选项中正确的定义语句是
    Adouble a;b;       Bdouble a=b=7;     Cdouble a=7,b=7;       Ddouble ,a,b;
    (15) 以下不能正确表示代数式 C语言表达式是
    A2*a*b/c/d      Ba*b/c/d*2        Ca/c/d*b*2         D2*a*b/c*d
    16C源程序中不能表示的数制是
        A)二进制        B) 八进制        C) 十进制        D) 十六进制
     (17) 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是
        A w= =1        B w= =0        Cw!=1          D w!=0
     (18) 执行以下程序段后,w的值为
        int  w=A,x=14,y=15;
         w=((x||y)&&(w<a));
       A-1           BNULL         C1           D 0
    19)若变量已正确定义为int,要通过语句scanf(%d,%d,%d ,&a,&b,&c);a赋值1,b赋值2, c赋值3, 以下输入形式中错误的是(u代表一个空格符)
       Auuu1,2,3<回车>                B1u2u3<回车>
       C1,uuu2, uuu3<回车>             D1,2,3<回车>
    (20) 有以下程序段
           int    a,b,c;
           a=10; b=50; c=30;
           if(a>b)a=b,b=c;c=a;
           printf(a=%d b=%d c=%d n,a,b,c);
    程序的输出结果是
    A) a=10 b=50 c=10                 B) a=10 b=50 c=30
    C) a=10 b=30 c=10                 D) a=50 b=30 c=50
    21 若有定义语句:int  m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是
         A m[--i]          Bm[2*2]         Cm[m[0]]         Dm[m]
    22)下面的函数调用语句中func函数的实参个数是
           func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
     A3          B 4          C5          D8
    23)若有定义语句:double  x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是
         A*p         Bx[5]        C*(p+1)         D*x
    24 若有定义语句:char s[10]= 123456700 ;,strlen(s)的值是
         A7     B8      C9      D10
    25)以下叙述中错误的是
         A) 用户定义的函数中可以没有return语句
         B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
         C)用户定义的函数中若没有return语句,则应当定义函数为void类型
         D)函数的return语句中可以没有表达式
    26)以下关于宏的叙述中正确的是
         A)宏名必须用大写字母表示      B)宏定义必须位于源程序中所有语句之前
         C)宏替换没有数据类型限制      D)宏调用比函数调用耗费时间
    27)有以下程序
    #include <stdio.h>
    main() 
    {
     int i,j;
     for(i=3;i>=1;i--) 
     {  for(j=1;j<=2;j++)   printf("%d",i+j);
        printf("n ") 
     }
    }
     程序的运行结果是
    A) 2 3 4        B 4 3 2       C 2 3          D 4 5
    3 4 5            5 4 3           3 4              3 4
                                   4 5              2 3
    (28) 有以下程序
    #include <stdio.h>
    main()
    {  
     int   x=1,y=2,z=3;
     if(x>y)
     if(y<z)   printf("%d",++z);
     else     printf("%d",++y);
     printf("%dn", x++ );
    }
    程序的运行结果是
    A331        B41          C2           D1
    29)有以下程序
    #include  <stdio.h>
    main()
    {  int   i=5;
       do
       {  if(i%3==1)
            if(i%5==2)
             {  printf(*%d,i);  break;  }
          i++;
       }   while(i!=0);
       printf(“¥n);
    }
    程序的运行结果是
    A *7          B*3*5           C*5           D*2*6
    30)有以下程序
    #include  <stdio.h>
    int fun(int  a,int   b)
    { if(b==0)  return a;
     else     return(fun(--a,--b));
    }
    main()
    {  printf("%dn", fun(4,2));}
    程序的运行结果是
    A 1            B2            C3           D4
     (31) 有以下程序
    #include  <stdio.h>
    #include  <stdlib.h>
    int  fun(int   n)
    {  int  *p; 
       p=(int*)malloc(sizeof(int));
       *p=n;   return  *p;
    }
    main()
    {   int  a;
       a = fun(10);    printf("%dn",a+fun(10));
    }
    程序的运行结果是
    A0          B10             C20             D)出错
    32)有以下程序
    #include  <stdio.h>
    void  fun( int  a,   int  b)
    {  int   t;
       t=a;  a=b;  b=t;
    }
    main()
    {  int  c[10]={1,2,3,4,5,6,7,8,9,0}, i;
       for(i=0;i<10;i+=2)  fun(c, c[i+1]);
       for(i=0;i<10;i++)  printf("%d," ,c);
       printf("n");
    }
    程序的运行结果是
    A1,2,3,4,5,6,7,8,9,0               B2,1,4,3,6,5,8,7,0,9
    C0,9,8,7,6,5,4,3,2,1               D0,1,2,3,4,5,6,7,8,9
    (33) 有以下程序
    #include  <stdio.h>
    struct   st
    {  int  x, y;} data[2]={1,10,2,20};
    main()
    {   struct  st  *p=data;
        printf("%d,",p->y);   printf("%dn",(++p)->x);
    }
    程序的运行结果是
    A10,1        B20,1       C10,2       D20,2
    (34) 有以下程序
    #include  <stdio.h>
    void fun(int  a[], int  n)  
    {  int   i,t;
       for(i=0;i<n/2;i++)  { t=a;  a=a[n-1-i];  a[n-1-i]=t;} 
    }
    main()
    {  int k[10]={1,2,3,4,5,6,7,8,9,10},i;
       fun(k,5);
       for(i=2;i<8;i++) printf("%d",k);
       printf("n");
    }
    程序的运行结果是
    A345678       B876543      C1098765     D321678
    (35) 有以下程序
    #include  <stdio.h>
    #define  N   4
    void fun(int  a[][N], int  b[])
    {  int  i;
       for(i=0;i<N;i++)  b = a;
    }
    main() 
    { int  x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
     fun(x,y);
     for(i=0;i<N;i++)  printf("%d,",y);
     printf("n");
    }
    程序的运行结果是
    A1,2,3,4,      B1,0,7,0,       C1,4,5,9,     D3,4,8,10,
    (36) 有以下程序
    #include  <stdio.h>
    int fun(int  (*s)[4],int n, int k)
    { int   m,i;
     m=s[0][k];
     for(i=1;i<n;i++)   if(s[k]>m)m= s[k];
     return  m;
    }
    main() 
    { int  a[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};
     printf("%dn",fun(a,4,0));
    }
    程序的运行结果是
     A4          B34          C31            D32
    (37) 有以下程序
    #include  <stdio.h>
    main()
    {
     struct STU {  char  name[9]; char  sex;  double  score[2];};
     struct STU  a={"Zhao",'m',85.0,90.0},b={"Qian",'f',95.0,92.0};
     b=a;
     printf("%s,%c,%2.0f,%2.0fn", b.name, b.sex, b.score[0], b.score[1]);
    }
    程序的运行结果是
    A) Qian,f,95,92    B) Qian,m,85,90    C) Zhao,f,95,92    D) Zhao,m,85,90
    (38) 假定已建立以下链表结构,且指针pq已指向如图所示的结点:

    head 
     a 
     b 
     c 

                   data  next


                      p             q

     则以下选项中可将q所指向结点从链表中删除并释放该结点的语句组是
    A(*p).next=(*q).next;  free(p);        Bp=q->next;  free(q);
    C p=q;  free(q);                    Dp->next=q->next;  free(q);
    (39) 有以下程序
    #include  <stdio.h>
    main()
    {  char  a=4;
       printf(%dn,a=a<<1);
    }
    程序的运行结果是
    A) 40         B) 16        C) 8         D) 4
    40 有以下程序
    #include  <stdio.h>
    main()
    { FILE    *pf;
     char  *s1="China", *s2="Beijing";
     pf=fopen("abc.dat","wb+");
     fwrite(s2,7,1,pf);
     rewind(pf);          /*文件位置指针回到文件开头*/
     fwrite(s1,5,1,pf);
     fclose(pf);
    }
    以上程序执行后abc.dat文件的内容是
         A) China      B) Chinang      C) ChinaBeijing      D) BeijingChina
    二、填空题 (每空2分,共30分)
    请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
    1)对下列二叉树进行中序遍历的结果是  1   
     
    2)按照软件测试的一般步骤,集成测试应在  2  测试之后进行。
    3)软件工程三要素包括方法、工具和过程,其中,  3  支持软件开发的各个环节的控制和管理。
    4)数据库设计包括概念设计、  4  和物理设计。
    5)在二维表中,元组的  5  不能再分成更小的数据项。
    6)设变量ab已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式 6 
    7)若整型变量ab中的值分别为79,要求按以下格式输出ab的值:
         a=7
         b=9
    请完成输出语句:printf(    7   ,a,b);
    8)以下程序的输出结果是  8  
    #include<stdio.h>
    main()
    {
     int i,j,sum;
     for(i=3;i>=1;i--)
     {
      sum=0;
      for(j=1;j<=i;j++)   sum+=i*j;
     }
     printf("%dn",sum);
    }
    9)以下程序的输出结果是  9  
    #include<stdio.h>
    main()
    { int j,a[]={1,3,5,7,9,11,13,15},*p=a+5;
       for(j=3;j;j--)
         {  switch(j)
        {      case 1:
       case 2:printf(%d,*p++); break;
       case 3:printf(%d,*(--p));

        }
        }
    }
    10)以下程序的输出结果是  10  
    #include<stdio.h>
    #define   N   5
    int fun(int *s,int a ,int n)
    { int j;
     *s=a;  j=n;
     while(a!=s[j])  j--;
     return j;
    }
    main()
    { int s[N+1];   int k;
     for(k=1;k<=N;k++)  s[k]=k+1;
     printf("%dn",fun(s,4,N));
    }
    11)以下程序的输出结果是  11  
    #include <stdio.h>
    int fun(int x)
    { static int t=0;
     return(t+=x);
    }
    main()
    { int s,i;
     for(i=1;i<=5;i++)  s=fun(i);
     printf("%dn",s);
    }
    12)以下程序按下面指定的数据给x数组的下三角置数,并按如下形式输出,请填空。
                 4
    3     7
    2      6     9
    1      5     8    10
    #include <stdio.h>
    main()
    { int x[4][4],n=0,i,j;
     for(j=0;j<4;j++)
      for(i=3;i>=j;  12  ) {n++;x[j]=  13  }
     for(i=0;i<4;i++)
     { for(j=0;j<=i;j++)   printf("%3d",x[j]);
      printf("n");
     }
    }
    13)以下程序的功能是:通过函数func输入字符并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。
    #include <stdio.h>
    long   14        /*  函数说明语句  */
    main()
    { long n;
     n=func();  printf("n=%ldn",n);
    }
    long func()
    { long m;
     for(m=0;getchar()!='@';  15  );
     return m;
    }

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • 计算机二级考试vf软件  计算机二级vf考试答案  计算机二级vf考试内容  国家计算机二级考试vf  计算机二级vf考试时间  计算机二级考试vf试题  全国计算机二级考试vf  计算机vf二级考试真题  二级计算机考试vf资料