计算机二级《C++》上机练习题及答案

时间:2025-12-15 07:24:32 试题

2016计算机二级《C++》上机练习题及答案

  一、基本操作题

  1请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“/pic/p>

  There is a white dog named Hoh0. There is a blaCk dog named Haha. There is a motley dog named Hihi. 注意:只修改每个/pic/p>

  #inClude using namespaCe std; /pic/p>

  enum DOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER}; Class Dog{/pic/p>

  DOGCOLOR Color; Char name[20]; statiC int Count; publiC:

  Dog(Char nalTle[],DOGCOLOR Color){ strCpy(this一>name,name);

  /pic/p>

  strCpy(this一>Color,Color);

  } 1 DOGCOLOR getColor()Const{retum Color;}

  /pic/p>

  Const Char * 9etName()Const{return*finin9;} Const Char * 9etColorString()Const{

  switCh(Color){

  Case BLACK:return”blaCk“; Case WHITE:return”white”:

  Case YELLOW:return’"yellow”: Case BROWN:return”brown”; ease PIEBALD:return”piebald”:

  }

  return”motley”;

  }

  void show()Const{ . Cout<<”There is a”<

  } }; int main(){

  /pic/p>

  Dog dogl(”Hoh0”,WHITE),dog2(”Haha”,BLACK);d0g3(”Hihi”,0THER); d091.show();

  dos2.show(); dos3.show(); return 0;

  }

  参考解析:

  (1)this->color=color:

  (2)consL char getName()eonst{return*name;}

  (3)Dog dogl(”Hoho”,WHITE)。dog2(”Haha”,

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

  二、简单应用题

  2请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。此工程中包含一个源程序文件main.cpp,其中有“房间”类Room及其派生出的“办公室”类0ffice的定义,还有主函数main的定义。请在程序中“/pic/p>

  办公室房间号:308

  办公室长度:5.6

  办公室宽度:4.8

  办公室面积:26.88

  办公室所属部门:会计科

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

  #include

  using namespaee std;

  class Room{ /pic/p>

  int room_n0;/pic/p>

  double length;/pic/p>

  double width;/pic/p>

  public:

  Room(int the—room—n0,double the~length,double the—width):loom—no(the—room—no),length(the—

  length),width(the—width){}

  int theRoomNo()eonst{return iDonl—n0;}

  /pic/p>

  double theLength()const{return length;}/pic/p>

  double theWidth()const{return width;}/pic/p>

  /pic/p>

  double theArea()const{_______________}/pic/p>

  };

  class Office:public Room{/pic/p>

  char*depart;/pic/p>

  public:

  Office(int the_room_n0,double the_length,double the_width,eonst char木the_depart)

  /pic/p>

  :_______________{

  depart=new char[strlen(the depart)+1];

  /pic/p>

  strcpy(_______________);

  }

  ~Office(){delete[]depart;}

  const char*theDepartment()const{return depart;}/pic/p>

  };

  int main(){

  /pic/p>

  Office_______________;

  cout<<”办公室房间号:”<

  <<”办公室长度:”<

  <<”办公室宽度:”<

  <<”办公室面积:”<

  <<”办公室所属部门:”<

  return 0;

  }

  参考解析:

  (1)returtl length*width;

  (2)Room(the_room_no,the_lengih,the_width)

  (3)depart,the_depart

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

  三、综合应用题

  43请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制c++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。

  要求:

  补充编制的内容写在“/pic/pic/p>

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

  /pic/p>

  #include

  #include

  #include

  using namespace std;

  class doc

  {

  private:

  char*sir;/pic/p>

  int length;/pic/p>

  public:

  /pic/p>

  doc(char*filename);

  void reverse();/pic/p>

  一doc();

  void writeToFile(char*filename);

  };

  doc::doc(char}filename)

  {

  ifstream myFile(filename);

  int len=1001,tmp;

  atr=new char[1en];

  length=0;

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

  {

  str[1ength++]=trap;

  }

  str[1ength]=‘\0’;

  myFile.close();

  }

  void doc::reverse(){

  /pic/p>

  /pic/p>

  /pic/p>

  /pic/p>

  }

  doc::~doe()

  {

  delete[]str;

  }

  void doc::writeToFile(char*filename)

  {

  Ofstream outFile(filename);

  outFile<

  outFile.close();

  }

  void main()

  {

  doc myDoc(”in.dat”);

  myDoc.reveme();

  myDoc.writeToFile(”out.dat”);

  }

  参考解析:

  int j,J;/pic/p>

  for(i=0,j=length一1;i

  chartemp=str[i];

  /pic/p>

  str[i]=str[j];

  /pic/p>

  str[j]=temp;

  /pic/p>

  }

  【考点分析】

  本题主要考查的是doc类、构造函数、成员函数和析构函数。

  【解题思路】

  题目要求将myDoc中的字符序列反转,在main函数中我们看到myDoc是doc类,根据doc类的定义可以知道它是把读取文件的字符串存到str动态数组中。reverse函数实现将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个字符交换,依次类推。使用变量i和J,分别表示第一个字符和最后一个字符的下标,定义temp作为中间变量进行交换。

【计算机二级《C++》上机练习题及答案】相关文章:

计算机二级《C++》上机试题及答案12-31

2016计算机二级《C++》上机练习题02-03

2016计算机二级C++上机试题及答案11-25

2016计算机二级《C++》上机强化练习题09-24

2016计算机二级C++上机模拟试题及答案01-16

全国计算机二级《C++》上机试题及答案12-06

全国计算机二级《C++》上机试题附答案01-15

2017计算机二级《C++》上机模拟题及答案10-31

二级C++上机冲刺题及答案解析12-15