计算机等级考试二级C++笔试试题.docx

上传人:b****8 文档编号:9810969 上传时间:2023-05-21 格式:DOCX 页数:17 大小:36.67KB
下载 相关 举报
计算机等级考试二级C++笔试试题.docx_第1页
第1页 / 共17页
计算机等级考试二级C++笔试试题.docx_第2页
第2页 / 共17页
计算机等级考试二级C++笔试试题.docx_第3页
第3页 / 共17页
计算机等级考试二级C++笔试试题.docx_第4页
第4页 / 共17页
计算机等级考试二级C++笔试试题.docx_第5页
第5页 / 共17页
计算机等级考试二级C++笔试试题.docx_第6页
第6页 / 共17页
计算机等级考试二级C++笔试试题.docx_第7页
第7页 / 共17页
计算机等级考试二级C++笔试试题.docx_第8页
第8页 / 共17页
计算机等级考试二级C++笔试试题.docx_第9页
第9页 / 共17页
计算机等级考试二级C++笔试试题.docx_第10页
第10页 / 共17页
计算机等级考试二级C++笔试试题.docx_第11页
第11页 / 共17页
计算机等级考试二级C++笔试试题.docx_第12页
第12页 / 共17页
计算机等级考试二级C++笔试试题.docx_第13页
第13页 / 共17页
计算机等级考试二级C++笔试试题.docx_第14页
第14页 / 共17页
计算机等级考试二级C++笔试试题.docx_第15页
第15页 / 共17页
计算机等级考试二级C++笔试试题.docx_第16页
第16页 / 共17页
计算机等级考试二级C++笔试试题.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机等级考试二级C++笔试试题.docx

《计算机等级考试二级C++笔试试题.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级C++笔试试题.docx(17页珍藏版)》请在冰点文库上搜索。

计算机等级考试二级C++笔试试题.docx

计算机等级考试二级C++笔试试题

2010年3月计算机等级考试二级C++笔试试题(文字版)

  一、选择题(每小题2分,共70分)

  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

  

(1)下列叙述中正确的是

  A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n

  B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)

  C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)

  D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)

  

(2)算法的时间复杂度是指

  A)算法的执行时间

  B)算法所处理的数据量

  C)算法程序中的语句或指令条数

  D)算法在执行过程中所需要的基本运算次数

  (3)软件按功能可以分为:

应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是

  A)编辑软件

  B)操作系统

  C)教务管理系统

  D)浏览器

  (4)软件(程序)调试的任务是

  A)诊断和改正程序中的错误

  B)尽可能多地发现程序中的错误

  C)发现并改正程序中的所有错误

  D)确定程序中错误的性质

  (5)数据流程图(DFD图)是

  A)软件概要设计的工具

  B)软件详细设计的工具

  C)结构化方法的需求分析工具

  D)面向对象方法的需求分析工具

  (6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于

  A)定义阶段

  B)开发阶段

  C)维护阶段

  D)上述三个阶段

  (7)数据库管理系统中负责数据模式定义的语言是

  A)数据定义语言

  B)数据管理语言

  C)数据操纵语言

  D)数据控制语言

  (8)在学生管理的关系数据库中,存取一个学生信息的数据单位是

  A)文件

  B)数据库

  C)字段

  D)记录

  (9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的

  A)需求分析阶段

  B)逻辑设计阶段

  C)概念设计阶段

  D)物理设计阶段

  (10)有两个关系R和T如下:

  则由关系R得到关系T的操作是

  A)选择

  B)投影

  C)交

  D)并

 (11)下列关于函数的描述中,错误的是

  A)函数可以没有返回值

  B)函数可以没有参数

  C)函数可以是一个类的成员

  D)函数不能被定义为模板

  (12)若MyClass是一个类名,且有如下语句序列

  MyClassc1,*c2;

  MyClass*c3=newMyClass;

  MyClass&c4=c1;

  上面的语句序列所定义的类对象的个数是

  A)1

  B)2

  C)3

  D)4

  (13)下列关于继承方式的描述中,错误的是

  A)如果不显式地指定继承方式,缺省的继承方式是私有(private)

  B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员

  C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员

  D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员

  (14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是

  A)Decr&operator--(int);

  B)Decroperator--(Decr&,int);

  C)friendDecr&operator--(Decr&);

  D)frlendDecroperator--(Decr&,int);

  (15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列

  MyTempp2;

  MyTempp3[2];

  编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是

  A)1

  B)2

  C)3

  D)0

  (16)在C++中,cin是个

  A)类

  B)对象

  C)模板

  D)函数

  (17)在下列字符中,不允许作为C++标识符的是

  A)b

  B)B

  C)_

  D)2

  (18)下列叙述中,错误的是

  A)false是一个逻辑型常量

  B)"b"是一个字符型常量

  C)365是一个int常量

  D)3.1415926是一个double常量

  (19)若x和y是程序中的两个整型变量,则下列if语句中正确的是

  A)if(x==0)y=1;elsey=2;

  B)if(x==0)theny=1elsey=2;

  C)if(x==0)y=1elsey=2;

  D)ifx==0y=1;elsey=2;

  (20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是

  A)intx[3]={0,0,0};

  B)intx[]={0};

  C)staticintx[3]={0};

  D)intx[]={0,0,0};

(21)关于函数中的<返回类型>,下列表述中错误的是

  A)<返回类型>中有可能包含关键字int

  B)<返回类型>中有可能包含自定义标识符

  C)<返回类型>中有可能包含字符*

  D)<返回类型>中可能包含[]

  (22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是

  A)MyClassp=MyClass;

  B)MyClassp=newMyClass;

  C)MyClass&p=newMyClass;

  D)MyClassa,&p=a;

  (23)有如下两个类定义

  classXX{

  private:

  doublex1;

  protected:

  doublex2;

  public:

  doublex3;

  };

  classYY:

protectedXX{

  private:

  doubley1;

  protected:

  doubley2;

  public:

  doubley3;

  };

  在类YY中保护成员变量的个数是

  A)1

  B)2

  C)3

  D)4

  (24)下列关于运算符重载的描述中,错误的是

  A)可以通过运算符重载在C++中创建新的运算符

  B)赋值运算符只能重载为成员函数

  C)运算符函数重载为类的成员函数时,第一操作数是该类对象

  D)重载类型转换运算符时不需要声明返回类型

  (25)下列关于类模板的描述中,错误的是

  A)类模板的成员函数都是模板函数

  B)可以为类模板参数设置默认值

  C)类模板描述了一组类

  D)类模板中只允许有一个类型参数

  (26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是

  A)setprecision

  B)setw

  C)setfill

  D)showpoint

(27)下列程序段中包含4个函数,其中具有隐含this指针的是

  intfun1();

  classTest{

  public:

  intfun2();

  friendintfun3();

  staticintfun4();

  };

  A)fun1

  B)fun2

  C)fun3

  D)fun4

  (28)有如下程序

  #include

  usingnamespacestd;

  classTest{

  public:

  Test(){}

  Test(constTest&t){cout<<1;}

  };

  Testfun(Test&u){Testt=u;returnt;}

  intmain(){Testx,y;x=fun(y);return0;}

  运行这个程序的输出结果是

  A)无输出

  B)1

  C)11

  D)111

  (29)有如下程序

  #include

  usingnamespacestd;

  classA{

  public:

  A(inti=0):

r1(i){}

  voidprint(){cout<<'E’<  voidprint()const{cout<<'C'<  voidprint(intx){cout<<'P'<  private:

  intr1;

  };

  intmain(){

  Aa1;

  constAa2(4);

  a1.print

(2);

  a1.print();

  return0;

  }

  运行时的输出结果是

  A)P8-E4

  B)P8-C16-

  C)P0-E4-

  D)P0-C16-

  (30)下列代码声明了3个类

  classPerson{};

  classStudent:

publicPerson{};

  classUndergraduate:

Student{};

  下列关于这些类之间关系的描述中,错误的是

  A)类Person是类Undergraduate的基类

  B)类Undergraduate从类Student公有继承

  C)类Student是类Person的派生类

  D)类Undergraduate是类Person的派生类

(31)有如下程序

  #include

  usingnamespacestd;

  ClassBase{

  public:

  Base(intx=0):

valB(x){cout<  ~Base(){cout<  private:

  intvalB;

  };

  classDerived:

publicBase{

  public:

  Derived(intx=0,inty=0):

Base(x),valD(y){cout<  ~Derived(){cout<  private:

  intvalD;

  };

  intmain(){

  Derivedobj12(2,3);

  retuen0;

  }

  运行时的输出结果是

  A)2332

  B)2323

  C)3232

  D)3223

  (32)下面是类Shape的定义:

  classShape{

  public:

  virtualvoidDraw()=0;

  };

  下列关于Shape类的描述中,正确的是

  A)类Shape是虚基类

  B)类Shape是抽象类

  C)类Shape中的Draw函数声明有误

  D)语句“Shapes;”能够建立Shape的一个对象s

  (33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是

  A)MyClockoperator+(MyClock,long);

  B)MyClockoperator+(MyClock,MyClock);

  C)MyClockoperator+(long,long);

  D)MyClockoperator+(long,MyClock);

  (34)打开文件时可单独或组合使用下列文件打开模式

  ①ios_base:

:

app②ios_base:

:

binary

  ③ios_base:

:

in④ios_base:

:

out

  若要以二进制读方式打开一个文件,需使用的文件打开模式为

  A)①③

  B)①④

  C)②③

  D)②④

  (35)有如下程序:

  #include

  usingnamespacestd;

  ClassB{

  public:

  B(intxx):

x(xx){++cout;x+=10;}

  virtualvoidshow()const

  {cout<  protected:

  staticintcount;

  private:

  intx;

  };

  classD:

publicB{

  public:

  D(intxx,intyy):

B(xx),y(yy){++count;y+=100;}

  virtualvoidshow()const

  {cout<  private:

  inty;

  };

  intB:

:

count=0;

  intmain(){

  B*ptr=newD(10,20);

  ptr->show();

  deleteptr;

  return0;

  }

  运行时的输出结果是

  A)1_120

  B)2_120

  C)1_20

  D)2_20

 二、填空题(每空2分,共30分)

  请将每一个空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。

  

(1)一个队列的初始状态为空。

现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为【1】。

  

(2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有【2】个元素。

  (3)设二叉树如下:

  对该二叉树进行后序遍历的结果为【3】。

  (4)软件是【4】、数据和文档的集合。

  (5)有一个学生选课的关系,其中学生的关系模式为:

学生(学号,姓名,班级,年龄),课程的关系模式为:

课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:

选课(学号,【5】,成绩)。

  (6)若x和y是两个整形变量,在执行了语句序列

  x=5;y=6;y+=x--;

  后,x+y的值为【6】。

  (7)在执行语句序列

  inti=0;doi++;while(i*i<10);

  时,do后面的循环体语句i++被执行的次数为【7】。

  (8)有如下的函数定义:

  intXfun(int*a,intn){

  intx=*a;

  for(int*pa=a+1;pa<>

  if(*pa>x)x=*pa;

  returnx;

  }

  若执行了语句

  intx[5]={23,46,78,55,16};

  后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为【8】。

  (9)有如下的函数定义:

  intXfun(intx){

  inty=x;

  {intx=10;y+=x;}

  returnx+y;

  }

  通过表达式Xfun(5)调用该函数,则得到的返回值为【9】。

  (10)假定Xcs是一个类,该类中一个成员函数的原型为“Xcs*abc();”,则在类外定义时对应的函数头为【10】。

  (11)请将下面的类Date的定义补充完整,使得由语句

  DateFirstDay;

  定义的对象FirstDay的值为2010年1月1日。

  classDate{

  public:

  Date(【11】):

year(y),month(m),day(d){}

  private:

  intyear,month,day;//依次表示年、月、日

  };

  (12)请将下面的程序补充完整,使得程序输出“飘是张娜的书”。

  #include

  usingnamespacestd;

  classBook{

  public:

  Book(char*str){strcpy(title,str);}

  【12】voidPrintInfo(){cout<  protected:

  chartitle[50];

  };

  classMyBook:

publicBook{

  public:

  MyBook(char*s1,char*s2="张娜"):

【13】{strcpy(owner,s2);}

  virtualvoidPrintInfo(){cout<  private:

  charowner[10];

  };

  intmain(){

  Book*prt=newMyBook("飘");

  prt->PrintInfo();

  return0;

  }

  (13)在有理数类Rational中重载插入运算符<<,以便按a/q形式输出。

请将<<运算符函数的定义补充完整。

  classRational{

  public:

  Rational(intaa,intqq):

a(aa),q(qq){}

  friend【14】operator<<(ostream&out,Rational&x)

  {

  return(out<

<

  }

  private:

  inta,q;

  };

  (14)下面的函数定义是某函数模板能够生成的函数实例

  intsquare(intn){returnn*n;}

  doublesquare(doublen){returnn*n;}

  由此可知,该函数模板的定义是【15】。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2