必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

2015年計算機二級考試《C++》突破試卷(2)

時間: 家輝2 資訊

  30下列程序的輸出結果為( )。

  #include

  {

  if(n<1)return l;

  else return n+time(n一1); return 0;

  }

  void main() {

  cout<

  }

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

  參考答案:D

  參考解析:本題考查的是遞歸函數的使用,題中遞歸函數的結束條件為n

  31有如下程序:

  #include

  using namespace std;

  class MyClass{

  public:

  MyClass(int i=0){cout<<1;}

  MyClass(const MyClass&x){cout<<2;}

  MyClass&operator=(const MyClass&x){cout<<3;retum$this;}

  ~MyClass()}cout<<4;}

  };

  int main()

  {

  MyClass objl(1),obj2(2),obj3(objl);

  retum 0;

  {

  執行這個程序的輸出結果是( )。

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

  參考答案:A

  參考解析:本題:考查構造函數和復制構造函數以及重載運算符。本題中先后定義了兩個對象obj1,obj2,依次輸出口,然后定義了對象obj3,凋用復制構造函數,輸出2,最后執行三次析構函數,輸出444。

  32在下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是( )。

  A.外模式B.內模式C.概念模式D.邏輯模式

  參考答案:B

  參考解析:數據庫系統的蘭級模式是概念模式、外模式和內模式。概念模式是數據庫系統中全局數據邏輯結構的描述,是全體用戶公共數據視圖。外模式也稱子模式或用戶模式,它是用戶的數據視圖,給出了每個用戶的局部數據描述、、內模式又稱物理模式,它給出r數據庫物理存儲結構與物理存取方法,所以選擇8。

  33有如下程序:

  #inClude using namespaCe std; Class Base{

  publiC:

  void output(){Cout<<1;}

  virtual void Print(){Cout<<'B’;} };

  Class Derived:publiC Base{ publiC:

  void output(){Cout<<2;} void Print(){Cout<<’D ';} };

  int main() {

  Base * ptr=new Derived; ptr一>output();

  ptr一>Print(); delete ptr;

  retum0; }

  執行這個程序的輸出結果是( )。

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

  參考答案:B

  參考解析:在某基類中聲明為vitua1并在一個或多個派生類中被重新定義的成員函數,本題中定義了一個指向派生類對象的基類指針ptr,執行ptr一>outpnt后,會執行基類的output函數,輸出1,由于Print是虛函數,所以ptr->Print()會執行派生類的Print,即輸出D,所以本題答案為B。

  34以下程序中,錯誤的行為是( )。

  ①#include

  ②class A

  ③{

  ④public:

  ⑤ int n=2;

  ⑥ A(int val){cout<

  ⑦ -A(){};

  ⑧};

  ⑨void main() ⑩{

  ⑪ A a(0);

  ⑫}

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

  參考答案:A

  參考解析:C++語言中規定在類體中不允許對所定義的數據成員進行初始化。

  35下列數據結構中,屬于非線性結構的是( )。

  A.循環隊列B.帶鏈隊列C.二叉樹D.帶鏈棧

  參考答案:C

  參考解析:樹是簡單的非線性結構,所以二叉樹作為樹的一種也是一種非線性結構。

  36有如下程序:

  #inClude using namespaCe std; Class A{

  publiC:

  statiC int a;

  void init(  ){。a=1;}

  A(int a=2){init(  );a++;} };

  int A::a:0: A obj;

  int main(  ) {

  Cout<

  }

  運行時輸出的結果是(  )。

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

  參考答案:B

  參考解析:本題考查構造函數,本題中對類中的a數據成員先是賦值為0,當定義了對象obj時,執行構造函數,將a的值變為了1,所以輸出1。

  37軟件詳細設計產生的圖如下:

  該圖是( )。

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

  參考答案:C

  參考解析:N—S圖提出了用方框圖來代替傳統的程序流程圖,所以A不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的圖形表示工具,所以B不對。E—R圖是數據庫中的用于表示E—R模型的圖示工具,所以D不對。根據圖中所示表示方法是進行軟件詳細設計時使用的程序流程圖。

  38秘序調試的任務是( )。

  A.設計測試用例B.驗證程序的正確性C.發現程序中的錯誤D.診斷和改正程序中的錯誤

  參考答案:D

  參考解析:程序調試的任務是診斷和改正程序中的錯誤。

  39有如下程序:

  #include

  using namespace std;

  class A{

  public:

  virtual void fancl(){cout<<”Al”;}

  void func2(){cout<<”A2”;}

  };

  class B:public A{

  public:

  void funcI(){tout<<”Bl”;}

  void func2(){tout<<”B2”;}

  };

  intmain()}

  A*P=new B:

  P—>funcl();

  P—>func2();

  delete p;

  return 0;

  }

  執行這個程序的輸出結果是(  )。

  A.B182B.A1A2C.B1A2D.AIB2

  參考答案:C

  參考解析:本題考查虛函數。虛函數指在基類中聲明為virtual并在一個或多個派生類中被重新定義的成員函數。題中定義了一個派生類對象8,并使用類A的對象指針指向B,由于基類A中的funcl為虛函數,所以會執行派生類的funcl,輸出Bl,而基類中的func2不是虛函數,所以P->func2()會執行基類的func2,輸出A2。故答案為c。

  40下列字符串中。不可以用做c++標識符的是(  )。

  A.y_2006B._EST_HC.ReturnD.switch

  參考答案:D

  參考解析:本題考查C++標識符的命名規則,其規則有如下幾點:①所有標識符必須由字母、數字或下畫線組成,且必須由字母或下畫線開頭;②所有標識符不能使用C++已有的關鍵字;③大、小寫字母表示不同意義,即代表不同的標識符。選項C中雖然retum是關鍵字,但因首字母大、小寫不同,也可用于標識符,但不建議使用。故答案為D。

  二、基本操作題

  41請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,其中有枚舉DOGCOLOR、狗類Dog和主函數main的定義。程序中位于每個“//ERROR ****found****”下的語句行有錯誤,請加以改正。改正后程序的輸出結果應該是:

  There is a white dog named Hoh0. There is a blaCk dog named Haha. There is a motley dog named Hihi. 注意:只修改每個//ERROR****found****女料下的那一行,不要改動程序中的其他內容。

  #inClude using namespaCe std; //狗的顏色:黑、白、黃、褐、花、其他

  enum DOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER}; Class Dog{//狗類

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

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

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

  strCpy(this一>Color,Color);

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

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

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

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

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

  三、簡單應用題

  42請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。此工程中包含一個源程序文件main.cpp,其中有“房間”類Room及其派生出的“辦公室”類0ffice的定義,還有主函數main的定義。請在程序中“//****found****”下的橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。此程序的正確輸出結果應為:

  辦公室房間號:308

  辦公室長度:5.6

  辦公室寬度:4.8

  辦公室面積:26.88

  辦公室所屬部門:會計科

  注意:只能在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“///料料found••料”。

  #include

  using namespaee std;

  class Room{ //“房間”類

  int room_n0;//房間號

  double length;//房間長度(m)

  double width;//房間寬度(n1)

  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;}

  //返回房間號

  double theLength()const{return length;}//返回房間長度

  double theWidth()const{return width;}//返回房間寬度

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

  double theArea()const{_______________}//返回房間面積(矩形面積)

  };

  class Office:public Room{//“辦公室”類

  char*depart;//所屬部門

  public:

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

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

  :_______________{

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

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

  strcpy(_______________);

  }

  ~Office(){delete[]depart;}

  const char*theDepartment()const{return depart;}//返回所屬部門

  };

  int main(){

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

  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字節。

  要求:

  補充編制的內容寫在“//**********”與“//**********”兩行之間。實現將myDoc中的字符序列反轉,并將反轉后的序列在屏幕上輸出。不得修改程序的其他部分。

  注意:程序最后已將結果輸出到文件0ut.dat中,輸出函數writeToFile已經給出并且調用。

  //proj3.cpp

  #include

  #include

  #include

  using namespace std;

  class doc

  {

  private:

  char*sir;//文本字符串首地址

  int length;//文本字符個數

  public:

  //構造函數,讀取文件內容,用于初始化新對象,filename是文件名字符串首地址

  doc(char*filename);

  void reverse();//將字符序列反轉

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

  //將數組atr中的length個字符中的第一個字符與最后一個字符交換,第二個字符與倒數第二個

  //字符交換……

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

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

  }

  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;//定義兩個整數l臨時變量i.j.

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

  chartemp=str[i];

  //把str[i]中的值保存在臨時變量temp

  str[i]=str[j];

  //把Str[j]值賦給Str[i],實現字符前后替換

  str[j]=temp;

  //把保存在臨時變量temp中的值再賦值給Str[j]

  }

  【考點分析】

  本題主要考查的是doc類、構造函數、成員函數和析構函數。

  【解題思路】

  題目要求將myDoc中的字符序列反轉,在main函數中我們看到myDoc是doc類,根據doc類的定義可以知道它是把讀取文件的字符串存到str動態數組中。reverse函數實現將數組str中的length個字符中的第一個字符與最后一個字符交換,第二個字符與倒數第二個字符交換,依次類推。使用變量i和J,分別表示第一個字符和最后一個字符的下標,定義temp作為中間變量進行交換。第43題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標簽:試題內容(1)答案解析(0)

55672 主站蜘蛛池模板: 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 仪器仪表网 - 永久免费的b2b电子商务平台| 北京发电机出租_发电机租赁_北京发电机维修 - 河北腾伦发电机出租 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 番茄畅听邀请码怎么输入 - Dianw8.com | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | Duoguan 夺冠集团| wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 除甲醛公司-甲醛检测-广西雅居环境科技有限公司 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 快速卷帘门_硬质快速卷帘门-西朗门业 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 湿地保护| 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 热回收盐水机组-反应釜冷水机组-高低温冷水机组-北京蓝海神骏科技有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 水轮机密封网 | 水轮机密封产品研发生产厂家 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 骁龙云呼电销防封号系统-axb电销平台-外呼稳定『免费试用』 |