计算机等级考试二级C++笔试试题及答案1Word文件下载.docx

上传人:b****6 文档编号:19439985 上传时间:2023-01-06 格式:DOCX 页数:24 大小:43.33KB
下载 相关 举报
计算机等级考试二级C++笔试试题及答案1Word文件下载.docx_第1页
第1页 / 共24页
计算机等级考试二级C++笔试试题及答案1Word文件下载.docx_第2页
第2页 / 共24页
计算机等级考试二级C++笔试试题及答案1Word文件下载.docx_第3页
第3页 / 共24页
计算机等级考试二级C++笔试试题及答案1Word文件下载.docx_第4页
第4页 / 共24页
计算机等级考试二级C++笔试试题及答案1Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

计算机等级考试二级C++笔试试题及答案1Word文件下载.docx

《计算机等级考试二级C++笔试试题及答案1Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级C++笔试试题及答案1Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

计算机等级考试二级C++笔试试题及答案1Word文件下载.docx

  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)"

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=a;

  (23)有如下两个类定义

  classXX{

  private:

  doublex1;

  protected:

  doublex2;

  public:

  doublex3;

  };

  classYY:

protectedXX{

  doubley1;

  doubley2;

  doubley3;

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

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

  intfun2();

  friendintfun3();

  staticintfun4();

  A)fun1

  B)fun2

  C)fun3

  D)fun4

  (28)有如下程序

  #include

  usingnamespacestd;

  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)有如下程序

  classA{

  A(inti=0):

r1(i){}

  voidprint(){cout<

'

E’<

R1<

-'

;

}<

p>

  voidprint()const{cout<

C'

R1*R1<

  voidprint(intx){cout<

P'

R1*R1*R1<

  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)有如下程序

  ClassBase{

  Base(intx=0):

valB(x){cout<

VALB;

  ~Base(){cout<

  intvalB;

  classDerived:

publicBase{

  Derived(intx=0,inty=0):

Base(x),valD(y){cout<

VALD;

  ~Derived(){cout<

  intvalD;

  intmain(){

  Derivedobj12(2,3);

  retuen0;

  A)2332

  B)2323

  C)3232

  D)3223

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

  classShape{

  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)有如下程序:

  ClassB{

  B(intxx):

x(xx){++cout;

x+=10;

  virtualvoidshow()const

  {cout<

COUNT<

_'

X<

ENDL;

  staticintcount;

  intx;

  classD:

publicB{

  D(intxx,intyy):

B(xx),y(yy){++count;

y+=100;

Y<

  inty;

  intB:

count=0;

  B*ptr=newD(10,20);

  ptr->

show();

  deleteptr;

  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{

  Date(【11】):

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

  intyear,month,day;

//依次表示年、月、日

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

  classBook{

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

  【12】voidPrintInfo(){cout<

TITLE<

  chartitle[50];

  classMyBook:

publicBook{

  MyBook(char*s1,char*s2="

张娜"

):

【13】{strcpy(owner,s2);

  virtualvoidPrintInfo(){cout<

"

是"

OWNER<

的书"

  charowner[10];

  Book*prt=newMyBook("

飘"

  prt->

PrintInfo();

  (13)在有理数类Rational中重载插入运算符<

,以便按a/q形式输出。

请将<

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

  classRational{

  Rational(intaa,intqq):

a(aa),q(qq){}

  friend【14】operator<

(ostream&

out,Rational&

x)

  {

  return(out<

X.A<

p?

x.q);

  inta,q;

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

  intsquare(intn){returnn*n;

  doublesquare(doublen){returnn*n;

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

 

2007年4月计算机等级考试C++考试及答案

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

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

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

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

A)算法的效率只与问题的规模有关,而与数据的存储结构无关.

B)算法的时间复杂度是指执行算法所需要的计算工作量

C)数据的逻辑结构与存储结构是一一对应的.

D)算法的时间复杂度与空间复杂度一定相关.

(2)在结构化程序设计中,模块划分的原则是。

A)各模块应包括尽量多的功能

B)各模块的规模应尽量大

C)各模块之间的联系应尽量紧密

D)模块内具有高内聚度,模块间具有低耦合度

(3)下列叙述中正确的是。

A)软件测试的主要目的是发现程序中的错误.

B)软件测试的主要目的是确定程序中错误的位置.

C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作

D)软件测试是证明软件没有错误

(4)下面选项中不属于面向对象程序设计特征的是。

A)继承性B)多态性C)类比性D)封装性

(5)下列对列的叙述正确的是。

A)队列属于非线性表

B)队列按”先进后出”的原则组织数据

C)队列在队尾删除数据

D)队列按“先进先出”原则组织数据

(6)对下列二叉树

A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ

(7)某二叉树中有n个度为2的结点则该二叉树中的叶子结点数为

A)n+1B)n-1C)2nD)n/2

(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是。

A)井B)交C)投影D)笛卡儿乘积

(9)在E-R图中,用来表示实体之间是联系的图形是。

A)矩形B)椭圆形C)菱形D)平行四边形

(10)下列叙述中错误的是。

A)在数据库系统中,数据的物理结构必须与逻辑结构一致.

B)数据库技术的根本目标是要解决数据的共享问题

C)数据库设计是指在已有数据库管理系统的基础上建立数据库

D)数据库系统需要操作系统的支持

(11)为了取代C中带参数的宏,在C++中使用

A)重载函数B)内联函数C)递归函数D)友元函数

(12)下列关于类定义的说法中,正确的是

A)类定义中包括数据成员和函数成员的声明

B)类成员的缺省访问权限是保护的

C)数据成员必须被声明为私有的

D)成员函数只能在类体外进行定义

(13)下列关于派生类构造函数和析构函数的说法中,错误的是

A)派生类的构造函数会隐含调用基类的构造函数

B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数

C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数

(14)通过运算符重载,可以改变运算符原有的

A)操作数类型B)操作数个数C)优先级D)结合性

(15)有如下函数模板:

template<

classT>

Tsouare(Tx)(retumx*x;

基中T是

A)函数形参B)函数实参C)模板形参D)模板实参

(16)使用输入输出操作符setw,可以控制

A)输出精度B)输出宽度C)对齐方式D)填充字符

(17)下列字符串中,不可以用作C++标识符的是

A)y_2006B)____TEST__HC)RetumD)switch

(18)字面常量42、4.2、42L的数据类型分别是

A)long、doubleintB)long、float、int

C)int、double、longD)int、float、long

(19)执行下列语句段后,输出字符“*”的个数是

for(inti=50;

I>

—i)cout<

”*”

A)48B)49C)50D)51

(20)有如下程序段

inti=0,j=1;

int&r=i;

//①

r=j;

//②

int*p=&i;

//③

*p=&r;

//④

基中会产生编译错误的语句是

A)④B)③C)②D)①

(21)有如下函数定义:

voidfunc(inta,int&b){a++;

b++;

若执行代码段:

intx=0,y=1

func(x,y);

则变量x和y值分别是

A)0和1B)1和1C)0和2D)1和2

(22)有如下程序:

#include<

iostream>

usingnamespacestd;

classA{

public

staticinta;

voidinit(){a=1;

A(inta=2){init();

a++;

};

intA:

a=0

Aobj;

Intmain()

{

cout<

obj.a;

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

当前位置:首页 > 表格模板 > 合同协议

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

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