全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx

上传人:b****4 文档编号:18460762 上传时间:2022-12-16 格式:DOCX 页数:16 大小:26.54KB
下载 相关 举报
全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx_第1页
第1页 / 共16页
全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx_第2页
第2页 / 共16页
全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx_第3页
第3页 / 共16页
全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx_第4页
第4页 / 共16页
全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx

《全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级 C++语言程序设计考前冲刺试题及答案Word文件下载.docx

  classConstants{

  staticdoublegetPI(){return3.1416;

}

  Constantsconstants:

  下列各组语句中,能输出3.1416的是()。

A.cout<

<

p="

"

>

9程序流程图中带有箭头的线段表示的是()。

A.图元关系B.数据流C.控制流D.调用关系

  10下列程序的执行结果为()。

  #include

  voidmain()

  inta=3,b=0;

  int*P=&

a;

  b=+a++;

  cout<

*P<

”,”<

p>

A.3,4B.4,3C.3,4D.4,4

11对长度为n的线性表排序,在最坏情况下,比较次数不是n(rt一1)/2的排序方法是()。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

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

A.long,double、intB.lon9、float、intC.int、double、longD.int、float、long

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

A.栈是“先进先出”的线性表

B.队列是“先进后出”的线性表

C.循环队列是非线性结构

D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

14不能作为重载函数的调用的依据是(  )。

A.参数个数B.参数类型C.函数类型D.函数名称

15下列语句中,错误的是(  )。

A.constintbuffer=256;

B.constdouble*point;

C.intconstbuffer=256;

D.double*eonstpoint:

16下列运算符中,在c++语言中不能重载的是()。

A.*B.>

=C.:

D./

  17有如下说明:

inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;

则数值为9的表达式是()。

A.*P+9B.木(P+8)C.*P+=9D.P+8

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

for(inti=50;

i>

1;

i-=2)Cout<

'

*'

A.24B.25C.26D.50

19算法的有穷性是指()。

A.算法程序的运行时间是有限的

B.算法程序所处理的数据量是有限的

C.算法程序的长度是有限的

D.算法只能被有限的用户使用

20下面关于break语句的描述中,不正确的是()。

A.break可以用于循环体内

B.break语句可以在for循环语句中出现多次

C.break语句可以在switch语句中出现多次

D.break语句可用于if条件判断语句内

  21有如下类定义:

  classPoint

  intxx.yy;

  Point():

xx(0),yy(0){}

  Point(intx,intY=0):

xx(X),YY(Y){}

  若执行语句

  Pointa

(2),b[3],幸c[4];

则Point类的构造函数被调用的次数是(  )。

A.2次B.3次C.4次D.5次

  22有如下程序:

  usingnamespacestd;

  classBasel

  BaseI(intD.{cout<

  一Basel(){}

  classBase2

  Base2(intD.{tout<

  ~Base2(){}

  classDerived:

publicBasel,Base2

  Derived(inta,intb,intc,intD.:

Basel(B.,Base2(A.,bl(D.,b2(C.{}

  intbl:

  intb2:

  intmain()

  Derivedd(1,2,3,4);

  return0;

  }

执行这个程序的输出结果是(  )。

A.1234B.2134C.12D.21

23以下叙述正确的是()。

A.函数可以嵌套定义但不能嵌套调用

B.B.函数既可以嵌套调用也可以嵌套定义

C.函数既不可以嵌套定义也不可以嵌套调用

D.函数可以嵌套调用但不可以嵌套定义

24必须用一对大括号括起来的程序段是()。

A.switCh语句中的Case标号语句

B.if语句的分支

C.循环语句的循环体

D.函数的函数体

25软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是()。

A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统

 

  26下面程序的运行结果为()。

  for(inta=0,x=0;

!

x&

&

a<

=10;

a++)

  a++:

  }A.10B.1lC.12D.0

  27有如下程序:

  inti=1;

  classFun{

  staticinti;

  intvalue(){returni—l;

  intvalue()const{returni+1;

  intFun:

i=2;

  intmain(){

  inti=3;

  Funfunl;

  constFunfun2:

  __________________

  若程序的输出结果是:

  123

则程序中下画线处遗漏的语句是(  )。

cout<

28下列有关模板的叙述中,正确的是()。

A.函数模板不能含有常规形参

B.函数模板的一个实例就是一个函数定义

C.类模板的成员函数不能是模板函数

D.用类模板定义对象时,绝对不能省略模板实参

29运算符重载时不需要保持的性质是()。

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

  30下列程序的输出结果为()。

  #include<

fune(intint>

  if(n<

1)returnl;

  elsereturnn+time(n一1);

return0;

  voidmain(){

  }A.0B.10C.15D.16

 31有如下程序:

  classMyClass{

  MyClass(inti=0){cout<

  MyClass(constMyClass&

x){cout<

2;

  MyClass&

operator=(constMyClass&

3;

retum$this;

  ~MyClass()}cout<

4;

  MyClassobjl

(1),obj2

(2),obj3(objl);

  retum0;

执行这个程序的输出结果是()。

A.112444B.11114444C.121444D.11314444

32在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

A.外模式B.内模式C.概念模式D.逻辑模式

  33有如下程序:

  #inCludeusingnamespaCestd;

ClassBase{

  publiC:

  voidoutput(){Cout<

  virtualvoidPrint(){Cout<

B’;

}};

  ClassDerived:

publiCBase{publiC:

}voidPrint(){Cout<

’D'

;

  intmain(){

  Base*ptr=newDerived;

ptr一>

output();

  ptr一>

Print();

deleteptr;

  retum0;

}

A.1BB.lDC.2BD.2D

  34以下程序中,错误的行为是()。

  ①#include

  ②classA

  ③{

  ④public:

  ⑤intn=2;

  ⑥A(intval){cout<

  ⑦-A(){};

  ⑧};

  ⑨voidmain()⑩{

  ⑪Aa(0);

⑫}

A.⑤B.⑥C.⑦D.⑪

35下列数据结构中,属于非线性结构的是()。

A.循环队列B.带链队列C.二叉树D.带链栈

  36有如下程序:

ClassA{

  statiCinta;

  voidinit(  ){。

a=1;

  A(inta=2){init(  );

a++;

  intA:

a:

0:

Aobj;

  intmain(  ){

  Cout<

return>

运行时输出的结果是(  )。

A.0B.1C.2D.3

  37软件详细设计产生的图如下:

  

  该图是()。

A.N—S图B.PAD图C.程序流程图D.E—R图

  38秘序调试的任务是()。

A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误

  本题共1分,参考答案:

D解析:

程序调试的任务是诊断和改正程序中的错误。

  39有如下程序:

  classA{

  virtualvoidfancl(){cout<

”Al”;

  voidfunc2(){cout<

”A2”;

  classB:

publicA{

  voidfuncI(){tout<

”Bl”;

  voidfunc2(){tout<

”B2”;

  intmain()}

  A*P=newB:

  P—>

funcl();

func2();

  deletep;

A.B182B.A1A2C.B1A2D.AIB2

  40下列字符串中。

不可以用做c++标识符的是(  )。

A.y_2006B._EST_HC.ReturnD.switch  

2、基本操作题(18分)

41请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。

程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。

改正后程序的输出结果应该是:

ThereisawhitedognamedHoh0.ThereisablaCkdognamedHaha.ThereisamotleydognamedHihi.注意:

只修改每个//ERROR****found****女料下的那一行,不要改动程序中的其他内容。

//狗的颜色:

黑、白、黄、褐、花、其他

  enumDOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER};

ClassDog{//狗类

  DOGCOLORColor;

Charname[20];

statiCintCount;

publiC:

  Dog(CharnalTle[],DOGCOLORColor){strCpy(this一>

name,name);

  //ERROR**********found**********、

  strCpy(this一>

Color,Color);

  }1DOGCOLORgetColor()Const{retumColor;

  //ERROR**********found**********

  ConstChar*9etName()Const{return*finin9;

}ConstChar*9etColorString()Const{

  switCh(Color){

  CaseBLACK:

return”blaCk“;

CaseWHITE:

return”white”:

  CaseYELLOW:

return’"

yellow”:

CaseBROWN:

return”brown”;

easePIEBALD:

return”piebald”:

  return”motley”;

  voidshow()Const{.Cout<

”Thereisa”<

  }};

intmain(){

  Dogdogl(”Hoh0”,WHITE),dog2(”Haha”,BLACK);

d0g3(”Hihi”,0THER);

d091.show();

  dos2.show();

dos3.show();

参考答案:

(1)this->

color=color:

  

(2)consLchargetName()eonst{return*name;

  (3)Dogdogl(”Hoho”,WHITE)。

dog2(”Haha”,

  BLACK),dog3(”Hihi”,OTHER);

3、简单应用题(24分)

42请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。

此工程中包含一个源程序文件main.cpp,其中有“房间”类Room及其派生出的“办公室”类0ffice的定义,还有主函数main的定义。

请在程序中“//****found****”下的横线处填写适当的代码并删除横线,以实现上述类定义。

此程序的正确输出结果应为:

  办公室房间号:

308

  办公室长度:

5.6

  办公室宽度:

4.8

  办公室面积:

26.88

  办公室所属部门:

会计科

  注意:

只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“///料料found••料”。

  usingnamespaeestd;

  classRoom{//“房间”类

  introom_n0;

//房间号

  doublelength;

//房间长度(m)

  doublewidth;

//房间宽度(n1)

  Room(intthe—room—n0,doublethe~length,doublethe—width):

loom—no(the—room—no),length(the—

  length),width(the—width){}

  inttheRoomNo()eonst{returniDonl—n0;

  //返回房间号

  doubletheLength()const{returnlength;

}//返回房间长度

  doubletheWidth()const{returnwidth;

}//返回房间宽度

  //**********found**********

  doubletheArea()const{_______________}//返回房间面积(矩形面积)

  classOffice:

publicRoom{//“办公室”类

  char*depart;

//所属部门

  Office(intthe_room_n0,doublethe_length,doublethe_width,eonstchar木the_depart)

  :

_______________{

  depart=newchar[strlen(thedepart)+1];

  strcpy(_______________);

  ~Office(){delete[]depart;

  constchar*theDepartment()const{returndepart;

}//返回所属部门

  Office_______________;

”办公室房间号:

”<

  <

”办公室长度:

”办公室宽度:

”办公室面积:

”办公室所属部门:

}

:

(1)returtllength*width;

  

(2)Room(the_room_no,the_lengih,the_width)

  (3)depart,the_depart

  (4)an_office(308,5.6,4.8,”会汁科”)

四、综合应用题(18分)

 43请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制c++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。

然后将myDoc中的字符序列反转,并输出到文件out.dat中。

文件in.dat的长度不大于1000字节。

  要求:

  补充编制的内容写在“//**********”与“//**********”两行之间。

实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。

不得修改程序的其他部分。

程序最后已将结果输出到文件0ut.dat中,输出函数writeToFile已经给出并且调用。

  //proj3.cpp

  classdoc

  char*sir;

//文本字符串首地址

  intlength;

//文本字符个数

  //构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址

  doc(char*filename);

  voidreverse();

//将字符序列反转

  一doc();

  voidwriteToFile(char*filename);

  doc:

doc(char}filename)

  ifstreammyFile(filename);

  intlen=1001,tmp;

  atr=newchar[1en];

  length=0;

  while((trap=myFile.get())!

=EOF)

  str[1ength++]=trap;

  str[1ength]=‘\0’;

  myFile.close();

  voiddoc:

reverse(){

  //将数组atr中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个

  //字符交换……

  //*************333*************

  //*************666*************

~doe()

  delete[]str;

writeToFile(char*filename)

  OfstreamoutFile(filename);

  outFile<

  outFile.c

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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