超碰免费人人操|国产视频二区久久艹人人操|欧美激情第一页在线|久热最新无码中文视频|91精品国际成人|亚洲成人精品在线视频青青草|久草免费高清完整在线观看|你懂的AV在线日本黄网页|国产黄色AV日韩女同网|欧美成人色区导航片av

計算機二級C++考試測試卷及答案

時間:2024-08-21 16:35:49 計算機等級

計算機二級C++考試測試卷及答案

  選擇題(每小題1分,共40小題,共40分)

計算機二級C++考試測試卷及答案

  1.下列關于棧的敘述正確的是(  )。

  A.棧頂元素最先被刪除

  B.棧頂元素最后才能被刪除

  C.棧底元素永遠不能被刪除

  D.以上三種說法都不對

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

  A.有一個以上根結點的數(shù)據(jù)結構不一定是非線性結構

  B.只有一個根結點的數(shù)據(jù)結構不一定是線性結構

  C.循環(huán)鏈表是非線性結構

  D.雙向鏈表是非線性結構

  3.某二叉樹共有七個結點,其中葉子結點只有一個,則該二叉樹的深度為(假設根結點在第1層)(  )。

  A.3

  B.4

  C.6

  D.7

  4.在軟件開發(fā)中,需求分析階段產生的主要文檔是(  )。

  A.軟件集成測試計劃

  B.軟件詳細設計說明書

  C.用戶手冊

  D.軟件需求規(guī)格說明書

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

  A.順序結構

  B.GOTO跳轉

  C.選擇(分支)結構

  D.重復(循環(huán))結構

  6.下面描述中錯誤的是(  )。

  A.系統(tǒng)總體結構圖支持軟件系統(tǒng)的詳細設計

  B.軟件設計是將軟件需求轉換為軟件表示的過程

  C.數(shù)據(jù)結構與數(shù)據(jù)庫設計是軟件設計的任務之一

  D.PAD圖是軟件詳細設計的表示工具

  7,負責數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是(  )。

  A.數(shù)據(jù)定義語言

  B.數(shù)據(jù)管理語言

  C.數(shù)據(jù)操縱語言

  D.數(shù)據(jù)控制語言

  8.一個教師可講多門課程,一門課程可由多個教師講授,則實體教師和課程間的聯(lián)系是:(  )。

  A.1:1聯(lián)系

  B.1:m聯(lián)系

  C.m:1聯(lián)系

  D.m:n聯(lián)系

  9.有三個關系R、S和T如下:

  則由關系R和S得到關系T的操作是(  )。

  A.自然連接

  B.交

  C.除

  D.并

  10.定義無符號整數(shù)為Uint,下面可以作為類Uint實例化值的是(  )。

  A.-369

  B.369

  C.0.369

  D.整數(shù)集合{1,2,3,4,5}

  11.在對函數(shù)進行原型聲明時,下列語法成分中,不需要的是(  )。

  A.函數(shù)返回類型

  B.函數(shù)參數(shù)列表

  C.函數(shù)名

  D.函數(shù)體

  12.下列關于this指針的描述中,正確的是(  )。

  A.類的成員函數(shù)都有this指針

  B.類的友元函數(shù)都有this指針

  C.任何與類相關的函數(shù)都有this指針

  D.類的非靜態(tài)成員函數(shù)都有this指針

  13.有如下類定義:

  classAA{

  inta:

  public:

  AA(intn=0):a(n)()

  };

  classBB:publicAA{

  pubilc:

  BB(intn)____

  };

  其中橫線處缺失部分是()。

  A.:a(n){}B.:AA(n){}

  C.{a(n);}D.{a=n;}

  14.為類Matrix重載下列運算符號時,只能作為Matrix類成員函數(shù)重載的運算符是(  )。

  A.+

  B.=

  C.<<

  D.++

  15.下列關于函數(shù)模板的描述中,正確的是(  )。

  A.函數(shù)模板是一個實例函數(shù)

  B.使用函數(shù)模板定義的函數(shù)沒有返回類型

  C.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)相同

  D.通過使用不同的類型參數(shù),可以從函數(shù)模板得到不同的實例函數(shù)

  16.C++系統(tǒng)預定義了四個用于標準數(shù)據(jù)流的對象,下列選項中不屬于此類對象的是(  )。

  A.cout

  B.cin

  C.cerr

  D.cset

  17.Windows環(huán)境下,由C++源程序文件編譯而成的目標文件的擴展名是(  )。

  A.cpp

  B.exe

  C.obj

  D.1ik

  18.若有定義語句“inti=2,j=3;”,則表達式i/j的結果是(  )。

  A.0

  B.0.7

  C.0.66667

  D.0.66666667

  19.有如下程序:

  #include

  usingnamespacestd;

  intmain(){

  intf,f1=0,f2=1

  for(inti=3;i<=6;i++){

  f=f1+f2:

  f1=f2:f2=f

  }

  cout<  return0;

  }

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

  A.2

  B.3

  C.5

  D.8

  20.有如下語句序列:

  intx=100,&r=x;

  cout<  已知其中變量x的地址為0012FF2C,則執(zhí)行該語句序列的輸出結果為(  )。

  A.100—100

  B.100—0012FF7C

  C.0012FF7C一100

  D.0012FF7C一0012FF7C

  21.已知函數(shù)f的原型是“voidf(int*x,int&y);”,變量v1、v2的定義是“intv1,v2;”,下列調用語句中,正確的是(  )。

  A.f(v1,v2)

  B.t(v1,&v2)

  C.f(&v1,v2)

  D.f(&v1,&v2);

  22.有如下類定義:

  classSample{

  public:

  Sample(intx):ref(x){}//①

  private:

  Sample():ref(0){}//②

  staticintva1=5;//③

  constintref;//④

  };

  上述程序段中,錯誤的語句是(  )。

  A.①B.②

  C.③D.④

  23.有如下程序:

  #include

  usingnamespacestd;

  classPoint{

  intX,Y;

  public

  point(intx1=0,inty1=O)tx(x1),y(y1){}

  intget(){returnx+y;}

  };

  classCircle{

  pointcenter;

  intradius;

  public

  circle(intCX,intcy,intr):center(cx,cy),radius(r)

  {}

  intget(){returncenter.get()+radius;)

  };

  intmain(){

  circlec(3,4,5);

  cout<  return0;

  }

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

  A.5

  B.7

  C.9

  D.12

  24.若是對類BigNumber中重載的類型轉換運算符long進行聲明,下列選項中正確的是(  )。

  A.operatorlong()const;

  B.operatorlong(BigNumber);

  C.10ngoperatorlong()const;

  D.10ngoperatorlong(BigNumber);

  25.有如下函數(shù)模板定義:

  template

  T1FUN(T2n){returnn*5,0;}

  若要求以int型數(shù)據(jù)9作為函數(shù)實參調用該模板,并返回一個double型數(shù)據(jù),則該調用應表示為(  )。

  A.FUN(9)

  B.FUN<9>

  26.下列語句都是程序運行時的第一條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是(  )。

  A.cout<  B.cout<  C.cout<  D.cout<  27.下列關于析構函數(shù)的描述中,錯誤的是(  )。

  A.析構函數(shù)可以重載

  B.析構函數(shù)由系統(tǒng)自動調用

  C.每個對象的析構函數(shù)只被調用一次

  D.每個類都有析構函數(shù)

  28.下列關于構造函數(shù)的描述中,錯誤的是(  )。

  A.構造函數(shù)名與類名相同

  B.構造函數(shù)可以有返回值

  C.構造函數(shù)可以重載

  D.每個類都有構造函數(shù)

  29.若PAT是一個類,則程序運行時,語句“PAT(*ad){3};”調用PAT的構造函數(shù)的次數(shù)是(  )。

  A.0

  B.1

  C.2

  D.3

  30.有如下程序:

  ClassBase{

  public:

  intdata;

  };

  ClassDerived1:publicBase{};

  ClassDerived2:protectedBase{};

  intmain(){

  Derived1d1;

  Derived2d2;

  d1.data=0;//①

  d2.data=0;//②

  return0;

  }

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

  A.①②皆無編譯錯誤

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

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

  D.①②皆有編譯錯誤

  31.有如下程序;

  #include

  usingnamespacestd;

  clasBasel{

  public:

  Basel(intd){cout<  -Basel(){}

  };

  classBase2{

  public:

  Base2(intd){out<  ~Base2(){}

  };

  classDerived:publicBase1,Base2{

  public:

  Derived(inta,intb,intC,intd):

  Basel(b),Base2(a),b1(d),b2(c){}

  private:

  intb1;

  intb2;

  };

  intmain(){

  Derivedd(1,2,3,4);

  return0;

  }

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

  A.1234

  B.2134

  C.12

  D.21

  32.有如下程序:

  #include

  usingnamespacestd;

  classBase{

  public:

  virtualvoidfunctionl(){cout<<’0’;}

  voidfunction2(){out<<’1’;}

  };

  classDerived:publicBase{

  oublic:

  voidfunctionl(){cout<<’2’;}

  voidfunction2(){cout<<’3’;}

  };

  intmain(){

  Base*p=newDerived();

  p->functionl();

  p->function2();

  return0;

  }

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

  A.01

  B.21

  C.03

  D.23

  33.有如下類模板定義:

  template

  classBigNumber{

  longn;

  public;

  BigNumber{Ti}:n(i){}

  BigNumberoperator+(BigNumberb){

  returnBigNumber{n+b.n);

  }

  };

  已知b1、b2是BigNumber的兩個對象,則下列表達中踏誤的是(  )。

  A.b1+b2

  B.b1+3

  C.3+b1

  D.3+3

  34.下列關于文件流的描述中,正確的是(  )。

  A.文件流只能完成針對磁盤文件的輸入、輸出

  B.建立一個文件流對象時,必須同時打開一個文件

  C.若輸入流要打開的文件不存在,將建立一個新文件

  D.若輸出流要打開的文件不存在,將建立一個新文件

  35.有如下程序:

  #include

  usingnamespacestd;

  classPair{

  intm,n;

  public;

  Pair(intj,intk):m(j),n(k){}

  intget(){returnm;}

  intget()const{returnm+n;}

  };

  intmain(){

  Paira(3,5);

  constPairb(3,5);

  cout<  return0;

  }

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

  A.33

  B.38

  C.83

  D.88

  36.有如下程序:

  #include

  usingnamespacestd;

  voidf1(int&X,int&y){intz=x;x=y;y=z;}voidf2(intX,inty){intz=x;x=y;y=z;}intmain(){

  intx=10,y=26;

  f1(x,y);

  f2(x,y);

  cout<  return0;

  }

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

  A.10

  B.16

  C.26

  D.36

  37.有如下程序:

  #include

  usingnamespacestd;

  classXA{

  inta;

  public:

  staticintb;

  XA(intaa):a(aa){b++;}

  ~XA(){}

  intget(){returna;}

  };

  intXA::b=0

  intmain(){

  XAd1(1),d2(3);

  cout<  return0;

  }

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

  A.5

  B.6

  C.7

  D.8

  38.有如下程序:

  #include

  usingnamespacestd;

  classPoint{

  intX,y;

  public:

  Point(intx1=0,inty1=0):X(x1),y(y1){}

  intget(){returnx+y;}

  };

  classCircle{

  Pointcenter;

  intradius;

  public:

  Circle(intCX,intcy,intr):center(CX,cy),radius(r)

  {}

  intget(){returncenter.get()+radius;}

  };

  intmain(){

  Circlec(3,4,5);

  cout<  return0;

  }

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

  A.5

  B.7

  C.9

  D.12

  39.若是對類BigNumber中重載的類型轉換運算符long進行聲明,下列選項中正確的是(  )。

  A.operatorlong()const;

  B.operatorlong(BigNumber);

  C.10ngoperatorlong()const;

  D.longoperatorlong(BigNumber);

  40.有如下函數(shù)模板定義:

  template

  T1FUN(T2n){returnn*5,0;}

  若要求以int型數(shù)據(jù)9作為函數(shù)實參調用該模板,并返回一個double型數(shù)據(jù),則該調用應表示為(  )。

  A.FUN(9)

  B.FUN<9>

  【參考答案及解析】

  1.A!窘馕觥織J窍薅ㄔ谝欢诉M行插入刪除的先入后出的線性表數(shù)據(jù)結構,棧頂元素最后插入到棧中,但是最先被刪除;而棧底元素最先插入,最后被刪除。

  2.D!窘馕觥烤性表的特點是:在數(shù)據(jù)元素的非空有限集合中1)存在唯一的一個被稱為”第一個”的數(shù)據(jù)元素2)存在唯一個被稱為”最后一個”的數(shù)據(jù)元素3)除第一個以外,集合中的每個數(shù)據(jù)元素均只有一個后繼4)除最后一個以外,集合中的每個數(shù)據(jù)元素均只有一個后繼。因此,雙向表是非線性結構。

  3.D!窘馕觥繉τ谌我庖豢枚鏄銽,如果葉子節(jié)點數(shù)為nO,度為2的結點數(shù)為n2,二者之間的關系是nO=n2+1,該題中度為2的結點數(shù)為0,且只有一個葉子節(jié)點,因此,樹中度為1的結點有6個,很容易想到樹的深度為7。

  4.D!窘馕觥啃枨蠓治鲭A段只能產生需求分析規(guī)格說明書,A測試說明書是軟件測試階段生成的,B軟件詳細設計說明數(shù)是設計階段生產,C用戶手冊是軟件發(fā)布時隨軟件一同交付給用戶的。

  5.B。【解析】結構化程序設計的三種結構是順序、分支和循環(huán),不包括goto跳轉,它只是分支結構的一種,也是一個關鍵字。

  6.A!窘馕觥寇浖到y(tǒng)的總體結構圖是軟件架構設計的依據(jù),它并不能支持軟件的詳細設計。

  7.C!窘馕觥繑(shù)據(jù)庫操縱語言專門負責查詢,增加,刪除等數(shù)據(jù)操作。

  8.D!窘馕觥恳粋教師可以上多門課程,一門課程也可以由多個教師教授,這是典型的多對多的E-R關系。

  9.C!窘馕觥縎中的關系全部出現(xiàn)在R中,只有做除法操作才會出現(xiàn)關系T。

  10.B!窘馕觥緼是有符號數(shù),C是浮點數(shù),D是集合,并不是類的實例化對象,只有B完全符臺。

  11.D!窘馕觥亢瘮(shù)聲明的時候,是不需要實現(xiàn)部分的,也就是函數(shù)體。

  12.D!窘馕觥款惖姆庆o態(tài)成員都是有this指針的?梢酝ㄟ^obj非靜態(tài)成員訪問。

  13.B!窘馕觥啃枰獙崿F(xiàn)父類構造函數(shù)。

  14.B!窘馕觥抠x值運算符只能作為重載函數(shù)的成員函數(shù),其他運算符都可以作為友元函數(shù)重載。

  15.D!窘馕觥亢瘮(shù)模板只是聲明,一個函數(shù)的描述即模板,不是一個可以直接執(zhí)行的函數(shù),只有根據(jù)實際情況用實參的數(shù)據(jù)類型參數(shù)標識符之后,才能產生真正的函數(shù)。

  16.D!窘馕觥緾++的標準數(shù)據(jù)流對象有三個:cout標注輸出流,ein標準輸入流,cerr標準錯誤流。

  17.C!窘馕觥縞pp是C++源文件的擴展名,exe是可執(zhí)行文件的擴展名,lik是鏈接文件的的擴展名。

  18.A!窘馕觥空麛(shù)相除為整數(shù),所以結果為0。

  19.C:【解析】循環(huán)3次,分別每次計算出fl,f2和f的值,該題較簡單,只需細心即可。

  20.B!窘馕觥縳的值為100,而r代表x的地址。&r=x等同于r=*X。

  21.B!窘馕觥縱oidf(int*X,int&。y);第一個參數(shù)需要取值,第二個參數(shù)需要取地址,所以為v1為取值,&Lv2為取址。

  22.C!窘馕觥繎獮椤皊taticconstintval一5;”,只有靜態(tài)常量才可以初始化。

  23.D。【解析】簡單類之間繼承關系的調用,按照通常做法便可以得到答案。center.get()函數(shù)調用后,3和4的和被返回接著再調用Circle類的radius成員交量5相加后得到12。

  24.A!窘馕觥緾++不僅可以對運算符進行重載,還可以重載類型轉換符,函數(shù)聲明的形式勾operator類型符()const。

  25.C!窘馕觥亢瘮(shù)返回類型是double型,則T1為double型,T2為int型才符合函數(shù)模板的定義。

  26.D!窘馕鯹setw(6)將輸出寬度設為6,如果位數(shù)不夠則在最左邊補齊,因此該項輸出一定不會與其他三項一致。

  27.A!窘馕觥课鰳嫼瘮(shù)不能被重載,因為它的函數(shù)中不帶有任何參數(shù),也沒有任何返回值,函數(shù)只有一個版本,即~類名(){}。

  28.B!窘馕觥繕嬙旌瘮(shù)沒有返回值,雖然叫函數(shù)但是它沒有任何返回值,包括void型都不是,官方叫法為“構造器”。

  29.A!窘馕鯹PAT(*ad){3);該表達式表示一個指向類PAT的數(shù)組的指針,只是聲明了該指針,而并沒有進行實例化對象,因此該語句運行時并不會調用構造函數(shù)。

  30.C。【解析]Derived2繼承Base的方式為protected,則Base的public成員只能在Base內訪問。

  31.D!窘馕觥慷嗬^承構造函數(shù)執(zhí)行的順序為繼承時的順序。所以答案為D。Derived(inta,intb,intC,intd):Basel(b),Base2(a),bl(d),b2(c)的含義是:構造函數(shù)Basel的參數(shù)值為b,構造函數(shù)Base2的參數(shù)值為a。成員變量b1,b2的值分別為d、C。

  32.B!窘馕觥勘绢}中需要注意的是虛函數(shù)的定義:指向基類的指針在操作它的多態(tài)類對象時,會根據(jù)不同的類對象,調用其相應的函數(shù),這個函數(shù)就是虛函數(shù)。所以P->functionl();會指向實現(xiàn)類Derived,而P->function2()則會指向Base。

  33.C!窘馕觥吭擃}考查了C++模板類和+運算符重載的知識,3+b1時,程序不能將b1轉化為整型,所以編譯會出錯。

  34.C!窘馕觥枯斎肓饕蜷_的文件不存在,則會自動建立該文件,而輸出流要打開的文件不存在,則會報錯,而不會新建一個文件。

  35.B!窘馕觥縠onst函數(shù)只能被eonst對象調用,a.get()函數(shù)調用的返回值是3,而b.get()調用的返回值是8。

  36.A!窘馕觥吭擃}考查了函數(shù)參數(shù)傳遞的兩種方式:引用傳遞和值傳遞。引用傳遞時X和Y會交換,而傳值時二者不交換,因此選10。

  37.C!窘馕觥棵空{用一次get函數(shù)時,對新的類A對象進行一次實例化,調用一次構造函數(shù),類A的靜態(tài)成員變量b便加1。

  38.D!窘馕觥亢唵晤愔g繼承關系的調用,按照通常做法便可以得到答案。center.get()函數(shù)調用后,3和4的和被返回,接著再調用Circle類的radius成員變量5相加后得到12。

  39.A!窘馕觥緾++不僅可以對運算符進行重載,還可以重載類型轉換符,函數(shù)聲明的形式為:operator類型符()const。

  40.C!窘馕觥亢瘮(shù)返回類型是double型,則T1為double型,T2為int型才符合函數(shù)模板的定義。

【計算機二級C++考試測試卷及答案】相關文章:

計算機二級考試C++試題及答案03-27

計算機二級考試C++試題03-09

2016年計算機二級C++考試試卷及答案03-05

2016計算機等級考試二級C++上機模擬試題及答案03-08

2016最新計算機二級C++上機試題及答案03-03

2017年9月計算機二級C++考試模擬試題及答案03-05

2017計算機二級C++考試試題03-05

計算機二級考試答案10-24

2016年計算機二級C++模擬試題及答案03-07