首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 美好明天 - 直播 - 導(dǎo)航

2018年12月計(jì)算機(jī)二級(jí)C++考試沖刺試題及答案(1)

來(lái)源:考試吧 2018-12-3 16:11:10 要考試,上考試吧! 萬(wàn)題庫(kù)
“2018年12月計(jì)算機(jī)二級(jí)C++考試沖刺試題及答案(1)”供考生參考。更多計(jì)算機(jī)等級(jí)考試模擬試題等信息請(qǐng)?jiān)L問(wèn)考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。
第 1 頁(yè):沖刺試題
第 2 頁(yè):參考答案

  點(diǎn)擊查看:2018年12月計(jì)算機(jī)二級(jí)C++考試沖刺試題及答案匯總

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

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

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

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

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

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

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

  A.屬性

  B.關(guān)系

  C.鍵

  D.域

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

  A.125

  B.n/Z

  C.n

  D.n+1

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

  A.有且只有1個(gè)

  B.1或多于1

  C.0或1

  D.至少有2個(gè)

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

  A.R-S

  B.R×S

  C.R∩S

  D.R∪S

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

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

  B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)

  C.不允許使用GOTO語(yǔ)句

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

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

  A.并運(yùn)算

  B.交運(yùn)算

  C.差運(yùn)算

  D.積運(yùn)算

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

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

  B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的

  C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小

  D.上述三種說(shuō)法都不對(duì)

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

  A.過(guò)程、子程序和分程序

  B.順序、選擇和重復(fù)

  C.遞歸、堆棧和隊(duì)列

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

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

  A.需求分析階段

  B.邏輯設(shè)計(jì)階段

  C.概念設(shè)計(jì)階段

  D.物理設(shè)計(jì)階段

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

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

  B.return語(yǔ)句中的表達(dá)式類型

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

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

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

  A.表示m>n為true或mn&&m  B.switch語(yǔ)句結(jié)構(gòu)中必須有default語(yǔ)句

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

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

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

  A.ios::in

  B.ios::out

  C.ios::inlios::out

  D.沒(méi)有默認(rèn)

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

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

  B.抽象類

  C.派生類

  D.以上都不對(duì)

  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對(duì)特定類型T(如int),使函數(shù)f(x)成為x模板類的友元,則其說(shuō)明為(  )。

  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;

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

  A.語(yǔ)句p=&my;是把對(duì)象my賦值給指針變量P

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

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

  D.語(yǔ)句P->SetVariable(5)與語(yǔ)句my.SetVariable(5)等價(jià)

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

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

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

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

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

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

  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,并重載了=運(yùn)算符,且有Aobj2;constA*ptr=newA;,則下列語(yǔ)句錯(cuò)誤的是(  )。

  A.ptr->a=100;

  B.ptr=&obj2;

  C.ptr++;

  D.obj2=*ptr;

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

  A.私有繼承的公有成員

  B.公有繼承的私有成員

  C.公有繼承的保護(hù)成員

  D.公有繼承的公有成員

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

  #include

  classA

  {

  intnum;

  public:

  A(inti){num=i;)

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

  voidprint(){cout<  };

  voidmain()

  {

  Aa(1),b(a);

  a.print();

  b.print();

  }

  A.11B.12

  C.21D.22

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

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

  TestClasscs3,cs4;

  cout<  }

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

  };

  下列類對(duì)象定義語(yǔ)句中錯(cuò)誤的是(  )。

  A.MyClassmyObj;

  B.MyClassmyObj(11,"13301111155");

  C.MyClassmyObj(12,’m’);

  D.MyClassmyObj(12);

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

  A.classvirtualB:publicA

  B.virtualclassB:publicA

  C.classB:publicAvirtual

  D.classB:virtualpublicA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  D.實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的機(jī)制稱為動(dòng)態(tài)綁定

  30.若有如下程序:

  #include

  usingnamespacestd;

  classTestClassl

  {

  private:

  inta;

  public:

  TestClassl(inti)

  {

  a=i:

  }

  voiddisp(  )

  {

  cout<  }

  };

  classTestClass2

  {

  private:

  intb:

  public:

  TestClass2(intj)

  {

  b=j;

  }

  voiddisp()

  {

  cout<  }

  };

  classTestClass3:publicTestClass2,publicTestClassl

  {

  private:

  intc;

  public:

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

  {

  c=k:

  }

  voiddisp()

  {

  TestClasssl::disp();

  TestClasss2::disp();

  cout<  }

  };

  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.在下列程序的橫線處填上適當(dāng)?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<  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í)行上面程序的過(guò)程中,構(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<  };

  intmain(){

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

  DA+p=newDA[2];

  delete[]p;

  return();

  }

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

  A.111

  B.333

  C.11333

  D.11133

  35.有如下程序:

  #include

  usingnamespacestd;

  classMyClass{

  public:

  MyClass(intx):val(x){}

  voidPrint()const{cout<<"const:val="<<  voidPrint(){cout<<"val="<  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ù)中的<返回類型>。下列表述中錯(cuò)誤的是(  )。

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

  B.<返回類型>中有可能包含自定義標(biāo)識(shí)符

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

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

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

  Samplea[2],*p=newSample;

  A.0

  B.1

  C.2

  D.3

  38.有如下兩個(gè)類定義:

  classXX{

  private:

  doublex1;

  protected:

  doublex2;

  public:

  doublex3;

  };

  claseYY:protectedXX{

  private:

  doubley1;

  protected;

  doubley2;

  public:

  doubley3;

  };

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

  A.1

  B.2

  C.3

  D.4

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

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

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

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

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

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

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

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

  C.類模板描述了一組類

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

  二、程序改錯(cuò)題(18分)

  使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,并使程序輸出的結(jié)果為

  TC1

  TC2

  注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

  試題程序:

  #include

  #include  structTCO

  {

  //********error********

  virtualvoidfun();

  };

  classTCl:publicTCO

  {

  voidfun()

  {

  cout<<"TCl"<  }

  };

  classTC2:publicTCO

  {

  voidfun()

  {

  cout<<"TC2"<  }

  };

  voidmain()

  {

  TCO"P;

  TClobj1;

  TC2obj2;

  //********error********

  p=*obj1;

  p->fun();

  //********error********

  p=*obj2;

  p->fun();

  return;

  }

  三、簡(jiǎn)單應(yīng)用題(24分)

  使用VC++6.0打開(kāi)考生交件夾下的源程序文件2.cpp。閱讀下列函數(shù)說(shuō)明和代碼,完成空出部分程序。函數(shù)fun(intN[4])的功能是用4個(gè)數(shù)字,組成互不相同且無(wú)重復(fù)數(shù)字的3位數(shù),并將滿足所有條件的數(shù)字輸出到屏幕,

  并且每輸出一個(gè)3位數(shù)就換一行。

  程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、0。組成所有的排列后再去掉不滿足條件的排列。如果判定第一個(gè)數(shù)字是0,則也去掉。

  試題程序:

  #include

  voidfun(intN[4])

  {

  }

  intmain()

  intN[4]={1,2,3,0};

  fun(N):

  return0;

  }

  四、綜合應(yīng)用題(18分)

  使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。

  (1)基類People完成打印功能,定義其中的打印函數(shù)為

  虛函數(shù),請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

  (2)類Boy繼承于People,在構(gòu)造函數(shù)中設(shè)置性別為1,

  請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

  (3)類Girl繼承于People,在構(gòu)造函數(shù)中設(shè)置性別為0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

  (4)實(shí)現(xiàn)函數(shù)fun,用于傳遞不同的類型,打印出性別,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

  輸出的內(nèi)容如下:

  Sex=Boy

  Sex=Girl

  注意:除在指定位暨添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。

  試題程序:

  #include

  classPeople

  {

  public:

  //********1********

  voidprint(){}

  intsex;

  };

  classBoy:publicPeople

  {

  publiC:

  Boy()

  {

  //********2********}

  voidprint()

  {

  cout<<"Boy"<  }

  };

  classGirl:publicPeople

  {

  public:

  Girl()

  {

  //********3********}

  voidprint()

  {

  cout<<"Girl"<  }

  };

  //********4********{

  cout<<"Sex=";

  p.print();

  }

  intmain()

  {

  Boym:

  fun(m);

  Girln:

  fun(n);

  return0;

  }

掃描/長(zhǎng)按二維碼幫助考試通關(guān)
2018年等考報(bào)考資訊
2018等考各科通關(guān)技巧
2018各科最新預(yù)測(cè)試卷
2018等考各科備考資料

微信搜索"考試吧"了解更多考試資訊、下載備考資料

  相關(guān)推薦:

  2018年12月全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總

  2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)

  各地2018年12月全國(guó)計(jì)算機(jī)等考準(zhǔn)考證打印時(shí)間匯總

  2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)

  2018全國(guó)計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總

0
收藏該文章
0
收藏該文章
文章搜索
萬(wàn)題庫(kù)小程序
萬(wàn)題庫(kù)小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·模考試題
微信掃碼,立即獲!
掃碼免費(fèi)使用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
此欄目下沒(méi)有文章
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧