[切换城市]
报课、招生咨询电话:010-51268840/41 ·北京站  ·上海站  ·郑州站     [课程] [夏令营] [书店] [高校招生] 进入论坛>>
首 页 外 语 IT 财 会 学 历 出 国 管 理 公务员 成 考 人力资源 0-18岁
  ·职业资格 ·考研 ·在职研   ·报关员 ·外销员 ·国际商务师 ·网络教育  ·环球职业教育 ·会计网校 ·新东方
首页 > 计算机考试 > 计算机等级考试 > 二级真题 >
→论坛登陆 用户名  密码  
2006年4月全国计算机等级考试二级C++试卷及答案

作者: 发布时间:2007-05-12 15:59:01 来源:

公共基础知识   
一、选择题   


(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"<<ENDL;}   
};   
class Derived:public Base   
{  void fun()   
  {_____________ //显示调用基类的函数fun()   
    cout<<"Derived::fun"<<ENDL;   
  }   
};   
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<<C;}   
};   
class DERIVED:public BASE{   
  char c;   
public:   
  DERIVED(char n):BASE(n+1),c(n){}   
  ~DERIVED(){cout<<C;}   
};   
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<<F(I)<<"";   
  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<<MY.GETNUM()<<ENDL;   
  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="<<MEMBER><<ENDL;}   
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: ";   
  cin.getline(source,MAXLINE);   
  cout<<"Please input a string you want to find: ";   
  cin.getline(target,MAXLINE);   
  int intpos = find(source,target);   
  if(intpos>=0   
    cout<<"Finding it.The target string is at index"   
      <<INTPOS><<"OF string ?;   
  else   
    cout<<"Not finding it. ";   
  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;}  

    育路网

 

 
 
                                        
评论】【加入收藏夹】【 】【打印】【关闭
育路网2007年夏令营联展
 更多有关新闻:
 
无相关信息
发表评论
用户名: 密码:
验证码: 匿名发表
课程搜索:
选择分类:
课程关键字:
课程 学校
 2007年首都高校秋季招生
北京理工大学2007年招生简章
北京文理研修学院2007年招生简章
北京建设大学2007年招生简章
北京中山学院2007年招生简章
北京城市学院2007年招生简章
培黎职业学院2007年招生简章
北京金融学院2007年招生简章
北京吉利大学2007年招生简章
北方工商管理学院2007年招生简章
2007年首都高校秋季招生
 本周推荐课程
·初中起点雅思半年脱产 ·启德雅思6分冲刺课程
·新概念1+2册慢速精讲课 ·环球新托福100分强化
·北文王长喜四级强化班 ·英语四、六级培训课程
·海文考研数学课程 ·海文考研英语课程
·北大企业管理高级研修班 ·清华企业领导人研修班
·中美高中生交换项目 ·北工大中加学院2+2本科
·劳动和社会保障部物流师 ·物业管理师职业培训
·市场营销经理国际资格 ·现场管理实务培训
 热点新闻
·李祖华谈公务员面试自我介绍技巧
·郭五林做客育路网谈07国考申论备考
·金路做客人民网解析07公务员考试大纲
·公务员辅导专家李如海视频讲课
·金路做客网易解析07公务员考试大纲(视频)
·金路做客网易解析07年公务员考试大纲
·金路李祖华谈北京公考热点--如何解决群众看病
·公务员辅导专家孙秀秋视频讲课
·国家公考命题专家周盈教授讲座视频(二)
·李祖华公共基础、行测、申论、面试知识点的联
清华大学留学
中法管理硕士预科班
出国留学咨询热线:010-51268840
 最新新闻
·金路李祖华谈北京公考热点--如何解决群众看病
·郭五林做客育路网谈07国考申论备考
·金路做客人民网解析07公务员考试大纲
·金路做客网易解析07公务员考试大纲(视频)
·金路做客网易解析07年公务员考试大纲
·金路07公务员培训国庆班第二天周盈视频
·金路07年国家公务员培训国庆班第三天
·金路07年国家公务员培训国庆班第一天
·国家公考命题专家周盈教授讲座视频(二)
·公务员辅导专家李如海视频讲课
 育路社区            进入>>
 
学员报名服务中心: 北京北三环西路43号满庭芳园C座103室(交通位置图
咨询电话:北京- 010-51268840/41 传真:010-62111550 上海-021-64392659、64397431
育路网-中国新锐教育社区: 北京站 | 上海站
本站法律顾问: 邱清荣律师
育路网版权所有1999-2007 | 京ICP备05012189号