阅读新闻

全国计算机等级考试二级C++模拟试卷及答案

[日期:2006-12-18] 来源:www.ncre100.com  作者:admin [字体: ]

公共基础知识  
一、选择题  
(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;} 

 



看免费电影,就到网络生活

易查询:IP地址查询、专业ip数据库、手机号数据库、列车时刻数据库免费查询www.yichaxun.com

阅读:
录入:admin

评论 】 【 推荐 】 【 打印
上一篇:全国计算机等级考试二级c语言模拟试卷及答案
下一篇:全国计算机等级考试二级Java模拟试卷及答案
相关新闻      
本文评论       全部评论
  OK   (程伟伟 ,03月04日 )
  从0开始。   (0000 ,03/11/2007 11:00:20 )
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款