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

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

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

時間: 家輝2 資訊

  24一間宿舍可住多個學生,則實體宿舍和學生之間的聯系是(  )。

  A.一對一B.一對多C.多對一D.多對多

  參考答案:B

  參考解析:因為一間宿舍可以住多個學生即多個學生住在一個宿舍中,但一個學生只能住一間宿舍,所以實體宿舍和學生之間是一對多的關系。

  25下列關于二叉樹的敘述中,正確的是( )。

  A.葉子結點總是比度為2的結點少一個

  B.葉子結點總是比度為2的結點多一個

  C.葉子結點數是度為2的結點數的兩倍

  D.度為2的結點數是度為1的結點數的兩倍

  參考答案:B

  參考解析:根據二叉樹的基本性質3:在任意一棵:二叉樹中,度為0的葉子結點總是比度為2的結點多一個。所以選擇B。

  26有以下語句,則對a數組元素的引用不正確的是(0≤i≤9)( )。

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

  A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))

  參考解析:選項D第一層括號中為數組a中第i項元素的值,外面再加指針運算符沒有意義。

  27下列程序的運行結果為( )。

  #include

  void print(double A.

  {

  cout<<++a:

  }

  void print(int atint B.

  {

  cout<

  }

  void main()

  {

  print(1.2);

  eout<<””:

  print(3,4);

  }

  A.1.2 34B.2.2 34C.1.2 43D.2.2 43

  參考解析:本題考查的是對重載函數的掌握,因為++a是右結合的,所以a先自加1再輸出,即為2.2,之后調用函數print(int a,int b)輸出h和a,即43。

  點擊查看試題筆記(1)28存在定義int a[10],x,* pa;,若pa=&a[0],下列的( )選項和其他3個選項不是等價的。

  A.x=*pa;B.x=*(a+1);C.x=*(pa+l)D.x=a[1];

  參考答案:A

  參考解析:本題考查的是數組和指向數組的指針之問的關系,選項A中x是被數組a的第一個元素賦值,其余的都是被數組a的第二個元素賦值。

  29下列敘述中正確的是(  )。

  A.循環隊列有隊頭和隊尾兩個指針,因此,循環隊列是非線性結構

  B.在循環隊列中,只需要隊頭指針就能反映隊列中元素的動態變化情況

  C.在循環隊列中,只需要隊尾指針就能反映隊列中元素的動態變化情況

  D.循環隊列中元素的個數是由隊頭指針和隊尾指針共同決定

  參考解析:循環隊列有隊頭和隊尾兩個指針,但是循環隊列仍是線性結構的,所以A錯誤;在循環隊列中需要隊頭指針與隊尾指針來共同反映隊列中元素的動態變化情況,所以B與C錯誤。

  30通常拷貝構造函數的參數是( )。

  A.某個對象名

  B.某個對象的成員名

  C.某個對象的引用名

  D.某個對象的指針名

  參考答案:C

  參考解析:復制初始化構造函數的作用是用一個已知的對象來初始化一個被創建的同類的對象,該函數只有一個參數,并且是對同類的某個對象的引用。

  31如果在表達式++x/y中,“++”是作為友元函數重載的,“/”是作為成員函數重載的,則該表達式還可為(   )。

  A.(operator++(x)).operator/(Y)

  B.(operator++(0)).operator/(Y)

  C.operator/((operator++(x,0)),Y)

  D.operator/((operator++(0)),Y)

  參考答案:A

  參考解析:c++中用成員函數重載++X為:x.oper-ator++(),用友元函數重載++x為:0perator++(x),用成員函數重載x/y為:x.operator/(Y),用友元函數重載x/y為:operator/(X,Y)。

  32一個函數功能不太復雜但要求被頻繁調用,應選用( )。

  A.內聯函數B.重載函數C.遞歸函數D.嵌套函數

  參考答案:A

  參考解析:本題考查的是內聯函數的使用,它的引入是為了,解決程序中函數調用的效率問題,在編譯時,編譯器將程序中出現的內聯函數的調用表達式用內聯函數的函數體來替換。

  33數據庫應用系統中的核心問題是(  )。

  A.數據庫設計

  B.數據庫系統設計

  C.數據庫維護

  D.數據庫管理員培訓

  參考答案:A

  參考解析:數據庫應用系統中的核心問題是數據庫的設計。

  34有如下程序: Class Base{ publiC:

  int data; };

  Class Derivedl:publiC Base{};

  Class Derived2:proteCted Base{};

  int main(  ) {

  Derivedl dl; Derived2 d2; dl.data=0;//①

  d2.data=0;//② retum 0;

  }

  下列關于程序編譯結果的描述中,正確的是(  )。

  A.①②皆無編譯錯誤

  B.①有編譯錯誤,②無編譯錯誤

  C.①無編譯錯誤,②有編譯錯誤

  D.①②皆有編譯錯誤

  參考答案:C

  參考解析:本題考查公用繼承和保護繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在 派生類中保持原有訪問屬性,其私有成員仍為基類私有、稿.受保護繼承中,基類的公用成員和保護成員在派生類中成了保護成員,其私有成員仍為基類私有。本題中Derived1公用繼承Base.所以①編譯正確,Derived2保護繼承Base,所以②編譯不 正確。

  35下列關于基類和派生類關系的敘述中,正確的是(  )。

  A.每個類最多只能有一個直接基類

  B.派生類中的成員可以訪問基類中的任何成員

  C.基類的構造函數必須在派生類的構造函數體中調用

  D.派生類除了繼承基類的成員,還可以定義新的成員

  參考解析:本題考查派生類與基類的關系,派生類可以有多個直接基類,而派生類有三種繼承方式,在私有繼承中,派生類的成員并不能訪問基類的成員。如果基類中定義了缺省構造函數或根本沒有定義任何一一個構造函數時,在派生類構造函數的定義中可以省對基類構造函數的調用。所以本題答案為D。

  36結構化程序所要求的基本結構不包括( )。

  A.順序結構

  B.GOT0跳轉

  C.選擇(分支)結構

  D.重復(循環)結構

  參考答案:B

  參考解析:1966年Boehm和Jacopini證明了程序沒計語言僅僅使用順序、選擇和重復三種基本控制結構就足以表達出各種其他形式結構的程序設計方法。

  37將E—R圖轉換為關系模式時,實體和聯系都可以表示為(  )。

  A.屬性B.鍵C.關系D.域

  參考答案:C

  參考解析:從E—R圖到關系模式的轉換是比較直接的,實體與聯系都可以表示成關系,E—R圖中屬性也可以轉換成關系的屬性。

  38下面是一個模板聲明的開始部分:

  templatedouble…由此可知( )。

  A.這可能是一個函數模板的聲明

  B.這可能是一個類模板的聲明

  C.這既可能是一個函數模板的聲明,也可能是一個類模板的聲明

  D.這肯定是一個錯誤的模板聲明

  參考答案:A

  參考解析:本題考查函數模板和類模板的基礎知識,從templatedouble這里就可以看出這是·個函數模板的聲明。

  39有如下程序:

  #include

  using namespace std;

  class AA{

  int k;

  protected:

  int n;

  void setK(int k){this一>k=k;}

  public:

  void setN(int n){this一>n=n;}

  };

  class BB:public AA{/*類體略*" >

  ;

  int main()

  }

  BB X;

  A n=1;//1

  B setN(2);//2

  C k=3;//3

  D setK(4);//4

  return 0;

  }

  在標注號碼的四條語句中正確的是( )。

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

  參考答案:B

  參考解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有訪問屬性,其私有成員仍為基類私有。所以本題中n、k和setK變為了派生類的保護成員,不能直接使用,即1、3、4錯誤,所以B選項正確。

  40有如下頭文件:

  int fl();

  static int f2();

  class MA{

  public:

  int f3();

  static int f4();

  };

  在所描述的函數中,具有隱含的this指針的是( )。

  A.flB.f2C.f3D.f4

  參考答案:C

  參考解析:只有類的非靜態成員函數才隱含this指針。其作用域是類內部,當類的非靜態成員函數中訪問類的非靜態成員時,編譯器會自動將對象本身的地址作為一個隱含參數傳遞給函數,而不必一定寫上this。所以本題答案為C。

  二、基本操作題

  41請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,該工程中包含程序文件main.epp,其中有類Door(“門”)和主函數main的定義。程序中位于每個“//ERROR****found ****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結果應為:

  打開503號門…門是鎖著的,打不開。

  打開503號門的鎖…鎖開了。

  打開503號門…門打開了。

  打開503號門…門是開著的,無須再開門。

  鎖上503號門…先關門...門鎖上了。

  注意:只修改每個“//ERROR***********found **********”下的那一行,不要改動程序中的其他內容。

  #include

  using namespace std;

  class Door{

  int Bum;//門號

  bool closed;//true表示門關著

  bool locked://true表示門鎖著

  public:

  Door(int nHm){

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

  nun=this一>ann:

  closed=locked=true:

  }

  bool isClosed()const{rehlrn closed;}

  //門關著時返回true,否則返回false

  bool isOpened()const{return!closed;}

  //門開著時返回true,否則返回false

  b001 isLocked()const{retum locked;}

  //門鎖著時返回true,否則返回false

  bool isUnlocked()const{return!locked;}

  //門未鎖時返回true,否則返回false

  void open(){ //開門

  cout<

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

  if(closed)

  cout<<”門是開著的,無須再開門。”;

  else if(10cked)

  cout<<”門是鎖著的,打不開。”;

  else{

  closed=false;

  eout<<”門打開了。”;

  }

  }

  void close(){//關門

  cout<

  if(closed)

  cout<<”門是關著的,無須再關門。”;

  else{

  closed=true;

  cout<<”門關上了.";

  }

  }

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

  void lock()const{//鎖門

  cout<

  if(locked)

  cout<<”門是鎖著的,無須再鎖門。”;

  else{

  if(!closed){

  cout<<”先關門...”;

  closed=true;

  }

  locked=true:

  cout<<”門鎖上了。”;

  }

  }

  wild unlock(){//開鎖

  cout<

  if(!locked)

  cout<<”門沒有上鎖,無須再開鎖。”;

  else{

  locked=false;

  cout<<”鎖開了。”;

  }

  };

  int main(){

  Door door(503);

  door.open();

  door.unlock();

  door.open();

  door.open();

  floor.10ck();

  return 0;

  }

  參考解析:

  (1)this—>num=num;

  (2)if(!closed)

  (3)void lock(){

  三、簡單應用題

  42請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個程序文件 main.cpp,其中有類CPolygon(“多邊形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定義。請在橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。該程序的正確輸出結果應為: 注意:只能在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“//****found****”。 #include

  {tout<<——<

  int area(void){return(width *height);}

  class CTriangle:public CPolygon{

  int length;//三角形一邊長 int height;//該邊上的高

  public:

  CTriangle(int l,int h):length(1),height(h){}

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

  int area(void){return(——)/2;}

  };

  int main(){

  CRectangle rect(4,5); CTriangle trgl(4,5);

  //*********found********* ______ *ppolyl,* ppoly2; ppolyl=&rect;

  ppoly2=&trgl;

  ppolyl->printarea(); ppoly2->printarea(); retun 0;

  參考解析:

  (1)virtual int area(void)=0;

  (2)area()

  (3)length*height

  (4)CPolygon

  四、綜合應用題

  43請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中聲明的DataList類,是一個用于表示數據表的類。s0rt成員函數的功能是將當前數據表中的元素升序排列。請編寫這個sort函數。程序的正確輸出應為: .

  排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12

  要求:

  補充編制的內容寫在“//********33********”與“//********666********”兩行之問。不得修

  改程序的其他部分。

  注意:程序最后將結果輸出到文件。ut.dat中。輸出函數writeToFile已經編譯為。obj文件,并且在本程序

  調用。

  //DataList.h

  #inClude using namespaCe std; Class DataList{//數據表類

  int len;

  double*d: publiC:

  DataList(int len,double data[]=NULL);。DataList(){delete[]d;}

  int length(Constt retum len;}//數據表長度(即數據元素的個數) double getElement(int i)Const{return d[i];}

  void sort();//數據表排序

  void show()Const;//顯示數據表}.

  void writeToFile(Char*,Const DataList&).//main.Cpp

  #inClude”DataList.h”

  DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];

  for(int i_0;i

  d[i]=(data==NULL?0.0:data[i]);

  }

  void DataList::sort(){//數據表排序//********333********

  //********666********}

  void DataList::show()Const{//顯示數據表

  for(int i=0;i

  }

  int main(){

  double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);

  Cout<<”排序前:”; list.show();

  list.sort();

  Cout<

  writeToFile(””,list); return 0;

  }

  參考解析:

  for(inti=0;i

  for(int j=i;j

  //從i+1處遍歷數組d

  if(d[i]>d[j])

  //d[j]和d[j]比較人,如果大于,就d[i]和d[j]值交換

  {

  inttemp=d[i];

  //把臨時整型變量temp賦值為cJ[i]

  d[i]=d[j];//把d[j]賦值給d[i]

  d[j]=temp;//把temp值賦給d[j]

  }

55669 主站蜘蛛池模板: 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 工业CT-无锡璟能智能仪器有限公司| 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 传动滚筒,改向滚筒-淄博建凯机械科技有限公司 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 拖链电缆_柔性电缆_伺服电缆_坦克链电缆-深圳市顺电工业电缆有限公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格| 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 济南冷库安装-山东冷库设计|建造|冷库维修-山东齐雪制冷设备有限公司 | 写方案网_方案策划方案模板下载 事迹材料_个人事迹名人励志故事 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 磁力链接搜索神器_BT磁力狗_CILIMAO磁力猫_高效磁力搜索引擎2024 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 |