查看全部128种考试
1
2
3
4
5
6
7
8
9
10
丹丹云  
【字体: 2005年全国计算机等级考试二级C++模拟题
2005年全国计算机等级考试二级C++模拟题
djks.exam8.com 来源:中国it实验室 更新:2005-3-31 16:21:00 计算机等级考试 考试论坛

                                  公共基础知识
  
   一、选择题
 
   (1)下列关于栈的叙述正确的是
  A)栈是非线性结构  B)栈是一种树状结构  
  C)栈具有先进先出的特征  D)栈具有后进先出的特征
  
  (2)结构化程序设计所规定的三种基本控制结构是
  A)输入、处理、输出  B)树形、网形、环形  
  C)顺序、选择、循环  D)主程序、子程序、函数
  
  (3)结构化程序设计的一种基本方法是
  A)筛选法  B)递归法  C)归纳法  D)逐步求精法
  
  (4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择  B)投影  C)连接  D)并
  
  二、填空题

  1.对于输入为N个数进行快速排序算法的平均时间复杂度是(   )
  2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是(  )
  3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试(  )
  4.关系型数据库管理系统中存储与管理数据的基本形式是(  )

                                                C++语言程序设计
  
  一、选择题

  (1)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()
  A)面向过程  B)面向对象  C)安全性  D)复用性
  
  (2)C++语言的跳转语句中,对于break和continue说法正确的是()
  A)break语句只应用与循环体中  
  B)continue语句只应用与循环体中  
  C)break是无条件跳转语句,continue不是  
  D)break和continue的跳转范围不够明确,容易产生问题
  
  (3)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是()
  A)0  B)5  C)6  D)无次数
  
  (4)考虑函数原型void test(int a,int
  b=7,char="*"),下面的函数调用中,属于不合法调用的是()
  A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*");
  
  (5)下面有关重载函数的说法中正确的是()
  A)重载函数必须具有不同的返回值类型;  B)重载函数形参个数必须不同;  
  C)重载函数必须有不同的形参列表  D)重载函数名可以不同;
  
  (6)下列关于构造函数的描述中,错误的是()
  A)构造函数可以设置默认参数;  B)构造函数在定义类对象时自动执行  
  C)构造函数可以是内联函数;  D)构造函数不可以重载
  
  (7)下面描述中,表达错误的是()
  A)公有继承时基类中的public成员在派生类中仍是public的  
  B)公有继承是基类中的private成员在派生类中仍是private的  
  C)公有继承时基类中的protected成员在派生类中仍是protected的  
  D)私有继承时基类中的public成员在派生类中是private的
  
  (8)应在下列程序划线处填入的正确语句是()
  #include
  class Base
  {  public:
    void fun(){cout<<"Base::fun"<  };
  class Derived:public Base
  {  void fun()
    {_____________ //显示调用基类的函数fun()
      cout<<"Derived::fun"<    }
  };
  A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();
  
  (9)有如下程序:
  #include
  class BASE{
    char c;
  public:
    BASE(char n):c(n){}
    virtual~BASE(){cout<  };
  class DERIVED:public BASE{
    char c;
  public:
    DERIVED(char n):BASE(n+1),c(n){}
    ~DERIVED(){cout<  };
  int main()
  {  DERIVED("X");
    return 0;
  }
  执行上面的程序将输出()
  A)XY B)YX C)X D)Y
  
  (10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()
  A)fail B)eof C)bad D)good

  二、填空题

  (1)下面程序的打印结果是 [1]
  #incude
  int f(int);
  int main()
  {  int i;
    for(i=0;i<5;i++)
    cout<    return0;
  }
  int f(int i)
  {  static int k=1;
    for(;i>0;i- -)
    k + = i;
    return k;
  }

  (2)在用class定义一个类时,数据成员和成员函数的默认访问权限是 [2]

  (3)含有纯虚函数的类称为 [3]

  (4)已知intDBL(int n){return n + n;}和longDBL(long n){return n
  +n;}是一个函数模板的两个实例,则该函数模板的定义是 [4]

  (5)在下面程序的横线处填上适当的语句,使该程序执行结果为10.
  #include
  class MyClass
  {  public:
    MyClass(int a){x = a;}
    [5] //取x值
    private
    int x;
  };
  int main()
  {  MyClass my(10);
    cout<    return 0;
  }

  三、上机操作题(改错题1道,简单应用1道,综合应用1道)

  1.使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:
  member=0
  member=5
  menber=10
  源程序文件main.cpp清单如下:
  #include
  class MyClass
  {
  public:
    MyClass(int i){member=i;}
    void SetMember(int m){member=m;}
    int GetMember()const{return menber;}
    void print()cont{cout<<"member="<  private:
    int member;
  };
  voed main()
  {
  /* * * * * * * * * * found * * * * * * * * * */
    MyClass obj1;
    obj1.print();
    MyClass obj2(3);
  /* * * * * * * * * * found * * * * * * * * * */
    obj1.member=5;
  /* * * * * * * * * * found * * * * * * * * * */
    MyClass.SetMember(10);
    obj1.print();
    obj2.print();
  }
  
  2.请编写一个函数int find(char s[],char t[]),该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值);否则返回-1.注意:用数组方式及两重循环来实现该函数.
  注意:部分源文件程序已存在文件PROC2,CPP中.
  请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句.
  文件PROC2.CPP的内容如下:
  #include
  int find(char s[],char t[]);
  const int MAXLINE =256;
  int main()
  {  char source[MAXLINE],rarget[MAXLINE];
    cout <<"Please input a string for searching:\n";
    cin.getline(source,MAXLINE);
    cout<<"Please input a string you want to find:\n";
    cin.getline(target,MAXLINE);
    int intpos = find(source,target);
    if(intpos>=0
      cout<<"Finding it.The target string is at index"
        <    else
      cout<<"Not finding it.\n";
    return 0;
    }
  int find(char s[],char t[])
  {
  }

  3.使用VC6打开考生文件夹下的工程proj3.此工程包含一个源程序文件main.cpp.其中定义了用于表示日期的类Date,但类Date的定义并不完整.请按要求完成下列操作,将类Date的定义补充完整:
  (1)定义私有数据成员year,month和day分别用于表示年,月,日,它们都是int型的数据.请在注释"// * * 2
  * *"之后添加适当的语句.
  (2)完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1,day=1,请在注释"// *
  * 2 * *"之后添加适当的语句.
  (3)完成重载构造函数Date(int y,int m,int
  d)的定义,把数据成员year,month和day分别初始化为参数y,m,d的值,请在注释"//* * 3 *
  *"之后添加适当的语句.
  (4)完成成员函数print的类外定义,使其以"年-月-日"的格式将Date对象的值输出到屏幕上.请在注释"//* * 4
  * *"之后添加适当的语句.
  注意:除在指定位置添加语句之外,请不要改动程序中的其他内源程序文件main.cpp清单如下:
  //main.cpp
  #include
  class Date{
  public:
    //* * 2 * *
    Date(int y,int m,int d)
    {
      //* * 3 * *
    }
    void print() const;
  
  private:
    // date members
    //* * 1 * *
  };
  
  void Date::print()const
  {  //* * 4 * *
  }
  
  int main()
  {  Date national_day(1949,10,1);
    national_day.print();
    return 0;
  }

                                       参考答案

  公共基础知识

  一:选择题:
  (1) D   (2) C   (3) D   (4) B
  二:填空题:
  (1)[1]:O(Nlog2N)
  (2)[2]:功能模型
  (3)[3]:软件外部功能
  (4)[4]:二维表

  C++程序设计

  一:选择题
  1-5 :B B C C C
  6-10:D B C A B
  二:填空题
  (1)[1]:1 2 5 11 21
  (2)[2]:private 或 私有
  (3)[3]:抽象类
  (4)[4]:templateT DBL(T n){return n+n;}
  (5)[5]:int GetNum(){return x;} 或 int GetNum() const{return x;}

转帖于:计算机等级考试_考试吧
文章搜索  
看了本文的网友还看了:
计算机等级考试权威辅导教材: 订书电话:010-62168566  更多>>>
网友评论
昵 称: *  评 分: 1分 2分 3分 4分 5分
标题:   匿名发表    (共有条评论)查看全部评论>>
版权声明 -------------------------------------------------------------------------------------
  如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
关于本站  网站声明  广告服务  联系方式  付款方式  站内导航  客服中心  友情链接  考试论坛  网站地图
Copyright © 2004-2008 考试吧计算机等级考试网 All Rights Reserved    
中国科学院研究生院权威支持(北京) 电 话:010-62168566 传 真:010-62192699
百度大联盟黄金认证  十佳网络教育机构  经营许可证号:京ICP060677