二级C++笔试试题及答案Word格式.docx

上传人:b****8 文档编号:22629826 上传时间:2023-02-04 格式:DOCX 页数:34 大小:70.80KB
下载 相关 举报
二级C++笔试试题及答案Word格式.docx_第1页
第1页 / 共34页
二级C++笔试试题及答案Word格式.docx_第2页
第2页 / 共34页
二级C++笔试试题及答案Word格式.docx_第3页
第3页 / 共34页
二级C++笔试试题及答案Word格式.docx_第4页
第4页 / 共34页
二级C++笔试试题及答案Word格式.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

二级C++笔试试题及答案Word格式.docx

《二级C++笔试试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《二级C++笔试试题及答案Word格式.docx(34页珍藏版)》请在冰豆网上搜索。

二级C++笔试试题及答案Word格式.docx

  A)inti;

for(i=1;

i<

10;

i++)cout<

<

‘*‘;

  B)inti,j;

for(i=1,j=0;

i<

i++,j++)cout<

  C)inti=0;

for(;

i++)cout<

‘*‘;

  D)for

(1)cout<

  (20)下列定义语句中,错误的是

  A)intpx*;

  B)char*acp[10];

  C)char(*pac)[10];

  D)int(*p)();

  (21)下列函数原型声明中,错误的是

  A)intfnction(intm,intn);

  B)intfunction(int,int);

  C)intfunction(intm=3,intn);

  D)intfunction(int&

m,int&

n);

  (22)若MyClass为一个类,执行“MyClassa[4],*p[5];

”语句时会自动调用该类构造函数的次数是

  A)2 

B)5 

C)4 

D)9

  (23)若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为

  A)x.Operator/(Y)

  B)operator/(x,Y)

  C)Y.operator/(x)

  D)operator/(y,x)

  (24)若要重载+、=、<

、=和[]运算符,则必须作为类成员重载的运算符是

  A)+和=

  B)=和<

  C)==和<

  D)=和[]

  (25)有函数模板声明和一些变量定义如下:

  template<

classTl,classT2,classT3>T1sum(T2,T3);

  doubledl,d2;

  则下列调用中,错误的是

  A)sum<

double,double,double>(dl,d2);

  B)sum<

double;

double>

(d1,d2);

  C)sum<

  D)sum(d1,d2);

  (26)有如下语句序列:

  charstr[10];

cin>

>

str;

  当从键盘输入”Ilovethisgame”时,str中的字符串是

  A)"

Ilovethisgame"

  B)"

Ilovethi"

  C)"

Ilove"

  D)"

I"

  (27)有如下程序:

  #include<

iostream>

cmath>

  usingstd:

cout;

  classPoint{

  public:

  frienddoubledistance(constPoint&

p);

//p距原点的距离

  Point(intxx=0,intyy=0):

x(xx),Y(YY){}//①

  private:

  Intx,Y;

  };

  doubledistance(constPoint&

p) 

{ 

//②

  returnsqrt(p.x*p.x+p.Y*p.Y);

  }

  intmain(){

  Pointp1(3,4);

  cout<

distance(p1);

//③

  return0;

  下列叙述中正确的是

  A)程序编译正确

  B)程序编译时语句①出错

  C)程序编译时语句②出错

  D)程序编译时语句③出错

  (28)有如下程序:

  usingnamespacestd;

  classCD{

  ~CD(){cout<

’C’;

  charname[80];

  intmain(){CDa,*b,d[2];

return0;

  运行时的输出结果是

  A)CCCC 

B)CCC 

C)CC 

D)C

  (29)某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是

  A)constvoidShow();

B)voidconstShow();

  C)voidShow()const;

D)voidShow(const);

  (30)若已定义了类Vehicle,则下列派生类定义中,错误的是

  A)classCar:

Vehicle{/*类体略*/},

  B)classCar:

publicCar{/*类体略*/};

  C)classCar:

publicVehicle{/*类体略*/};

  D)classCar:

virtualpublicVehicle{/*类体略*/};

  (31)有如下程序:

  classMusic{

  voidsetTitle(char*str){strcpy(title,str);

  protected:

  chartype[10];

  chartitle[20];

  classJazz:

publicMusic{

  voidset(char*str){

  strcpy(type,"

Jazz"

);

//①

  strcpy(title,str);

  A)程序编译正确一 

B)程序编译时语句①出错

  C)程序编译时语句②出错 

D)程序编译时语句①和②都出错

  (32)有如下程序:

  classInstrument{

  virtualvoidDisplay()=0;

  classPiano:

publicInstrument{

  voidDisplay(){/*函数体程序略*/}

  int,main(){

  Instruments;

  Instrument*p=0;

  //...;

  A)语句“Insturment*p=0;

”编译时出错

  B)语句“Instruments;

  C)类Piano中的Display函数不是虚函数

  D)类Instrumen七是一个虚基类

  (33)有类定义如下:

  classType 

  Type(int 

i=0);

  Tvpeoperator-(int);

  friendTypeoperator+(Type,Type);

  private:

  intval;

  若有对象定义Typecl;

则下列语句序列中,错误的是

  A)Type(3)+c1;

B)cl+Type(3);

  C)3-cl;

D)c1-3;

  (34)有如下程序:

iomanip>

  usingnamespacestd;

_

  Cout<

setw(10)<

setfill(’x’)<

setprecision(8)<

left;

12.3456793<

_______<

98765;

  若程厚的输出是12.345679x98765xxxxx,则划线处缺失的部分是

  A)setw(10) 

B)setfill('

x'

) 

C)setprecision(8) 

D)right

  (35)有如下程序:

  classBook{

  Book(char*t="

"

){strcpy(titie,t);

  _____________________________

  Chartitle[40];

  classNovel:

publicBook{

  Novel(char*t="

):

B00K(t){}

  char*Category()const 

{return”"

文学"

  Book*pb;

  pb=newNovel();

pb->

Category();

  若程序运行时输出结果是“文学”,则划线处缺失的语句是

  A)char*Category();

  B)char*Category()const;

  C)virtualchar*Category()const;

  D)virtualchar*Category()const=0;

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

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

注意:

以命令关键字填空的必须拼写完整。

  

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

首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为__【1】__。

  

(2)在长度为n的线性表中,寻找最大项至少需要比较___【2】___次。

  (3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有__【3】___个

  结点。

  (4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是_【4】__程序。

  (5)数据库设计的四个阶段是:

需求分析,概念设计,逻辑设计和_【5】_。

  (6)如果一个派生类只有一个直接基类,则该类的继承方式称为_【6】_继承;

如果一个派生类同时有多个直接基类,则该类的继承方式称为_【7】_继承。

  (7)运算符“+”允许重载为类成员函数,或者非成员函数。

若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为_【8】_函数。

  (8)下列程序的输出是3,请填充程序中的空缺,使该行形成一个运算符重载函数的定义。

  classMyNumber{

  intn;

  MyNumber(intk):

n(k){}

  _【9】_int()const{returnn,}

  MyNumbernuml(3);

int(numl);

  (9)下列程序的输出结果是_【10】__。

  classBase{

  intm,n;

  Base(inti,intj):

m(i),n(j){}

  classDerived:

public 

Base{

  intm,k;

  Derived(inti,intj):

Base(i,j),m(i+1),k(j+1){}

  Derivedd(1;

5);

d.M<

d.K<

d.n;

  (10)根据程序中的注释将下列缺失部分补充完整。

  classA{

  char*a;

  A():

a(0){}

  A(char*aa){//把aa所指字符串复制给a所指向的存储空间

  a=__【11】__char[strlen(aa)+1];

  strcpy(a,aa);

  ~A(){delete[]a;

  (11)根据程序中的注释将下列缺失部分补充完整。

  intx,y;

//点的x和y坐标

  Point(intxx=0,intyy=。

x(xx),y(yy){}

  classCircle{

  Pointcenter;

//圆心位置

  intradius;

//半径

  public:

//利用cx和cy分别初始化圆心的x和y坐标

  Circle(intcx;

intcy,intr):

__【12】__,radius(r){}

  voidarea(){cout<

3.14159*radius*radius<

endl;

  (12)一网喂序的输出结果是__【13】__。

  #include<iostream>

  Intx;

  Public:

  Base(intb):

x(b){}

  virtualvoiddisplay(){cout<

x;

publicBase{

  Inty;

  Derived(intd):

Base(d),y(d){}

  voiddisplay(){cout<

y;

  Baseb

(1);

Derivedd

(2);

  Base*p=&d;

  b.display();

d.display();

p一>

display();

  (13)一个双目运算符作为类的成员函数重载时,重载函数的参数表中有__【14】__个参数。

  (14)派生类中的成员函数可以直接访问基类中的公有成员和__【15】__成员。

2010年3月计算机等级考试二级C++笔试试题

  

(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&

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

  MyTempp2;

  MyTempp3[2];

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

  D)0

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

  A)类

  B)对象

  C)模板

  D)函数

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

  A)b

  B)B

  C)_

  D)2

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

  A)false是一个逻辑型常量

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;

  (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

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

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1