首頁 - 網校 - 萬題庫 - 美好明天 - 直播 - 導航
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C加加 > 模擬試題 > 正文

2018年3月計算機二級C++過關練習題及答案(3)

來源:考試吧 2018-02-01 17:26:04 要考試,上考試吧! 萬題庫
“2018年3月計算機二級C++過關練習題及答案(3)”供考生參考。更多計算機等級考試相關信息請關注考試吧計算機等級考試網。

  點擊查看:2018年3月計算機二級C++過關練習題及答案匯總

  1[判斷題]C++語言比C語言對數(shù)據(jù)類型要求更加嚴格了。

  參考答案:對

  2[簡答題] 為單鏈表類模板增加一個復制構造函數(shù)和賦值運算符(=)。在上題基礎上,List類增加一個復制構造函數(shù)和賦值運算符(=)。

  參考解析:

  templateList::List(List& l){

  head=new Node(-9999);//現(xiàn)建立頭結點

  Node* tempP=l.head->link,*tempC;

  while(tempP!=NULL){

  tempC=CreatNode(tempP->info);

  InsertAfter(tempC);

  tempP=tempP->link;

  }

  }

  templateList& List::operator=(List& l){

  MakeEmpty();//先釋放原來鏈表的數(shù)據(jù)結點

  Node* tempP=l.head->link,*tempC;

  while(tempP!=NULL){

  tempC=CreatNode(tempP->info);

  InsertAfter(tempC);

  tempP=tempP->link;

  }

  return *this;

  }

  int main(){

  Node * P1;

  List list1,list2;

  int a[10]={20,12,0,-5,9,-18,6,11,5,3},i,j;

  for(i=0;i<10;i++){

  P1=list1.CreatNode(a[i]);

  list1.InsertOrder(P1);

  }

  list1.PrintList();

  cout<<"請輸入一個要求刪除的整數(shù)"<

  cin>>j;

  P1=list1.Find(j);

  if(P1!=NULL){

  P1=list1.DeleteNode(P1);

  delete P1;

  list1.PrintList();

  }

  else cout<<"未找到"<

  cout<<"請輸入一個要求插入的整數(shù)"<

  cin>>j;

  P1=list1.CreatNode(j);

  list1.InsertOrder(P1);

  list1.PrintList();

  list2=list1;

  list2.PrintList();

  List list3=list1;

  list3.PrintList();

  cout<<"請輸入一個要求刪除的整數(shù)"<

  cin>>j;

  P1=list1.Find(j);

  if(P1!=NULL){

  P1=list1.DeleteNode(P1);

  delete P1;

  list1.PrintList();

  }

  else cout<<"未找到"<

  list2=list3=list1;

  list2.PrintList();

  list3.PrintList();

  list1.MakeEmpty();//清空list1

  list2.MakeEmpty();//清空list1

  list3.MakeEmpty();//清空list1

  return 0;

  }

  3[單選題]一個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是:

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

  參考答案:C

  4[單選題] 下列敘述中正確的是( )。

  A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化

  B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化

  C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化

  D.以上說法都不正確

  參考答案:C

  參考解析:棧是先進后出的數(shù)據(jù)結構,在整個過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來操作,所以選擇c。

  5[單選題]下列敘述中正確的是 (  )。

  A.線性表是線性結構

  B.棧與隊列是非線性結構

  C.線性鏈表是非線性結構

  D.二叉樹是線性結構

  參考答案:A

  參考解析:線性表是線性結構;線性鏈表是線性表的鏈式存儲結構,因此也是線性結構;棧與隊列 是特殊的線性表,因此也是線性結構;二叉樹是非線性結構。

  6[單選題]

  

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

  參考答案:B

  參考解析:此題實際考查的是變量作用域的屏蔽效應。在C++中,當標識符的作用域發(fā)生重疊時,在一個函數(shù)中聲明的標識符可以屏蔽函數(shù)外聲明的標識符或全局標識符。聲明類A的全局對象時,構造函數(shù)首先調用int函數(shù),但由于靜態(tài)成員變量a被構造函數(shù)內部的形參a所屏蔽所以a++改變的是形參a的值,對靜態(tài)成員變量a沒有影響。

  7[單選題]在下面的4個關鍵字中用來說明虛函數(shù)的是(  )。

  A.virtualB.publicC.protectedD.private

  參考答案:A

  參考解析:C++中用virtual關鍵字聲明虛函數(shù)。而public、protected、private為成員訪問限定符。

  8[單選題]

  

  參考答案:B

  9[單選題]有如下程序:

  #include

  usingnamespacestd;

  classBase{

  public:

  Base(intx=O){cout<

  };

  classDerived:publicBase{

  public:

  Derived(intx=O){cout<

  private:

  Baseval;

  };

  intmain(){

  Derivedd(1);

  return0;

  }

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

  A.100B.000C.010D.001

  參考答案:D

  參考解析:本題考查的知識點是豢的構造。建立一個類的對象時,構造函數(shù)的執(zhí)行順序如下:①執(zhí)行基類的構造函數(shù),調用順序按照各個基類被繼承時聲明的順序(自左向右);②執(zhí)行成員對象的構造函數(shù),調用順序按照各個成員對象在類中聲明的順序(自上而下);③執(zhí)行自身的構造函數(shù)。本題Derived類繼承于Base類,所以首先會構造基類Base,但Derived類的構造函數(shù)沒有初始化列表,所以將調用Base類的默認構造函數(shù),輸出一個0。接下來由于它的成員中還定義了一個Base類的對象,兩構造函數(shù)也沒有顯示初始化這個對象,所以再次調用Base類的默認構造函數(shù)輸出一個0。最后構造自身,因為主函數(shù)中傳入了構造參數(shù)1,所以構造自身時輸出了一個1。故最終輸出結果為001。

  10[單選題] 若已定義:

  inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不正確的引用是(  )。

  A.a[p-a]B.*(&a[i])C.p[i]D.a[10]

  參考答案:D

  參考解析:通常,引用一個數(shù)組元素可以用下標法,如a[p-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,數(shù)組的下標是從0開始的。

  11[判斷題]使用class定義的類,其默認的訪問權限是公有的,使用struct定義的類,其默認的訪問權限是私有的。

  參考答案:錯

  12[單選題]需求分析階段的任務是(  )。

  A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費用D.軟件系統(tǒng)功能

  參考答案:D

  參考解析:需求分析是軟件定義時期的最后一個階段,它的基本任務就是詳細調查現(xiàn)實世界要處理的對象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在這些基礎上確定新系統(tǒng)的功能。

  13[單選題]有如下程序段:

  int *p, a=10, b=1;

  p=&a;

  a=*p+b;

  執(zhí)行該程序段后,a的值是(  )。

  A.12B.11C.10D.編譯出錯

  參考答案:B

  14[單選題]在模塊化程序設計中,按功能劃分模塊的原則是(  )。

  A.各模塊的功能盡量單一,且各模塊之間的聯(lián)系盡量的少

  B.各模塊的功能盡量單一,且各模塊之間的聯(lián)系盡量緊密

  C.各模塊應包括盡量多的功能

  D.各模塊應包括盡量多的輸入輸出操作

  參考答案:A

  參考解析:在模塊化程序設計中.按功能劃分模塊的原則是:要求各模塊的功能盡量單一,且各模塊之間的聯(lián)系盡量的少。

  15[單選題] 數(shù)據(jù)庫設計的根本目標是要解決(  )。

  A.數(shù)據(jù)共享問題

  B.數(shù)據(jù)安全問題

  C.大量數(shù)據(jù)存儲問題

  D.簡化數(shù)據(jù)維護

  參考答案:A

  參考解析:從數(shù)據(jù)庫的概念中可以看到,所謂數(shù)據(jù)庫是指長期存儲在計算機內的、有組織的、可共享的數(shù)據(jù)集合。因此進行數(shù)據(jù)庫設計的根本目標還是為了解決數(shù)據(jù)共享問題。

  16[單選題]下列關于this指針的敘述中,正確的是(  )

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

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

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

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

  參考答案:D

  17[簡答題]使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯,請改正其中的錯誤,使程序正常運行,并使程序輸出的結果為:

  sizeof(S1)=5

  sizeof(s2)=10

  sizeof(s3)=1

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

  (1)不能刪除assert()語句。

  (2)只能修改后面的數(shù)字。

  提示:assert函數(shù)如果為假,則會產生一個中斷異常。

  試題程序:

  #include

  #include

  voidmain()

  {

  char*s1="abc":

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

  assert(sizeof(s1)==3):

  cout<<"sizeof(s1)=5"<

  chars2[10]="ab":

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

  assert(sizeof(s2)==2);

  cout<<"sizeof(s2)=10"<

  chars3=23:

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

  assert(sizeof(s3)==4);

  cout<<"sizeof(s3)=1"<

  return;

  }

  參考解析:

  (1)應改為“assert(sizeof(s1)==4);”。

  (2)應改為“assert(sizeof(s2)==1O);”。

  (3)應改為“assert(sizeof(s3)==1);”。

  【解析】assert函數(shù)如果為假,則會產生一個中斷異常。所以要讓它正常執(zhí)行輸出結果,那么assert函數(shù)只有為真,才不會產生中斷異常。“assert(sizeof(s1)==3);”語句中“sizeof(s1)==3”為假,這會使程序產生異常,不能正常執(zhí)行。因為str1的值為abc,但是它還有一個尾符,它的長度應該是4,而不是3,所以在第1處修改為“assert(sizeof(s1)==4);”。str2[10]說明,str2的空間為10,在第2處修改為“assert(sizeof(s2)==10);”。charstr3=23;語句說明23是字符,所占存儲空間為1,所以修改為“assert(sizeof(s3)==1);”。

  18[填空題]數(shù)據(jù)模型分為格式化模型和非格式化模型,則關系模型屬于_______ 模型。

  【答案】非格式化

  【解析】數(shù)據(jù)模型分為格式化模型和非格式化模型,關系模型屬于非格式化模型。

  19[填空題]繼承的方式有公有繼承、私有繼承和 【13】 3種。

  參考解析:保護繼承

掃描/長按二維碼幫助考試通關
2018年等考報考資訊
2018等考各科通關技巧
2018各科最新預測試卷
2018等考各科備考資料

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

  相關推薦:

  2018年全國計算機等級考試必做試題匯總(各科目)

  2018年全國計算機等級考試復習知識點匯總(各科目)

  2018計算機等級考試報名時間|各地報名入口|報名條件

  2018年全國計算機等級考試時間|教材目錄(2018年版)

  2018全國計算機等級考試備考經驗及應試技巧匯總

  報名方法|考試內容|考試大綱|2018計算機等級考試科目

  歷年真題匯總|考試吧策劃:2018年計算機等級考試報考指南

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習
·免費真題 ·?荚囶}
微信掃碼,立即獲!
掃碼免費使用
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網 出版物經營許可證新出發(fā)京批字第直170033號 
京ICP證060677 京ICP備05005269號 中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧