精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

3月計算機二級C++真題及答案word版

時間:2024-12-18 16:50:10 賽賽 學人智庫 我要投稿
  • 相關推薦

3月計算機二級C++真題及答案(word版)(精選4套)

  在日常學習和工作中,我們都可能會接觸到考試真題,考試真題是用于考試的題目,要求按照標準回答。一份什么樣的考試真題才能稱之為好考試真題呢?以下是小編整理的3月計算機二級C++真題及答案(word版),僅供參考,希望能夠幫助到大家。

  3月計算機二級C++真題及答案word版 1

  1.軟件生命周期中的活動不包括( )。

  A.市場調研

  B.需求分析

  C.軟件測試

  D.軟件維護

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

  A.一個邏輯數據結構只能有一種存儲結構

  B.邏輯結構屬于線性結構,存儲結構屬于非線性結構

  C.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率

  D.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率

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

  A.一個算法的空間復雜度大,則其時間復雜度必定大

  B.一個算法的空間復雜度大,則其時間復雜度必定小

  C.一個算法的時間復雜度大,則其空間復雜度必定小

  3、下列關于線性鏈表的敘述中,正確的是( )。

  A.各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必須一致

  B.各數據結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續

  C.進行插入與刪除時,不需要移動表中的元素

  D.以上說法均不正確

  4、對于一個類定義,下列敘述中錯誤的是( )。

  A.如果沒有定義拷貝構造函數,編譯器將生成一個拷貝構造函數

  B.如果沒有定義缺省的構造函數,編譯器一定將生成一個缺省的構造函數

  C.如果沒有定義構造函數,編譯器將生成一個缺省的構造函數和一個拷貝構造函數

  D.如果已經定義了構造函數和拷貝構造函數,編譯器不會生成任何構造函數

  9,在對象方法中,一個對象請求另一個對象為其服務的方式是通過發送( )來實現。 A.調用語句 B.命令 C.中令 D.消息

  4.下列敘述中錯誤的是( )。

  A.一種數據的邏輯結構可以有多種存儲結構

  B.數據的存儲結構與數據的處理效率無關

  C.數據的`存儲結構與數據的處理效率密切相關

  D.數據的存儲結構在計算機中所占的空間不一定是連續的

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

  A.在模塊化程序設計中,一個模塊應該盡量多地包括與其他模塊聯系的信息

  B.在自頂向下、逐步細化的設計過程中,首先應設計解決問題的第一個細節

  C.在模塊化程序設計中,一個模塊內部的控制結構也要符合結構化原則

  D.在程序設計過程中,不能同時采用結構化程序設計方法與模塊化程序設計方法

  二、基本操作題(18分)

  41、請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,此工程中含有一個源程礙文件 projl.epp。其中位于每個注釋“//ERROR ****found****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結果為:

  ConstruCtor Called. The value is 10

  Copy ConstruCtor Called. The value is 10

  DestruCtor Called. DestruCtor Called. 注意:只修改注釋“//ERROR ****found****”的下一行語句,不要改動程序中的其他內容。

  //pwjl.Cpp

  #inClude ’using namespaCe std; Class MyClass{

  publiC:

  //ERROR**********found**********

  MyClass(int i)

  {value=i;Cout<<”ConstruCtor Called.” < //ERROR**********found********** MyClass(eonst MyClass P)

  {

  value = P.value;

  eout<<”Copy ConstruCtor Called.”< }

  void Print()

  {Cout<<”The value is” < //ERROR**********found********* void-MyClass()

  {Cout<<”DestruCtor Called.”< private:

  int value;

  }; int main()

  { MyChas objl

  owl.Print();

  MyClmss obj2(owl); obj2.Print();

  retum 0;

  三、簡單應用題(24分)

  42、請使用VC6或使用【答題】菜單打開考生文件夾pr092下的工程pros2。此工程中包含一個程序文件main.cpp,其中有“部門”類 Department和“職工”類Staff的定義,還有主函數main的定義。在主函數中定義了兩個“職工”對象,他們屬于同一部門。程序展示,當該部門改換辦公室后,這兩個人的辦公室也同時得到改變。請在程序中的橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。此程序的正確輸出結果應為:

  改換辦公室前:

  職工號:0789姓名:張三部門:人事處辦公室:521

  職工號:0513姓名:李四部門:人事處辦公室:521

  改換辦公室后:

  職工號:0789姓名:張三部門:人事處辦公室:311

  職工號:0513姓名:李四部門:人事處辦公室:311

  注意:只在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“//****found****”。

  #include

  using namespace std;

  class Department{ //“部門”類

  public:

  Department(const char*name,const char*office){

  strcpy(this一>name,nanle);

  //**********found**********

  }

  const char*getName()const{return name;}//返回部門名稱

  //**********found**********

  const char*getOffice()const{________} //返回辦公室房號

  void changeOfficeTo(const char*office){ //改換為指定房號的另一個辦公室

  strcpy(this一>office,office);

  }

  private:

  char name[20];//部門名稱

  char office[20];//部門所在辦公室房號

  };

  class staff{//“職工”類

  public:

  //**********found**********

  Staff(const char*my—id,const char木my_name,Department&my_dept):——{

  strcpy(this一>staff id,my_id);

  strcpy(this一>name,my_name);

  }

  const char*getlD()const{return staff_id;}

  const char*getName()consl{return name;}

  Department getDepartment()const{return dept;} char staff=id[10];//職工號

  char name[20];//姓名

  Department&dept;//所在部門

  }; void showStaff(Staff&staff){

  cout<<”職工號:”< cout<<”姓名:”< cout<<”部門:”< cout<<”辦公室:”< int main(){

  Department dept(”人事處”,”521”);

  Staff Zhang(”0789”,”張三”,dept),Li(”0513”,”李四”,dept);

  cout<<”改換辦公室前:”< showStaff(Zhang); showStaff(Li);

  //人事處辦公室由521搬到311 //**********found********** ———————————————————————一

  cout<<”改換辦公室后:”< showStaff(Zhang); showStaff(Li);

  return 0; }

  34、 有如下程序:

  #inClude using namespaCe std; Class Sample{

  friend long fun(Sample S); publiC:

  Sample(10ng A.{x=a;} private:

  long X;

  }; long fun(Sample S){

  if(S.x<2)return l;

  return S.X*fun(Sample(s.x-1)); }

  int main(  ) {

  int sum=0;

  for(int i=0;i<6;i++) {sum+=fun(Sample(i));}

  Cout< }

  執行這個程序的輸出結果是(  )。

  A.120

  B.16

  C.154

  D.34

  三、簡單應用題(24分)

  請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個程序文件 main.cpp,其中有類 CPolygon(“多邊形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定義。請在橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。該程序的正確輸出結果應為: 注意:只能在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動 “//****found****”。 #include

  {tout<<——< int area(void){return(width *height);}

  class CTriangle:public CPolygon{

  int length;//三角形一邊長 int height;//該邊上的高

  public:

  CTriangle(int l,int h):length(1),height(h){}

  //*********found*********

  int area(void){return(——)/2;}

  };

  int main(){

  CRectangle rect(4,5); CTriangle trgl(4,5);

  //*********found********* ______ *ppolyl,* ppoly2; ppolyl=▭

  ppoly2=&trgl;

  ppolyl->printarea(); ppoly2->printarea(); retun 0;

  四、綜合應用題(18分)

  43、請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中聲明的DataList類,是一個用于表示數據表的類。s0rt成員函數的功能是將當前數據表中的元素升序排列。請編寫這個sort函數。程序的正確輸出應為: .

  排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12

  要求:

  補充編制的內容寫在“//********33********”與“//********666********”兩行之問。不得修

  改程序的其他部分。

  注意:程序最后將結果輸出到文件。ut.dat中。輸出函數writeToFile已經編譯為。obj文件,并且在本程序

  調用。

  //DataList.h

  #inClude using namespaCe std; Class DataList{//數據表類

  int len;

  double*d: publiC:

  DataList(int len,double data[]=NULL);。DataList(){[]d;}

  int length(Constt retum len;}//數據表長度(即數據元素的個數) double getElement(int i)Const{return d[i];}

  void sort();//數據表排序

  void show()Const;//顯示數據表}.

  void writeToFile(Char*,Const DataList&).//main.Cpp

  #inClude”DataList.h”

  DataList:DataList(int len,double data[]):len(1en){ d=new double[1en];

  for(int i_0;i d[i]=(data==NULL?0.0:data[i]);

  }

  void DataList:sort(){//數據表排序//********333********

  //********666********}

  void DataList:show()Const{//顯示數據表

  for(int i=0;i }

  int main(){

  double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);

  Cout<<”排序前:”; list.show();

  list.sort();

  Cout< writeToFile(””,list); return 0;

  3月計算機二級C++真題及答案word版 2

  1. 以下程序執行后sum 的值是

  main()

  { int i , sum;

  for(i=1;i<6;i++) sum+=i;

  printf("%d ",sum);

  }

  A)15

  B)14

  C) 不確定

  D)0

  你所選擇的答案是:C,正確答案是:C √

  2. 當調用函數時,實參是一個數組名,則向函數傳送的是

  A) 數組的長度

  B) 數組的首地址

  C) 數組每一個元素的地址

  D) 數組每個元素中的值

  你所選擇的.答案是:B,正確答案是:B √

  3. 以下只有在使用時才為該類型變量分配√

  4. 以下程序的輸出結果是

  main()

  { int i, x[3][3]={1,2,3,4,5,6,7,8,9};

  for(i=0;i<3;i++) printf("%d,",x[i][2-i]);

  }

  A) 1,5,9

  B) 1,4,7

  C) 3,5,7

  D)3,6,9

  你所選擇的答 案是:C,正確答案是:C √

  5. 以下程序的輸出結果是

  #define SQR(X) X*X

  main()

  { int a=16, k=2, m=1;

  a/=SQR(k+m)/SQR(k+m);

  printf("d ",a);

  }

  A) 16

  B) 2

  C) 9

  3月計算機二級C++真題及答案word版 3

  1.C語言編譯程序的功能是()。

  A.執行一個C語言編寫的源程序

  B.把C源程序翻譯成ASCII碼

  C.把C源程序翻譯成機器代碼

  D.把C源程序與系統提供的庫函數組合成一個二進制執行文件

  【答案】C

  【解析】編譯程序的功能是將“高級語言”翻譯為“機器語言”。每條C語言語句,經過編譯最終都將轉換成二進制的機器指令。答案選擇C選項。

  2.計算機高級語言程序的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是()。

  A. C語言程序僅可以編譯執行

  B. C語言程序僅可以解釋執行

  C. C語言程序既可以編譯執行,又可以解釋執行;

  D.以上說法都不對

  【答案】A

  【解析】編譯執行是指程序執行前需要一個專門的編譯過程把程序編譯成機器語言的文件,再次運行時不需要重新翻譯,執行效率高;解釋執行是指每個語句都是執行的時候才翻譯,執行效率低。用C語言編寫的程序必須經過編譯器編譯后,轉換為二進制的機器指令來運行。答案選擇A選項。

  3.以下敘述中錯誤的是()。

  A. C語言中的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令

  B. C程序經過編譯、鏈接步驟之后才能形成一個真正可執行的二進制機器指令文件

  C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中

  D. C語言源程序經編譯后生成后綴為的目標程序

  【答案】A

  【解析】A項錯誤,注釋語句不會被翻譯成二進制的機器指令。C源程序經過C編譯程序編譯之后生成后綴為的二進制文件(稱為目標文件),然后由“鏈接程序”(Link)的軟件把文件與各種庫函數連接起來生成一個后綴為的可執行文件。答案選擇A選項。

  4.以下敘述中錯誤的是()

  A.C語言的可執行程序是由一系列機器指令構成的

  B.用C語言編寫的源程序不能直接在計算機上運行

  C.通過編譯得到的二進制目標程序需要連接才可以運行

  D.在沒有安裝C語言集成開發環境的機器上不能運行C源程序生成的exe文件

  【答案】D

  【解析】A項正確,C語言的可執行程序是由一系列機器指令組成的;BC項正確,用C語言編寫的源程序必須經過編譯,生成二進制目標代碼,再經過連接才能運行;D項錯誤,C語言經過編譯鏈接后的二進制目標代碼可以脫離C語言集成開發環境獨立運行。答案選擇D選項。

  5.以下敘述正確的是()。

  A. C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為的二進制文件

  B. C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為的可執行文件

  C. C編譯程序把文件后綴為的'二進制文件編譯成文件后綴為的可執行文件

  D.鏈接程序把文件后綴為.c的源程序文件鏈接成文件后綴為的可執行文件

  【答案】A

  【解析】C編譯程序把文件后綴為C的源程序文件編譯成文件后綴為的二進制文件,鏈接將一個或多個目標文件與程序用到的庫文件連接起來,形成一個可以在操作系統直接運行的執行程序,故排除B、C、D項,答案選擇A選項。

  6.以下敘述中正確的是(A.在C語言程序中,main函數必須放在其他函數的最前面

  B.每個后綴為.c的C語言源程序都可以單獨進行編譯

  C.在C語言程序中,只有main函數才可以單獨進行編譯

  D.每個后綴為.c的C語言源程序都應該包含一個main函數

  【答案】B

  【解析】main函數可以在程序的任何位置。每一個可執行的C程序都必須有一個且只能有一個主函數。后綴名為.c的C語言源程序都可以單獨進行編譯。main函數只是讓執行程序的系統知道該從哪里開始執行程序(從主函數處執行),其他有關這個程序的子函數是通過函數調用來實現其功能(不需main函數)。答案選擇B選項。

  7.以下敘述中錯誤的是()。

  A. C語言編寫的函數源程序,其文件名后綴可以是.c

  B. C語言編寫的函數都可以作為一個獨立的源程序文件

  C. C語言編寫的每個函數都可以進行獨立的編譯并執行;

  D.一個C語言程序只能有一個主函數

  【答案】C

  【解析】C源程序經過C編譯程序編譯之后生成一個后綴為的二進制文件(稱為目標文件),然后由稱為“連接程序”(Link)的軟件,把此文件與C語言提供的各種庫函數連接起來生成一個后綴為的可執行文件。只有含有main函數的經過編譯鏈接才能執行。答案選擇C選項。

  8.以下敘述中錯誤的是(A.一個C程序可以包含多個不同名的函數

  B.一個C程序只能有一個主函數

  C. C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過

  D. C程序的主函數必須用main作為函數名

  【答案】C

  【解析】一個C程序有且只有一個主函數main。一個C程序可以包含多個不同名字的子函數。C程序在書寫時沒有嚴格的縮進要求。答案選擇C選項。

  9.以下敘述中正確的是()。

  A. C語言規定必須用main作為主函數名,程序將從此開始執行

  B.可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行

  C. C語言程序將從源程序中第一個函數開始執行;

  D. main的各種大小寫拼寫形式都可以作為主函數名,如:MAIN,Main等

  【答案】A

  【解析】用戶不能指定某函數為主函數,C語言規定,程序從main函數開始執行,從main函數退出,C語言函數名區別大小寫。答案選擇A選項。

  10.下列敘述中錯誤的是()。

  A. C程序可以由一個或多個函數組成

  B. C程序可以由多個程序文件組成

  C.一個C語言程序只能實現一種算法

  D.一個C函數可以單獨作為一個C程序文件存在

  【答案】C

  【解析】一個C程序可以有一個或多個程序文件,也可以有一個或多個函數,所以一個C語言程序可以實現多種算法,答案選擇C選項。

  3月計算機二級C++真題及答案word版 4

  1.下面對軟件特點描述不正確的是()。

  A.軟件是一種邏輯實體,具有抽象性

  B.軟件開發、運行對計算機系統具有依賴性

  C.軟件開發涉及軟件知識產權、法律及心理等社會因素

  D.軟件運行存在磨損和老化問題

  【答案】D

  【解析】軟件具有以下特點:①軟件具有抽象性,是一種邏輯實體;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題,④對硬件和環境具有依賴性;⑤軟件復雜性高,成本昂貴;⑥軟件開發涉及諸多的社會因素。D項描述是硬件存在的問題。答案選擇D選項。

  2.下面描述不屬于軟件特點的是()。

  A.軟件是一種邏輯實體,具有抽象性

  B.軟件在使用中不存在磨損、老化問題

  C.軟件復雜性高

  D.軟件使用不涉及知識產權

  【答案】D

  【解析】軟件具有以下特點:①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程,③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環境具有依賴性;⑤軟件復雜性高,成本昂貴,⑥軟件開發涉及諸多的社會因素,如知識產權等。答案選擇D選項。

  3.下面對軟件特點描述錯誤的是()

  A.軟件沒有明顯的制作過程

  B.軟件是一種邏輯實體,不是物理實體,具有抽象性

  C.軟件的開發、運行對計算機系統具有依賴性

  D.軟件在使用中存在磨損、老化問題

  【答案】D

  【解析】軟件的特點有:①具有抽象性,是邏輯實體;②沒有明顯的制作過程;③在使用期間不存在磨損、老化問題;④對硬件和環境具有依賴性;⑤復雜性高,成本昂貴;⑥開發涉及諸多的社會因素。答案選擇D選項。

  4.軟件按功能可以分為:應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于系統軟件的是()。

  A.編輯軟件

  B.操作系統

  C.教務管理系統

  D.瀏覽器

  【答案】B

  【解析】系統軟件是控制和協調計算機及外部設備,支持應用軟件開發和運行的軟件,操作系統是系統軟件;支撐軟件是支撐各種軟件的開發與維護的軟件,又稱為軟件開發環境,瀏覽器屬于支撐軟件;應用軟件是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,編輯軟件、教務管理軟件屬于應用軟件。答案選擇B選項。

  5.軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件),下面屬于應用軟件的是()。

  A.學生成績管理系統

  B. C語言編譯程序

  C. UNIX操作系統

  D.數據庫管理系統

  【答案】A

  【解析】應用軟件是為解決特定領域的'應用而開發的軟件,如事務處理軟件,工程與科學計算軟件,學生成績管理系統、教務管理系統、瀏覽器、編輯軟件等應用性質不同的各種軟件。系統軟件是計算機管理自身資源,提高計算機使用效率并服務于其他程序的軟件,如操作系統,編譯程序,匯編程序,數據庫管理系統等。支撐軟件是介于系統軟件和應用軟件之間,協助用戶開發軟件的工具性軟件,包括輔助和支持開發和維護應用軟件的工具軟件,如需求分析工具軟件,設計工具軟件,編碼工具軟件,測試工具軟件,維護工具軟件等。答案選擇A選項。

  6.數據庫管理系統是()。

  A.操作系統的一部分

  B.在操作系統支持下的系統軟件

  C.一種編譯系統

  D.一種操作系統

  【答案】B

  【解析】系統軟件主要包括:①操作系統軟件;②各種語言的解釋程序和編譯程序;③各種服務性程序;④各種數據庫管理系統。數據庫管理系統是一種系統軟件,負責數據庫中的數據組織、數組操縱、數據維護、控制和保護以及數據服務等。答案選擇B選項。

  7.數據庫管理系統是()。

  A.操作系統的一部分

  B.在操作系統支持下的系統軟件

  C.一種編譯系統

  D.一種通信軟件系統

  【答案】B

  【解析】系統軟件主要包括:①操作系統軟件;②各種語言的解釋程序和編譯程序;③各種服務性程序;④各種數據庫管理系統。數據庫管理系統是一種系統軟件,負責數據庫中的數據組織、數組操縱、數據維護、控制和保護以及數據服務等。答案選擇B選項。

  8.下列選項中,不屬于數據管理員(DBA)職責的是()。

  A.數據庫維護

  B.數據庫設計

  C.改善系統性能,提高系統效率

  D.數據類型轉換

  【答案】D

  【解析】數據庫管理員對數據庫進行規劃、設計、維護、監視等,其主要工作有:①數據庫設計,主要是對數據模式進行設計,②數據庫維護,對數據庫中的數據安全性、完整性、并發控制及系統恢復、數據定期轉儲等進行實施與維護;③改善系統性能,不斷調整內部結構,提高系統效率。答案選擇D選項。

  9.數據庫系統的核心是()。

  A.數據模型

  B.軟件開發

  C.數據庫設計

  D.數據庫管理系統

  【答案】D

  【解析】數據庫系統包括四個部分:數據庫、數據庫管理系統、數據庫應用程序、數據庫管理員。其中DBMS是為數據庫的建立、使用和維護而配置的軟件,是數據庫系統的核心。答案選擇D選項。

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

  A.數據庫系統是一個獨立的系統,不需要操作系統的支持

  B.數據庫技術的根本目標是要解決數據的共享問題

  C.數據庫管理系統就是數據庫系統

  D.數據庫系統由數據庫應用系統、數據庫和數據庫管理系統組成。

  【答案】B

  【解析】A項錯誤,數據庫需要調用操作系統的接口,需要操作系統的支持;C項錯誤,數據庫管理系統(DBMS)是數據庫系統的核心,負責數據庫中的數據組織、數據操作、數據維護、控制及保護和數據服務等;D項錯誤,數據庫應用系統是數據庫系統再加上應用軟件及應用界面這三者所組成,具體包括:數據庫、數據庫管理系統、數據庫管理員、硬件平臺、軟件平臺、應用軟件、應用界面。答案選擇B選項。

【3月計算機二級C++真題及答案word版】相關文章:

3月計算機二級Access真題及答案(word版)06-28

湖北高考語文真題及答案(word版)(3)07-16

考研英語真題及答案(word版)10-27

考研英語一真題及答案(word版)(3)09-02

考研統考計算機基礎真題及答案(word版)09-20

職稱英語理工A真題及答案(word版)08-19

湖北高考語文真題及答案word版08-19

考研英語一真題及答案(word版)10-07

考研英語二真題與答案(word版)05-28