奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

試題

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

時間:2024-10-06 08:09:17 試題 我要投稿
  • 相關(guān)推薦

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

  為了使廣大考生在備戰(zhàn)計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C++考試專家預測試卷及答案,供參考練習,預祝考生們考出自己理想的成績!

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

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

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

  1、數(shù)據(jù)的存儲結(jié)構(gòu)是指( )。

  A.數(shù)據(jù)所占的存儲空間

  B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存放形式

  C.數(shù)據(jù)在計算機中的順序存儲方式

  D.存儲在計算機外存中的數(shù)據(jù)

  2.將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與實體間的聯(lián)系可以表示成( )。

  A.屬性

  B.關(guān)系

  C.鍵

  D.域

  3.對長度為n的線性表進行順序查找,在最壞情況下需要比較的次數(shù)為( )。

  A.125

  B.n/Z

  C.n

  D.n+1

  4.樹是結(jié)點的集合,它的根結(jié)點的數(shù)目是( )。

  A.有且只有1個

  B.1或多于1

  C.0或1

  D.至少有2個

  5.設R是一個二元關(guān)系,S是一個三元關(guān)系,則下列運算中正確的是( )。

  A.R-S

  B.R×S

  C.R∩S

  D.R∪S

  6.關(guān)于結(jié)構(gòu)化程序設計原則和方法的描述錯誤的是( )。

  A.選用的結(jié)構(gòu)只允許有一個入口和一個出口

  B.復雜結(jié)構(gòu)應該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)

  C.不允許使用GOTO語句

  D.語言中所沒有的控制結(jié)構(gòu),應該采用前后一致的方法來模擬

  7.對關(guān)系S和R進行集合運算,結(jié)果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運算稱為( )。

  A.并運算

  B.交運算

  C.差運算

  D.積運算

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

  A.在面向?qū)ο蟮某绦蛟O計中,各個對象之間具有密切的關(guān)系

  B.在面向?qū)ο蟮某绦蛟O計中,各個對象都是公用的

  C.在面向?qū)ο蟮某绦蛟O計中,各個對象之間相對獨立,相互依賴性小

  D.上述三種說法都不對

  9.結(jié)構(gòu)化程序設計的三種基本結(jié)構(gòu)是( )。

  A.過程、子程序和分程序

  B.順序、選擇和重復

  C.遞歸、堆棧和隊列

  D.調(diào)用、返回和轉(zhuǎn)移

  10.在數(shù)據(jù)庫設計中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過程屬于( )。

  A.需求分析階段

  B.邏輯設計階段

  C.概念設計階段

  D.物理設計階段

  11.在C++語言中函數(shù)返回值的類型是由( )決定的。

  A.調(diào)用該函數(shù)時系統(tǒng)臨時

  B.return語句中的表達式類型

  C.定義該函數(shù)時所指定的函數(shù)類型

  D.調(diào)用該函數(shù)時的主調(diào)函數(shù)類型

  12.下列描述正確的是( )。

  A.表示m>n為true或mn&&m<n

  B.switch語句結(jié)構(gòu)中必須有default語句

  C.if語句結(jié)構(gòu)中必須有else語句

  D.如果至少有一個操作數(shù)為true,則包含‖運算符的表達式為true

  13.使用ifstream流類定義流對象并打開磁盤文件時,文件的隱含打開方式為( )。

  A.ios::in

  B.ios::out

  C.ios::inlios::out

  D.沒有默認

  14.下列各類函數(shù)中,不是類的成員函數(shù)的是( )。

  A.構(gòu)造函數(shù)

  B.抽象類

  C.派生類

  D.以上都不對

  15.下面關(guān)于數(shù)組的初始化正確的是( )。

  A.charstr[]={’a’,’b’,’e’}

  B.charstr[2]={’a’,’b’,’e’)

  C.charstr[2][3]={{’a’,’b’},{’C’,’d’},{’e’,’f’}}

  D.charstr()={’a’,’b’,’C’}

  16.類模板templateclassX{…},其中友元函數(shù)f對特定類型T(如int),使函數(shù)f(x)成為x模板類的友元,則其說明為( )。

  A.friendvoidf();

  B.friendvoidf(x);

  C.friendvoidA::f();

  D.friendvoidC::f(x);

  17.類MyClass的定義如下:

  classMyClass

  {

  public:

  MyClass(){value=0;}

  SetVariable(inti){valtic=i;}

  private:

  intvalue;

  };

  MyClass*P,my;p=&my;

  則對下列語句序列正確的描述是( )。

  A.語句p=&my;是把對象my賦值給指針變量P

  B.語句MyClass*P,my;會調(diào)用兩次類MyClass的構(gòu)造函數(shù)

  C.對語句*P.SetVariable(5)的調(diào)用是正確的

  D.語句P->SetVariable(5)與語句my.SetVariable(5)等價

  18.下面關(guān)于break語句的描述中,不正確的是( )。

  A.break可以用于循環(huán)體內(nèi)

  B.break語句可以在for循環(huán)語句中出現(xiàn)多次

  C.break語句可以在switch語句中出現(xiàn)多次

  D.break語句可用于if條件判斷語句內(nèi)

  19.如果表達式-x/y中的“--”和“/”是作為友元函數(shù)重載的運算符,采用運算符函數(shù)調(diào)用格式,該表達式還可表示為( )。

  A.operator/(x.operator--(),y);

  B.operator/(operator--(x),y);

  C.X.operator--().operator/(y);

  D.y.operator/(operator--(x));

  20.已知類A有公用數(shù)據(jù)成員a,并重載了=運算符,且有Aobj2;constA*ptr=newA;,則下列語句錯誤的是( )。

  A.ptr->a=100;

  B.ptr=&obj2;

  C.ptr++;

  D.obj2=*ptr;

  21.可以用P.a(chǎn)的形式訪問派生類對象P的基類成員a,其中a是( )。

  A.私有繼承的公有成員

  B.公有繼承的私有成員

  C.公有繼承的保護成員

  D.公有繼承的公有成員

  22.下面程序的運行結(jié)果為( )。

  #include

  classA

  {

  intnum;

  public:

  A(inti){num=i;)

  A(A&a){num=a.num++;}

  voidprint(){cout<<num;}

  };

  voidmain()

  {

  Aa(1),b(a);

  a.print();

  b.print();

  }

  A.11B.12

  C.21D.22

  23.設有定義charstr[80];以下不能將輸入數(shù)據(jù)first\nsecond\n讀取到數(shù)組str中的語句是( )。

  A.cin.get(str,strlen(str));

  B.cin.getline(str,strlen(str));

  C.cin>>str;

  D.cin.read(str,strlen(str));

  24.下列程序的輸出結(jié)果為( )。

  #include

  classTestClass

  {

  public:

  TestClass(){val++;}

  static,intval;

  };

  intTestClass::val=0;

  voidmain()

  {

  TestClasscsl;

  cout<<csl.val<<"";

  TestClasscs2;

  TestClasscs3,cs4;

  cout<<cs2.val<<endl;

  }

  A.O3

  B.13

  C.14

  D.24

  25.有以下類定義:

  classMyClass

  {

  private:

  intid;

  chargender;

  char*phone;

  public:

  MyClass():id(0),gender(’#’),phone(NULl){}

  MyClass(intn0,charge=’#’,char*ph=NULL)

  {id=no;gender=ge;phone=ph;}

  };

  下列類對象定義語句中錯誤的是( )。

  A.MyClassmyObj;

  B.MyClassmyObj(11,"13301111155");

  C.MyClassmyObj(12,’m’);

  D.MyClassmyObj(12);

  26.下列是關(guān)于派生類聲明的開始部分,其中正確的是( )。

  A.classvirtualB:publicA

  B.virtualclassB:publicA

  C.classB:publicAvirtual

  D.classB:virtualpublicA

  27.如果類A被說明成類B的友元,則( )。

  A.類A的成員即類B的成員

  B.類B的成員即類A的成員

  C.類A的成員函數(shù)不得訪問類B的成員

  D.類B不一定是類A的友元

  28.下列關(guān)于虛基類的描述,錯誤的是( )。

  A.設置虛基類的目的是為了消除二義性

  B.虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用

  C.若同一層中包含多個虛基類,這些虛基類的構(gòu)造函數(shù)按它們說明的次序調(diào)用

  D.若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)

  29.下列關(guān)于多態(tài)性的描述,錯誤的是( )。

  A.C++語言中的多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性

  B.編譯時的多態(tài)性可通過函數(shù)重載實現(xiàn)

  C.運行時的多態(tài)性可通過模板和虛函數(shù)實現(xiàn)

  D.實現(xiàn)運行時多態(tài)性的機制稱為動態(tài)綁定

  30.若有如下程序:

  #include

  usingnamespacestd;

  classTestClassl

  {

  private:

  inta;

  public:

  TestClassl(inti)

  {

  a=i:

  }

  voiddisp( )

  {

  cout<<a<<",";

  }

  };

  classTestClass2

  {

  private:

  intb:

  public:

  TestClass2(intj)

  {

  b=j;

  }

  voiddisp()

  {

  cout<<b<<",";

  }

  };

  classTestClass3:publicTestClass2,publicTestClassl

  {

  private:

  intc;

  public:

  TestClass3(intk):TestClass1(k-2),TestClass2(k+2)

  {

  c=k:

  }

  voiddisp()

  {

  TestClasssl::disp();

  TestClasss2::disp();

  cout<<c<<endl;

  }

  };

  intmain()

  {

  TestClass30bj(10);

  obj.disp();

  return0;

  }

  程序執(zhí)行后的輸出結(jié)果是( )。

  A.10,10,10

  B.10,12,14

  C.8,10,12

  D.8,12,10

  31.在下列程序的橫線處填上適當?shù)膬?nèi)容,使程序執(zhí)行后的輸出結(jié)果為ABCD( )。

  #include

  usingnamespacestd;

  classA

  {

  public:A(){cout<<’A’;}

  };

  classB:

  {

  public:B(){cout<<’B’;}

  };

  classC:virtualpublicA

  {

  public:C(){cout<<’C’;}

  };

  classD:publicB,publicD

  {

  public:D(){cout<<’D’;}

  };

  voidmain(){D04;}

  A.publicA

  B.privateA

  C.protectedA

  D.virtualpublicA

  32.有如下程序:

  #include

  usingnamespacestd;

  classAA{

  intn;

  public:

  AA(intk):n(k){}

  intget(){returnn;}

  intget()const{returnn+1;}

  };

  intmain()

  {

  AAa(5);

  constAAb(6);

  cout<<a.get()<<b.get();

  return0;

  }

  執(zhí)行后的輸出結(jié)果是()。

  A.55

  B.57

  C.75

  D.77

  33.有如下程序:

  #include

  usingnamespacestd;

  classDemo

  {

  public:

  Demo(){cout<<"defaultconstructor\n";}

  Demo(constDemo&x){cont<<"copyconstruc-

  tor\n";}

  };

  DemouserCode(Demob){Democ(b);returnC;}

  intmain()

  {

  Demoa;d;

  cout<<"callinguserCode()\n";

  d=userCode(a):

  return0;

  }

  執(zhí)行上面程序的過程中,構(gòu)造函數(shù)Demo( )和Demo(constDem0&x)被調(diào)用的次數(shù)分別是( )。

  A.1和1

  B.1和2

  C.2和3

  D.2和4

  34.有如下程序:

  #include

  usingnamespacestd;

  classDA{

  intk;

  public:

  DA(intx=1):k(x){}

  ~DA(){cout<<k;}

  };

  intmain(){

  DAd[]={DA(3),DA(3),DA(3));

  DA+p=newDA[2];

  []p;

  return();

  }

  這個程序的輸出結(jié)果是( )。

  A.111

  B.333

  C.11333

  D.11133

  35.有如下程序:

  #include

  usingnamespacestd;

  classMyClass{

  public:

  MyClass(intx):val(x){}

  voidPrint()const{cout<<"const:val="<<<val<<’\t’;}

  voidPrint(){cout<<"val="<<val<<’t’;}

  private:

  intval;

  };

  intmain(){

  constMyClassobj1(10);

  MyClassobj2(20);

  obj1.Print();

  obj2.Print();

  return0;

  }

  程序的輸出結(jié)果是( )。

  A.va1=10const:va1=20

  B.const:va1=10const:va1=20

  C.const:va1=10val=20

  D.val=10va1=20

  36.關(guān)于函數(shù)中的<返回類型>。下列表述中錯誤的是( )。

  A.<返回類型>中有可能包含關(guān)鍵字int

  B.<返回類型>中有可能包含自定義標識符

  C.<返回類型>中衣可能包含字符*

  D.<返回類型>中可能包含[]

  37.Sample是一個類,執(zhí)行下面語句后,調(diào)用Sample類的構(gòu)造函數(shù)的次數(shù)是( )。

  Samplea[2],*p=newSample;

  A.0

  B.1

  C.2

  D.3

  38.有如下兩個類定義:

  classXX{

  private:

  doublex1;

  protected:

  doublex2;

  public:

  doublex3;

  };

  claseYY:protectedXX{

  private:

  doubley1;

  protected;

  doubley2;

  public:

  doubley3;

  };

  在類YY中保護成員變量的個數(shù)是( )。

  A.1

  B.2

  C.3

  D.4

  39.下列關(guān)于運算符重載的描述中,錯誤的是( )。

  A.可以通過運算符重載在C++中創(chuàng)建新的運算符

  B.賦值運算符只能重載為成員函數(shù)

  C.運算符函數(shù)重載為類的成員函數(shù)時,第一操作參數(shù)就是該類對象

  D.重載類型轉(zhuǎn)換運算符時不需要聲明返回類型

  40.下列關(guān)于類模板的描述中,錯誤的是( )。

  A.類模板的成員函數(shù)都是模板函數(shù)

  B.可以為類模板參數(shù)設置默認值

  C.類模板描述了一組類

  D.類模板中只允許有一個類型參數(shù)

  答案解析:

  1.B。【解析】數(shù)據(jù)的存儲結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存放形式。數(shù)據(jù)的存儲結(jié)構(gòu)有順序結(jié)構(gòu)、鏈式結(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。

  2.B。【解析】將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式是數(shù)據(jù)庫邏輯設計的主要工作。從E—R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體和聯(lián)系都可以表示成關(guān)系。

  3.C。【解析】對線性表進行順序查找時,從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數(shù)為n。

  4.C。【解析】樹具有明顯的層次關(guān)系,即樹是一種層次結(jié)構(gòu)。在樹結(jié)構(gòu)中,根結(jié)點在第一層上。當樹為非空時,樹中有且只有一個根結(jié)點,當樹為空時,樹中根結(jié)點的數(shù)目為0。

  5.B。【解析】關(guān)系的交(∩)、并(∪)和差(-)運算要求兩個關(guān)系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。

  6.C。【解析】限制使用GOTO語句是結(jié)構(gòu)化程序設計的原則和方法之一,但不是絕對不允許使用GOTO語句。其他三項為結(jié)構(gòu)化程序設計的原則。

  7.A。【解析】關(guān)系的并運算是指由結(jié)構(gòu)相同的兩個關(guān)系合并,形成一個新的關(guān)系,其中包含兩個關(guān)系中的所有元組。

  8.C。【解析】面向?qū)ο蟮某绦蛟O計是用對象模擬問題領(lǐng)域中的實體,各對象之間相對獨立,相互依賴性小,通過消息來實現(xiàn)對象之間的相互聯(lián)系。

  9.B。【解析】程序的三種基本控制結(jié)構(gòu)包括順序、選擇和重復(循環(huán)),這三種結(jié)構(gòu)足以表達出各種其他形式的結(jié)構(gòu)。

  10.B。【解析】數(shù)據(jù)庫設計階段主要包括需求分析、概念設計、邏輯設計和物理設計。其中邏輯設計的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。

  11.C。【解析】函數(shù)類型決定了函數(shù)返回值的類型。函數(shù)值返回類型可以由編譯器自動完成類型轉(zhuǎn)換。在函數(shù)有返回值的調(diào)用中,編譯器將return后面的表達式的類型強制轉(zhuǎn)換為該函數(shù)定義時指定的返回值類型。

  12.D。【解析】本題主要考查C++語言的基本語法,選項A中應該為m>n‖m<n;選項b中default語句可有可無;選項c中if可以單獨作為一條語句,不必須和else搭配。

  13.D。【解析】使用ifstream流類定義流對象并打開磁盤文件時,文件沒有默認的打開方式。其中ios::in是為輸入而打開;iso::out是為輸出而打開。

  14.C。【解析】構(gòu)造函數(shù)包括默認構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)等,析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣屬于類的特殊的成員函數(shù)。而友元函數(shù)則是為了增加類的訪問靈活性而允許其他類的成員函數(shù)或全局函數(shù)訪問類的內(nèi)部變量或成員函數(shù)的一種機制,其缺點是破壞了類的封裝性。

  15.A。【解析】本題考查的是字符數(shù)組的初始化。選項B中用三個元素初始化大小為2的數(shù)組,越界了;選項C中應該是2行3列的數(shù)組,題中使用3行2列初始化;選項D中數(shù)組應用方括號。

  16.B。【解析】聲明一個函數(shù)模板的格式template<模板形參表聲明>函數(shù)聲明。調(diào)用模板函數(shù)時,如果與模板實參中最后的若干個參數(shù)有關(guān)的信息可以從模板函數(shù)的實參中獲得,則相關(guān)的模板實參可以省略。

  17.D。【解析】語句p=&my;是把對象my的地址值賦給指針變量P。語句MyClass*P,my;,由于P只是一個指向?qū)ο蟮闹羔槪虼硕x指針P不調(diào)用構(gòu)造函數(shù),所以此語句只調(diào)用一次構(gòu)造函數(shù)。對成員函數(shù)的引用可以通過兩種形式:指針->成員函數(shù)(形參表)或者對象名.成員函數(shù)名(形參表)。

  18.D。【解析】本題考查break語句的使用。break可以結(jié)束switch語句和for循環(huán)語旬,但是不能使用在條件判斷語句內(nèi)。

  19.B。【解析】本題考核運算符的重載。假定已經(jīng)作為某個類的成員函數(shù)重載了二元運算符+,且c1、c2都是該類的對象,則c1.operator+(c2)與c1+c2含義相同。如果+作為該類的非成員函數(shù)重載,則operator+(c1,c2)與c1+c2含義相同。同理,運算符“/”作為友元函數(shù)重載,則(--x)/y與表達式operator/((…x),y)相同。前綴運算符“--”作為友元函數(shù)重載,則--x與operator--(x)相同,所以組合起來是operator/(operator--(x),y);,即B選項。

  20.A。【解析】本題考查const修飾符的作用。注意,const位置不同,其修飾的部分也是不同的。本題中const修飾的是ptr所指的對象本身,所以,ptr可以重新指向新的對象,而ptr->a則無法被更新。

  21.D。【解析】只有公有繼承的公有成員才能被派生類的對象直接訪問,其他的情況都會因為訪問權(quán)限問題產(chǎn)生錯誤。

  22.C。【解析】本題考查考生對拷貝構(gòu)造函數(shù)的掌握。因為++運算是右結(jié)合的,所以在使用a對b賦值時,b的hum變?yōu)?,而a的num變?yōu)?(先賦值再自加)。

  23.D。【解析】本題考查cin流對象的幾種成員函數(shù)get,getline,read及流提取符>>的使用規(guī)則。

  24.C。【解析】由主函數(shù)main入手,定義TestClass類的對象cs1,執(zhí)行cs1.va1,其中va1為靜態(tài)變量,根據(jù)intTestClass::val=0;初始化,TestClass中的TestClass(){val++;}構(gòu)造函數(shù)執(zhí)行后,val值為1。主函數(shù)中接著定義對象cs2,cs3,cs4。執(zhí)行cout<<cs2.va1<<endl;中的val值為4,所以輸出為14。

  25.B。【解析】本題考查構(gòu)造函數(shù)的應用。對象建立用初始化列表對數(shù)據(jù)成員進行時。列表中的參數(shù)類型要與構(gòu)造函數(shù)中形參類型一致。B選項中第二個參數(shù)為13301111155,是字符串,而構(gòu)造函數(shù)中第二個形參為char型,兩者不一致造成錯誤。

  26.D。【解析】聲明派生類的一般形成為class派生類名:[繼承方式]基類名。其中繼承方式包括public、private和protected。而virtual為C++中的關(guān)鍵字,所以選項C錯。虛函數(shù)的使用方法是在基類用virtual聲明成員函數(shù)為虛函數(shù)。

  27.D。【解析】本題考查的是友元類的定義:類A為類B的友元類,則類A的所有成員函數(shù)都是類B的友元函數(shù),但反之則不一定成立。

  28.B。【解析】虛基類的引入就是為了消除二義性,其構(gòu)造函數(shù)的調(diào)用仍然是按照繼承的順序進行的,對于多個虛基類則按它們說明的次序調(diào)用,虛基類的構(gòu)造函數(shù)先于非虛基類的構(gòu)造函數(shù)執(zhí)行。

  29.C。【解析】編譯時的多態(tài)性是通過函數(shù)重載和模板體現(xiàn)的,運行時的多態(tài)性是通過虛函數(shù)體現(xiàn)的。

  30.D。【解析】首先定義TestClass3的對象obj,參數(shù)為10。其中TestClass3為TestClass1和TestClass2的派生類。然后調(diào)用disp成員函數(shù)。disp中首先執(zhí)行TestClassl::disp();,然后執(zhí)行TestClass2::disp();,最后執(zhí)行輸出語句cout<<c<<endl;。testclassl(k-2),所以第一個輸出為8,testclass2(k+2),第二個輸出為12,最后一個本類中的輸出即為10。

  31.D。【解析】由主函數(shù)main入手,定義了類D對象obi。其中D為類B和C的公有繼承,A是C的

  虛基類。題目中要求的輸出結(jié)果為ABCD,依次為類A、類B、類C、類D中構(gòu)造函數(shù)的輸出語句。為了保證基類通過多條路徑被派生類繼承,即保證A只被繼承一次,輸出一個A,所以不但需要聲明A為C的虛基類,同樣也要聲明A為B的虛基類。

  32.B。【解析】所謂函數(shù)重載,是指同一個函數(shù)名可以對應著多個函數(shù)的實現(xiàn),類AA中定義了兩個9et()函數(shù),一個為普通成員函數(shù),另一個為常成員函數(shù)。一般對象a既可以調(diào)用普通成員函數(shù)get,也可以調(diào)用常成員函數(shù)get,但是由于常成員函數(shù)不能更新對象的數(shù)據(jù)成員,所以題中通過對象a調(diào)用的函數(shù)為普通成員函數(shù)get(),返回值為5。常對象b只能調(diào)用常成員函數(shù),所以題中通過對象b調(diào)用的函數(shù)為常成員函數(shù)get(),返回值為7。

  33.C。【解析】函數(shù)Demo()為構(gòu)造函數(shù),而Demo(constDemo&x)為復制構(gòu)造函數(shù)。C++在創(chuàng)建一個對象時,會自動調(diào)用類的構(gòu)造函數(shù),所以語句"Demoa,d;"將調(diào)用函數(shù)Demo()2次。當一個對象作為實參傳遞給函數(shù)時為初始化形參,要調(diào)用拷貝構(gòu)造函數(shù);在函數(shù)返回一個對象時調(diào)用拷貝構(gòu)造函數(shù)。由此可知語句d=userCode(a);調(diào)用拷貝構(gòu)造函數(shù)3次。

  34.C。【解析】本題考查的是析構(gòu)函數(shù)和對象的生存期。在主函數(shù)中,首先定義了一個DA類對象數(shù)組d,從初始化列表中可以看出,它包含三個對象;然后通過new運算符動態(tài)創(chuàng)建了一個DA類的對象數(shù)組,并將首地址賦給DA類指針P;接著通過[]運算符銷毀指針P所指向的數(shù)組,故此時會輸出11。最后函數(shù)結(jié)束,銷毀前面定義的對象數(shù)組d,會輸出333。故最后的輸出結(jié)果是11333。

  35.D。【解析】在建立類對象時,構(gòu)造函數(shù)的執(zhí)行順序如下:執(zhí)行基類的構(gòu)造函數(shù),調(diào)用順序按照各個基類被繼承的聲明順序;執(zhí)行成員對象的構(gòu)造函數(shù),調(diào)用順序按照各個成員在類中的聲明順序;執(zhí)行自身的構(gòu)造函數(shù)。根據(jù)以上總結(jié)以及題意可知答案選擇D選項。

  36.B。【解析】<返回類型>又稱函數(shù)類型,表示一個

  函數(shù)所計算(或運行)的結(jié)果值類型,這里的類型可以是預定義類型(如int)、復合類型(如double*)、用戶定義類型(如枚舉類),若返回值只做更新(或設置)等操作,則該函數(shù)返回類型為void類型,函數(shù)類型和內(nèi)置數(shù)組不能作為返回類型,但類類型和容器類型可以被直接返回。

  37.D。【解析】構(gòu)造函數(shù)在對象被創(chuàng)建時由系統(tǒng)自動調(diào)用,本題共創(chuàng)建3個對象。

  38.C。【解析】派生類從基類保護繼承classYY:pro-tectedXX時,基類的公有成員在派生類中變?yōu)楸Wo成員,基類的保護成員在派生類中仍然是保護成員;本題中YY本身有一個保護成員y2,再加上基類XX的x2和x3,故選C。

  39.A。【解析】運算符的重載是針對C++中原有運算符進行的,不能通過重載創(chuàng)造新的運算符。

  40.D。【解析】類模板是一系列相關(guān)類的模板,類成員組成相同,成員函數(shù)的源代碼形式相同,所不同的是所針對的類型。類模板的成員函數(shù)都是模板函數(shù),在用類模板定義對象時,由于沒有像函數(shù)實參表這樣的額外信息渠道,因此無法按函數(shù)模板的方式省略模板實參。但可以為類模板的參數(shù)設置默認值。由此可知應選D。

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

計算機二級Access考試專家預測試卷08-14

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

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

計算機二級考試C++練習及答案10-09

計算機二級Access考試預測題及答案10-05

計算機二級考試office預測題及答案07-06

全國計算機二級考試C++精選試題及答案08-17

計算機二級考試Access預測試卷10-28

2016計算機二級《Access》考試預測題及答案10-20

2016計算機二級office考試預測題及答案07-22

主站蜘蛛池模板: 淳化县| 大关县| 玉林市| 朝阳区| 高雄市| 银川市| 塔城市| 商河县| 通化市| 高尔夫| 凌海市| 曲水县| 富川| 扎鲁特旗| 延庆县| 上虞市| 四平市| 同仁县| 青阳县| 瓦房店市| 平舆县| 漯河市| 盐亭县| 九龙坡区| 曲阳县| 武定县| 鹤山市| 遂昌县| 英超| 东源县| 凤台县| 清河县| 贡觉县| 垦利县| 游戏| 罗定市| 沧州市| 会昌县| 尖扎县| 大安市| 枣庄市|