久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

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

時間:2024-08-21 16:35:49 計算機等級 我要投稿
  • 相關(guān)推薦

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

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

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

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

  A.棧頂元素最先被刪除

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

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

  D.以上三種說法都不對

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

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

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

  C.循環(huán)鏈表是非線性結(jié)構(gòu)

  D.雙向鏈表是非線性結(jié)構(gòu)

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

  A.3

  B.4

  C.6

  D.7

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

  A.軟件集成測試計劃

  B.軟件詳細設(shè)計說明書

  C.用戶手冊

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

  5.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括(  )。

  A.順序結(jié)構(gòu)

  B.GOTO跳轉(zhuǎn)

  C.選擇(分支)結(jié)構(gòu)

  D.重復(fù)(循環(huán))結(jié)構(gòu)

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

  A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細設(shè)計

  B.軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程

  C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一

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

  7,負責(zé)數(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.有三個關(guān)系R、S和T如下:

  則由關(guān)系R和S得到關(guān)系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.下列關(guān)于this指針的描述中,正確的是(  )。

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

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

  C.任何與類相關(guān)的函數(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.下列關(guān)于函數(shù)模板的描述中,正確的是(  )。

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

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

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

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

  16.C++系統(tǒng)預(yù)定義了四個用于標準數(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的結(jié)果是(  )。

  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;

  }

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

  A.2

  B.3

  C.5

  D.8

  20.有如下語句序列:

  intx=100,&r=x;

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

  A.100—100

  B.100—0012FF7C

  C.0012FF7C一100

  D.0012FF7C一0012FF7C

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

  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;

  }

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

  A.5

  B.7

  C.9

  D.12

  24.若是對類BigNumber中重載的類型轉(zhuǎn)換運算符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ù)實參調(diào)用該模板,并返回一個double型數(shù)據(jù),則該調(diào)用應(yīng)表示為(  )。

  A.FUN(9)

  B.FUN<9>

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

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

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

  B.析構(gòu)函數(shù)由系統(tǒng)自動調(diào)用

  C.每個對象的析構(gòu)函數(shù)只被調(diào)用一次

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

  28.下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是(  )。

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

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

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

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

  29.若PAT是一個類,則程序運行時,語句“PAT(*ad){3};”調(diào)用PAT的構(gòu)造函數(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;

  }

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

  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;

  }

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

  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;

  }

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

  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.下列關(guān)于文件流的描述中,正確的是(  )。

  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;

  }

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

  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;

  }

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

  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;

  }

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

  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;

  }

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

  A.5

  B.7

  C.9

  D.12

  39.若是對類BigNumber中重載的類型轉(zhuǎn)換運算符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ù)實參調(diào)用該模板,并返回一個double型數(shù)據(jù),則該調(diào)用應(yīng)表示為(  )。

  A.FUN(9)

  B.FUN<9>

  【參考答案及解析】

  1.A。【解析】棧是限定在一端進行插入刪除的先入后出的線性表數(shù)據(jù)結(jié)構(gòu),棧頂元素最后插入到棧中,但是最先被刪除;而棧底元素最先插入,最后被刪除。

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

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

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

  5.B!窘馕觥拷Y(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu)是順序、分支和循環(huán),不包括goto跳轉(zhuǎn),它只是分支結(jié)構(gòu)的一種,也是一個關(guān)鍵字。

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

  7.C。【解析】數(shù)據(jù)庫操縱語言專門負責(zé)查詢,增加,刪除等數(shù)據(jù)操作。

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

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

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

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

  12.D。【解析】類的非靜態(tài)成員都是有this指針的?梢酝ㄟ^obj非靜態(tài)成員訪問。

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

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

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

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

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

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

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

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

  21.B。【解析】voidf(int*X,int&。y);第一個參數(shù)需要取值,第二個參數(shù)需要取地址,所以為v1為取值,&Lv2為取址。

  22.C!窘馕觥繎(yīng)為“staticconstintval一5;”,只有靜態(tài)常量才可以初始化。

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

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

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

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

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

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

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

  30.C!窘馕鯹Derived2繼承Base的方式為protected,則Base的public成員只能在Base內(nèi)訪問。

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

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

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

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

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

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

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

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

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

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

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

計算機二級考試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