欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

全國計算機二級C++語言程序設計考試選擇題及答案

時間:2025-05-05 15:51:03 試題 我要投稿
  • 相關推薦

全國計算機二級C++語言程序設計考試選擇題及答案

  全國計算機二級的選擇題是一個大分模塊,很多很多考生在備考的時候,也是著重練習選擇題試題的,下面就是小編跟大家分享全國計算機二級C++語言程序設計考試選擇題及答,歡迎大家閱讀!

全國計算機二級C++語言程序設計考試選擇題及答案

  1.下列數(shù)據(jù)結(jié)構中,屬于非線性結(jié)構的是(  )。

  A.循環(huán)隊列

  B.帶鏈隊列

  C.二叉樹

  D.帶鏈棧

  2.下列數(shù)據(jù)結(jié)構中,能夠按照“先進后出”原則存取數(shù)據(jù)的是(  )。

  A.循環(huán)隊列

  B.棧

  C.隊列

  D.二叉樹

  3.對于循環(huán)隊列,下列敘述中正確的是(  )。

  A.隊頭指針是固定不變的

  B.隊頭指針一定大于隊尾指針

  C.隊頭指針一定小于隊尾指針

  D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針

  4.算法的空間復雜度是指(  )。

  A.算法在執(zhí)行過程中所需要的計算機存儲空間

  B.算法所處理的數(shù)據(jù)量

  C.算法程序中的語句或指令條數(shù)

  D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

  5.軟件設計中劃分模塊的一個準則是(  )。

  A.低內(nèi)聚低耦合

  B.高內(nèi)聚低耦合

  C.低內(nèi)聚高耦合

  D.高內(nèi)聚高耦合

  6.下列選項中不屬于結(jié)構化程序設計原則的是(  )。

  A.可封裝

  D.自頂向下

  C.模塊化

  D.逐步求精

  7.軟件詳細設計產(chǎn)生的如下圖所示。該圖是(  )。

  A.N—S圖

  B.PAD圖

  C.程序流程圖

  D.E—R圖

  8.數(shù)據(jù)庫管理系統(tǒng)是(  )。

  A.操作系統(tǒng)的一部分

  B.在操作系統(tǒng)支持下的系統(tǒng)軟件

  C.一種編譯系統(tǒng)

  D.一種操作系統(tǒng)

  9.在E—R圖中,用來表示實體聯(lián)系的圖形是(  )。

  A.橢圓圖

  B.矩形

  C.菱形

  D.三角形

  10.有3個關系R、S和T如下表所示:

  其中關系T由關系R和s通過某種操作得到,該操作為(  )。

  A.選擇

  B.投影

  C.交

  D.并

  11.4種基本結(jié)構中,能簡化大量程序代碼行的是(  )。

  A.順序結(jié)構

  B.分支結(jié)構

  C.選擇結(jié)構

  D.重復結(jié)構

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

  A.在棧中只能插入元素而不能刪除元素

  B.在棧中只能刪除元素而不能插入元素

  C.棧是特殊的線性表,只能在一端插入或刪除元素

  D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素

  13.下列有關數(shù)據(jù)庫的敘述,正確的是(  )。

  A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程

  B.數(shù)據(jù)的物理獨立性是指當數(shù)據(jù)的邏輯結(jié)構改變時,數(shù)據(jù)的存儲結(jié)構不變

  C.關系中的每一列稱為元組,一個元組就是一個字段

  D.如果一個關系中的屬性或?qū)傩越M并非該關系的關鍵字,但它是另一個關系的關鍵字,則稱其為本關系的外關鍵字

  14.概要設計中要完成的事情是(  )。

  A.系統(tǒng)結(jié)構和數(shù)據(jù)結(jié)構的設計

  B.系統(tǒng)結(jié)構和過程的設計

  C.過程和接口的設計

  D.數(shù)據(jù)結(jié)構和過程的設計

  15.下面排序算法中,平均排序速度最快的是(  )。

  A.冒泡排序法

  B.選擇排序法

  C.交換排序法

  D.堆排序法

  16.已知函數(shù)FA調(diào)用函數(shù)FB,若要把這兩個函數(shù)定義在同一個文件中,則(  )。

  A.FA必須定義在FB之前

  B.FB必須定義在FA之前

  C.若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前

  D.若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前

  17.有如下兩個類定義:

  ClaSSAA{};

  classBB{

  AAv1,*v2;

  BBv3;

  int*v4;

  };

  其中有一個成員變量的定義是錯誤的,這個變量是(  )。

  A.v1

  B.v2

  C.v3

  D.v4

  18.有如下類定義:

  classXX{

  intxdata;

  public:

  XX(intn=0):xdata(n){}

  };

  classYY:publicXX{

  intydata;

  public:

  YY(intm=0,intn=O):XX(m),ydata(n){}

  };

  YY類的對象包含的數(shù)據(jù)成員的個數(shù)是(  )。

  A.1

  B.2

  C.3

  D.4

  19.下列關于運算符函數(shù)的描述中,錯誤的是(  )。

  A.運算符函數(shù)的名稱總是以0perator為前綴

  B.運算符函數(shù)的參數(shù)可以是對象

  C.運算符函數(shù)只能定義為類的成員函數(shù)

  D.在表達式中使用重載的運算符相當于調(diào)用運算符重載函數(shù)

  20.下列關于模板形參的描述中,錯誤的是(  )。

  A.模板形參表必須在關鍵字template之后

  B.模板形參表必須用括弧(  )括起來

  C.可以用class修飾模板形參

  D.可以用typename修飾模板形參

  21.在下列枚舉符號中,用來表示“相對于當前位置”文件定位方式的是(  )。

  A.ios_base::cur

  B.ios_base::beg

  C.ios_base::0ut

  D.ios_base::end

  22.下列字符串中可以用作C++標識符的是(  )。

  A.2009var

  B.goto

  C.test-2009

  D.123

  23.下列枚舉類型的定義中,包含枚舉值3的是(  )。

  A.enumtest{RED,YELLOW,BLUE,BLACK};

  B.enumtest{RED,YELLOW=4,BLUE,BLACK);

  C.enumtest{RED=-1,YELLOW,BLUE,BLACK};

  D.enumtest{RED,YELLOW=6,BLUE,BLACK);

  24.有如下程序段:

  inti=1:

  while(1){

  i++:

  if(i==10)break:

  if(i%2==0)cout<<’*’:

  }

  執(zhí)行這個程序段輸出字符*的個數(shù)是(  )。

  A.10

  B.3

  C.4

  D.5

  25.已知數(shù)組arr的定義如下:

  intarr[5]={1,2,3,4,5};下列語句中輸出結(jié)果不是2的是(  )。

  A.cout<<*arr+1

  intfib(intn){

  if(n==0)returnl;

  elseif(n==l)return2:

  elsereturnfib(n-1)+fib(n-2);

  }

  若執(zhí)行函數(shù)調(diào)用表達式fib(2),函數(shù)fib被調(diào)用的次數(shù)是(  )。

  A.1

  B.2

  C.3

  D.4

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

  Samplea[2],*p=newSample;

  A.0

  B.1

  C.2

  D.3

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

  A.使用虛基類可以消除由多繼承產(chǎn)生的二義性

  B.構造派生類對象時。虛基類的構造函數(shù)只被調(diào)用一次

  C.聲明“classB:virtualpublicA”說明類B為虛基類

  D.建立派生類對象時,首先調(diào)用虛基類的構造函數(shù)

  29.將運算符重載為類成員函數(shù)時,其參數(shù)表中沒有參數(shù),說明該運算符是(  )。

  A.不合法的運算符

  B.一元運算符

  C.無操作數(shù)的運算符

  D.二元運算符

  30.有如下模板聲明:

  templateclassA;

  下列聲明中,與上述聲明不等價的是(  )。

  A.templateclassA;

  B.templateclassA;

  C.templateclassA;

  D.templateclassA;

  31.下列關于C++流的描述中,錯誤的是(  )。

  A.cout>>’A’表達式中輸出字符A

  B.eof函數(shù)可以檢測是否到達文件尾

  C.對磁盤文件進行流操作時,必須包含頭文件fstream

  D.以ios_base::Out模式打開的文件不存在時,將自動建立一個新文件

  32.有如下程序:

  #include

  usingnamespacestd;

  classToy{

  public:

  Toy(char*_n){strcpy(name,_n);count++;)

  ~Toy(  ){count一一;)

  char*GetName(  ){returnname;}

  staticintgetCount(  ){returncount;)

  private:

  charname[10];

  staticintcount;

  };

  intToy::count=0;

  intmain(  ){

  Toyt1("snoopy"),t2("Mickey"),t3("Barbie");

  tout

  )

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

  A.1

  B.2

  C.3

  D.運行時出錯

  33.有如下程序:

  #include

  usingnamespacestd;

  classA{

  public:

  A(inti):rl(i){)

  voidprint(  ){cout<<’E’

  intr1:

  };

  intmain(  ){

  Aal(2);constAa2(4);,

  al.print(  );a2.print(  );

  return0;

  }

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

  A.運行時出錯

  B.E2一C16一

  C.C4一Cl6一

  D.E2一E4—

  34.有如下程序:

  #include

  usingnamespacestd;

  className{

  charname[20];

  public:

  Name(  ){

  strcpy(name,"");cout<<’?’;

  }

  Name(char*fname){

  strcpy(name,fname);cout<<’?’;

  }

  };

  intmain(  ){

  Namenames[3]={Name(”張三”),Name(”李四”));

  return0;

  }

  運行此程序輸出符號?的個數(shù)是(  )。

  A.O

  B.1

  C.2

  D.3

  35.有如下程序:

  #include

  usingnamespacestd;

  classAA{

  public;

  AA(  ){cOUt<<’1’;)

  };

  classBB:publicAA{

  intk;

  public:

  BB(  ):k(0){tout<<’12’;}

  BB(intn):k(n)(cout<<’3’;)

  };

  intmain(  ){

  BBb(4),c;

  return0;

  }

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

  A.1312

  B.132

  C.32

  D.1412

  36.有如下程序:

  #include

  usingnamespacestd;

  classC1{

  public:

  ~C1(  ){cout<<1;)

  };

  classC2:publicC1{

  public:

  ~C2(  ){cout<<2;)

  };

  intmain(  ){

  C2cb2;

  C1*cb1:

  return0;

  }

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

  A.121

  B.21

  C.211

  D.12

  37.有如下程序:

  #include

  usingnamespacestd;

  classPublication{//出版物類

  charname[30];

  public:

  Publication(char*name=”未知名稱”){

  ~strcpy(this一>name,name);

  }

  constchar*getName(  )const{returnname;}

  virtualconstchar*getType(  )const{return”未知類型”;}

  };

  classBook:publicPublication{//書類

  public:

  Book(char*name):Publication(name){}

  virtualconstchar*getType(  )const{return"書";}

  };

  voidshowPublication(Publication&p){

  cout

  }

  intmain(  ){

  Bookbook(”精彩人生”);

  showPublication(book);

  return0;

  }

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

  A.未知類型:未知名稱

  B.未知類型:精彩人生

  C.書:未知名稱

  D.書:精彩人生

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

  A.::運算符不能重載

  B.類型轉(zhuǎn)換運算符只能作為成員函數(shù)重載

  C.將運算符作為非成員函數(shù)重載時必須定義為友元

  D.重載口運算符應完成“下標訪問”操作

  39.有如下程序:

  #include

  #includediomanip>

  usingnamespacestd;

  intmain(  ){

  ints[]={123,234);

  cout

  }

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

  A.123

  B.***123

  234234

  C.***123

  D.***123

  ***234234***

  40.有如下類定義:

  classA{

  char*a;

  public:

  A(  ):a(O){}

  A(char*aa){//把aa所指字符串拷貝到a所指向的存儲空間

  a=__;

  strcpy(a,aa);

  }

  ~A(  ){[]a;}

  };

  橫線處應填寫的表達式是(  )。

  A.Dewchar[strlen(aa)+1]

  B.char[strlen(aa)+1]

  C.char[strlen(aa)]

  D.newchar[sizeof(aa)-1]

  1.C。【解析】隊列是一種允許在一端進行插入,而在另一端進行刪除的線性表。棧也是一種特殊的線性表,其插入與刪除只能在線性表的一端進行。

  2.B!窘馕觥吭跅V,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被 插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被 插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進后出”或“后進先出”的原則組織數(shù)據(jù)的。

  3.D!窘馕觥克^循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列結(jié)構中,當存儲空間的最后一個位置已被使用而再要進行入隊運算時,只要存儲空間的第一個位置空閑,可將元素加入到第一個位置,即將存儲空閑的第一個位置作為隊尾。

  4.A!窘馕觥恳粋算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。

  5.B。【解析】耦合性與內(nèi)聚性是模塊獨立性的兩個定性標準,耦合與內(nèi)聚是相互關聯(lián)的。在程序結(jié)構中,各個模塊的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設計,應盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。

  6.A!窘馕觥拷Y(jié)構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化、限制使用goto語句等。

  7.C!窘馕觥縉—S圖是由若干基本框圖構成的流程圖,其特點是沒有流程線;PAD圖即問題分析圖(ProblemAnalysisDiagram),它是一種由左往右展開的二維樹型結(jié)構;程序流程圖用于描述問題解決的過程和步驟,其中方框表示處理步驟、菱形框表示邏輯判斷、箭頭表示控制流向;E—R圖即實體一聯(lián)系圖(EntityRelationshipDiagram),用來描述現(xiàn)實世界的概念模型,構成元素有實體、屬性和聯(lián)系,分別用矩形、橢圓形和菱形表示。本題答案為C。

  8.B!窘馕觥繑(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構,它是一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務等。

  9.C。【解析】E—R圖中用矩形表示實體(等同于表),用橢圓形表示實體的屬性(等同于表中字段),用菱形表示實體關系(等同于外鍵)。

  10.D!窘馕觥績蓚相同結(jié)構關系的并是由屬于這兩個關系的元組組成的集合。

  11.D!窘馕觥恐貜徒Y(jié)構又稱為循環(huán)結(jié)構,它根據(jù)給定的條件,判斷是否需要重復執(zhí)行某一相同或類似的程序段,利用重復結(jié)構可以簡化大量的程序行。

  12.C。【解析】根據(jù)數(shù)據(jù)結(jié)構對棧的定義及其特點可知:棧是限定只在表尾進行插入或刪除操作的線性表,因此棧是先進后出的線性表,對棧的插入與刪除操作,不需要改變棧底元素。

  13.D!窘馕觥繑(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項A敘述錯誤;數(shù)據(jù)的物理獨立性是指數(shù)據(jù)的物理結(jié)構的改變不會影響數(shù)據(jù)庫的邏輯結(jié)構,故選項B敘述錯誤;關系中的行稱為元組,對應存儲文件中的記錄,關系中的列稱為屬性,對應存儲文件中的字段,故選項c敘述錯誤。

  14.A!窘馕觥寇浖乓O計的基本任務是:設計軟件系統(tǒng)結(jié)構、數(shù)據(jù)結(jié)構及數(shù)據(jù)庫設計、編寫概要設計文檔、概要設計文檔評審。

  15.D!窘馕觥吭诟鞣N排序方法中,快速排序法和堆排序法的平均速度是最快的,因為它們的時間復雜度都是O(nlog2n),其他的排序算法的時間復雜度大都是O(n2)。

  16.D。【解析】主要考查函數(shù)調(diào)用時,是否設置函數(shù)原型。在C++中若被調(diào)用的函數(shù)放在主調(diào)函數(shù)之后,需將被調(diào)用函數(shù)原型放在主調(diào)函數(shù)之前,否則不需要。

  17.C!窘馕觥勘绢}主要考查類對象的定義,類的對象一般放在類結(jié)構體外或在主函數(shù)中定義,而不能放在類定義的結(jié)構體中,但自身類的指針可以,本題BBv3不能被定義于類體內(nèi)。

  18.B。【解析】本題主要考查派生類的繼承方式。該題為公有繼承,它包含基類中全部數(shù)據(jù)成員和除了構造、析構函數(shù)之外的全部成員函數(shù),本題數(shù)據(jù)成員的個數(shù)即為2。

  19.C。【解析】該題主要考查運算符函數(shù)的定義及運算符重載時應注意事項,運算符重載是函數(shù)重載的一種特殊情況。

  20.B!窘馕觥恐饕疾楹瘮(shù)模板的定義。聲明一個函數(shù)模板的格式為“template<<模板形參表聲明>><函數(shù)聲明>”,其中<模板形參>具有typename<參數(shù)名>、class<參數(shù)名>、<類型修飾><參數(shù)名>三種形式,形參用“<>”括起來。

  21.A。【解析】主要考查文件流的定位問題。冀中iosbase::beg表示相對于文件首,ios_base::cur表示相對于當前位置(負數(shù)表示當前位置之前),ios_base::end表示相對于文件尾,ios_base::out表示在文件流的建立中為文件的輸出而打開。

  22.D!窘馕觥繕俗R符主要由數(shù)字、字母、下畫線組成,且首位必為字母或下畫線,同時標識符不能是關鍵字。

  23.A!窘馕觥勘绢}主要考查枚舉類型的定義,其中幾個枚舉值全部未賦常量值時,它們自左至右分別與整數(shù)0,1,…,n-1對應。由此可判斷本題答案。

  24.C!窘馕觥勘绢}主要考查while的作用。只有i為偶數(shù)時才輸出“*”,而本題只有2,4,6,8時才滿足條件,而當i為10時程序結(jié)束,即只有4個“*”被輸出。

  25.D。【解析】本題主要考查指針的特殊含義。例*px+1指取px所指對象內(nèi)容加1,*(px+1)指px指針加1,并取結(jié)果指針內(nèi)容而*px則指px的首元素。

  26.C!窘馕觥酷槍f歸調(diào)用的含義。當n為2時有fib(o),fib(1),fib(2)被調(diào)用,且fib(O),fib(1)時調(diào)用結(jié)束,即共3次。

  27,D!窘馕觥繕嬙旌瘮(shù)在對象被創(chuàng)建時由系統(tǒng)自動調(diào)用,本題共創(chuàng)建了3個對象。

  28.C。【解析】本題針對虛基類的定義及特點考查。虛基類的聲明為“class<類名>:virtual<繼承方式><基類名>”,即本題的A為虛基類。

  29.B!窘馕觥恳辉蚨\算符函數(shù)作為成員函數(shù)時,第一操作數(shù)就是對象本身,并不出現(xiàn)在參數(shù)表中,即第一操作數(shù)僅以this指針的形式隱會于參數(shù)表中,因此對于一元運算符參數(shù)表是空的;而對于二元運算符參數(shù)表中只有一個參數(shù),它代表第二操作數(shù)。

  30.D!窘馕觥磕0逍螀⒂衪ypename<參數(shù)名>、class<參數(shù)名>、<類型修飾><參數(shù)名>3種形式,即typename與class通用。

  31.A!窘馕觥吭贑++中輸入用“cin>>”,輸出用“<32.C。【解析】析構函數(shù)主要用于最后函數(shù)的釋放空間。本題在已輸出t1.getCount()后才調(diào)用即不影響所輸結(jié)果。

  33.B!窘馕觥縞onst關鍵字可以用于參與對重載函數(shù)的區(qū)分。重載的原則是常對象調(diào)用常成員函數(shù),一般對象調(diào)用一般成員函數(shù)。

  34.D!窘馕觥繉τ袇⑴c無參構造函數(shù)的調(diào)用。當names[2]為空時調(diào)無參構造函數(shù),而names[0],names[1]調(diào)用有參構造函數(shù),即輸出3個“?”。

  35.A。【解析】當基類的構造函數(shù)默認或無參時,派生類可省略對基類構造函數(shù)的顯示調(diào)用,但系統(tǒng)會自動調(diào)用該類的缺省構造函數(shù),且先調(diào)用基類的構造函數(shù)后調(diào)用派生類的構造函數(shù)。

  36.B!窘馕觥吭诨惻c派生類中,析構函數(shù)在派生類先調(diào)用,而本題有兩個不同類對象,對于cb2需先調(diào)c2的析構函數(shù),再調(diào)c1的析構函數(shù)。而對于*cb1由于沒有指針性析構函數(shù),它將不參加傳遞數(shù)據(jù)。

  37.D!窘馕觥恳驗間etType是虛函數(shù),所以P.getType()執(zhí)行繼承類的getType函數(shù),輸出“書”;P.getName()執(zhí)行基類的getName函數(shù),輸出“精彩人生”。總共輸出“書:精彩人生”,故選D。

  38.C!窘馕觥砍恕、*、→*、::、?:這五個運算符外,其他運算符都可以重載。=、[]、()、→以及所有的類型轉(zhuǎn)換運算符只能作為成員函數(shù)重載。口作為成員函數(shù)重載時,應完成“下標訪問”操作,使得向指定下標處的元素賦值或取值成為可能。

  39.B!窘馕觥縮etw()為填充字符控制,僅對緊接著它的字符起作用,當輸出的字符寬度小于setw()預留的字符數(shù)時,需用setw()設置的字符給予填充。

  40.A!窘馕觥繉討B(tài)分配存儲空間的考查,在C++中,回車鍵需計一字符,即總的長度為strlen(aa)+1。


【全國計算機二級C++語言程序設計考試選擇題及答案】相關文章:

計算機二級C++語言程序設計考試精選選擇題08-05

全國計算機二級C++語言程序設計選擇題試題05-02

全國計算機二級C++語言程序設計選擇題練習試題07-24

計算機二級C++語言程序設計考試選擇題練習02-18

全國計算機二級《C++》選擇題與答案(精選)07-09

計算機二級《C++語言程序設計》精選試題與答案01-26

2015全國計算機等級考試二級C++語言程序設計考試大綱04-12

2017全國計算機二級考試《C++》選擇題「精選」03-09

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