<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            計算機二級《C++》上機強化練習題

            時間:2025-04-17 06:11:30 試題 我要投稿
            • 相關推薦

            2016計算機二級《C++》上機強化練習題

              2016年全國計算機等級考試時間為3月26日-29日,為了幫助大家順利通過計算機二級考試,下面百分網小編為大家帶來2016計算機二級《C++》上機強化練習題,供大家參考學習,預祝考生備考成功!

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

              1、有如下程序:

              #inClude using namespaCe std; Class B{

              publiC:

              virtual void show(){Cout<<”B”;} };

              Class D:publiC B{ . publiC:

              void show(){Cout<<”D”;} };

              void funl(B * ptr){ptr一>show();} void fUN2(B&ref){ref.show();}

              voidfhIl3(B B.{b.show();} int main()

              {

              B b,* P=new D; D d;

              funl(P); fun2(B.; fun3(D);

              delete P; return 0; }

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

              A.BBB

              B.BBD

              C.DBB

              D.DBD

              2、下面描述中錯誤的是( )。

              A.系統總體結構圖支持軟件系統的詳細設計

              B.軟件設計是將軟件需求轉換為軟件表示的過程

              C.數據結構與數據庫設計是軟件設計的任務之一

              D.PAD圖是軟件詳細設計的表示工具

              3、已知函數FA調用函數FB,若要把這兩個函數定義在同一個文件中,則( )。

              A.FA必須定義在FB之前

              B.FB必須定義在FA之前

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

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

              4、有如下函數定義:

              void funC(int a,int&B. {a++;b++;}

              若執行代碼段:

              int x=0,Y = 1; funC(X,Y);

              則變量x和y的值分別是(  )。

              A.0和1

              B.1和1

              C.0和2

              D.1和2

              5、下面程序的輸出結果是( )。

              #include

              class example

              {

              int a;

              public:

              example(int B.{a=b++;}

              void print(){a=a+1;eout< void print()const{cout< };

              void main()

              {

              example x(3);

              const example Y(2);

              A print();

              B print();

              }

              A.2 2

              B.4 3

              C.4 2

              D.3 2

              6、下列有關類繼承的敘述中,錯誤的是( )。

              A.繼承可以實現軟件復用

              B.虛基類可以解決由多繼承產生的二義性問題

              C.派生類構造函數要負責調用基類的構造函數

              D.派生類沒有繼承基類的私有成員

              7、下面程序的運行結果是( )。

              #include

              int fun(int a[],int n) {

              int resuh=1;

              for(inl i=1;i<11;1‘++)

              result=result * a[i];

              retum result;

              } void main()

              int a[3]={3,4,5}:

              cout< }

              A.12

              B.15

              C.20

              D.60

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

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

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

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

              D.以上說法都不正確

              9、在滿足實體完整性約束的條件下( )。

              A.一個關系中應該有一個或多個候選關鍵字

              B.一個關系中只能有一個候選關鍵字

              C.一個關系中必須有多個候選關鍵字

              D.一個關系中可以沒有候選關鍵字

              10、下面關于c+十語言變量的敘述錯誤的是( )。

              A.c++語言中變量分為aut0、static、extem和register4種存儲類型

              B.自動變量和外部變量的作用域為整個程序

              C.內部靜態變量的作用域是定義它的函數

              D.外部靜態變量的作用域是定義它的文件

              11、 下面程序的運行結果是( )。

              #include void main()

              {

              int num=1:

              int&ref=num; ref=ref+2:

              cout< }

              A.13

              B.16

              C.36

              D.33

              12、 有以下程序:

              #include float tun(int X,int Y) {return(X+Y);} void main()

              {int a=2,b=5,c=8;

              cout< 程序運行后的輸出結果是( )。

              A.編譯出錯

              B.9

              C.21

              D.9.0

              13、 下列運算符中,不能被重載的是(  )。

              A.&&

              B.!=

              C..

              D.++

              14、 算法的空間復雜度是指( )。

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

              B.算法所處理的數據量

              C.算法程序中的語句或指令條數

              D.算法在執行過程中所需要的臨時工作單元數

              15、 c++語言類體系中,不能被派生類繼承的有( )。

              A.轉換函數

              B.構造函數

              C.虛函數

              D.靜態成員函數

              16、 對C++編譯器區分重載函數無任何意義的信息是( )。

              A.參數類型

              B.參數個數

              C.返回值類型

              D.常成員函數關鍵字Const

              17、 對類成員訪問權限的控制,是通過設置成員的訪問控制屬性實現的,下列不是訪問控制屬性的是( )。

              A.公有類型

              B.私有類型

              C.保護類型

              D.友元類型

              18、 下列程序的運行結果為(  )。

              #include int i=0;

              class A{ public: A(){i++;}

              };

              void main() {

              A a,b[3],*C; C=b;

              cout< }

              A.2

              B.3

              C.4

              D.5

              19、 以下關鍵字不能用來聲明類的訪問權限的是(  )。

              A.publiC

              B.statiC

              C..proteCted

              D.private

              20、 設有定義int a=1;float f=1.2;char C='a';,則下列表示錯誤的是( )。

              A.++a;

              B.f一一;

              C.c++;

              D.8++;

              21、 下列不是描述類的成員函數的是( )。

              A.構造函數

              B.析構函數

              C.友元函數

              D.復制構造函數

              22、 有如下程序:

              int x=3:

              do{

              x-=2;

              COU[< }while(!(--X));

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

              A.1

              B.3 0

              C.1—2

              D.死循環

              23、 下列選項中屬于面向對象設計方法主要特征的是( )。

              A.繼承,

              B.自頂向下

              C.模塊化

              D.逐步求精

              24、 對于類定義 class A{

              public:

              void func2(){}

              };

              class B:public A{ public:

              w)id funcl()| cout<<"class B func l”< virtual voiIl fimc2(){cout<<"class B func 2" <};

              下面正確的敘述是( )。

              A.A::rune2()和B::funcl()都是虛函數

              B.A::func2()和B::funel()都不是虛函數

              C.B::funcl()是虛函數,而A::func2()不是虛函數

              D.B::funcl()不是虛函數,而A::func2()是虛函數

              25、 語句ofstream f(”SALARY.DAT”,ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALA-RY.DAT并與之連接,并且( )。

              A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件

              B.若文件存在,將其置為空文件;若文件不存在,打開失敗

              C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件

              D.若文件存在,打開失敗;若文件不存在,建立一個新文件

              26、 下列有關繼承和派生的敘述中,正確的是(  )。

              A.如果一個派生類公有繼承其基類,則該派生類對象可以訪問基類的保護成員

              B.派生類的成員函數可以訪問基類的所有成員

              C.基類對象可以賦值給派生類對象

              D.如果派生類沒有實現基類的一個純虛函數,則該派生類是一個抽象類

              27、 下列符號中可以用做C++標識符的是( )。

              A._radius

              B.f00~bar

              C.else

              D.3room

              28、有如下程序:

              #include

              using namespace std;

              classBase{

              public:

              void fun(){

              __________________

              cout<<”Base::fun”< };

              class Derived:public Base{

              public:

              voidfun(){

              cout<<”Derived::fun”< }

              };

              int main(){

              Derived d;

              A fun();

              return 0;

              }

              已知其執行后的輸出結果為:

              Base::fun

              Derived::fun

              則程序中下畫線處應填入的語句是(  )。

              A. Base.fun();

              B.Base::fun();

              C.Base—>fun();

              D.fun();

              29、 以下各選項組中,均是C++語言關鍵字的組是( )。

              A.public operator this

              B.shod string static

              C.it while>=

              D.prirate cout printf

              30、 要想使23.78965421的輸出為23.7887,應用的語句是( )。

              A.cout<<23.78965421;

              B.cout

              D.cout<

              31、 在軟件開發中,需求分析階段產生的主要文檔是( )。

              A.軟件集成測試計劃

              B.軟件詳細設計說明書

              C.用戶手冊

              D.軟件需求規格說明書

              32、 下列關于類定義的說法中,正確的是( )。

              A.類定義中包括數據成員和函數成員的聲明

              B.類成員的缺省訪問權限是保護的

              C.數據成員必須被聲明為私有的

              D.成員函數只能在類體外進行定義

              33、 下列關于數據庫設計的敘述中,正確的是( )。

              A.在需求分析階段建立數據字典

              B.在概念設計階段建立數據字典

              C.在邏輯設計階段建立數據字典

              D.在物理設計階段建立數據字典

              34、 下列選項,不正確的是( )。

              A.for(int a=1;a<=10;a++);

              B.int a=1;

              do

              {

              a++:

              }while(a<=10);

              C.int a=1;

              while(a<=10)

              {

              a++:

              }

              D.for(int a=1;a<=10;a++)a++;

              35、 下列關于棧敘述正確的是( )。

              A.棧頂元素最先能被刪除

              B.棧頂元素最后才能被刪除

              C.棧底元素永遠不能被刪除

              D.棧底元素最先被刪除

              36、 下列關于運算符重載的描述中,正確的是( )。

              A.運算符重載為成員函數時,若參數表中無參數,重載的是一元運算符

              B.一元運算符只能作為成員函數重載

              C.二元運算符重載為非成員函數時,參數表中有一個參數

              D.c++中可以重載所有的運算符

              37、 下面關于C++語言的描述錯誤的是( )。

              A.C++語言支持數據封裝

              B.C++語言中引入友元,沒有破壞封裝性

              C.C++語言允許函數名和運算符重載

              D.C++語言支持動態聯編

              38、 在c++語言程序中,對象之間的相互通信通過( )。

              A.繼承實現

              B.調用成員函數實現

              C.封裝實現

              D.函數重載實現

              39、 下列敘述中正確的是( )。

              A.循環隊列是隊列的一種鏈式存儲結構

              B.循環隊列是隊列的一種順序存儲結構

              C.循環隊列是非線性結構

              D.循環隊列是一種邏輯結構

              40、 下面不屬于需求分析階段任務的是( )。

              A.確定軟件系統的功能需求

              B.確定軟件系統的性能需求

              C.需求規格說明書評審

              D.制定軟件集成測試計劃

              二、基本操作題(18分)

              41、請使用VC6或使用【答題】菜單打開考生文件夾progl下的工程progl,該工程中包含程序文件main. cpp,其中有Salary(“工資”)類和主函數main的定義。程序中位于每個“//ERROR ****found****”之后的一行語句行有錯誤,請加以改正。改正后程序的輸出結果應為:

              應發合計:3500應扣合計:67.5實發工資:3432.5

              注意:只修改每個“//ERROR ****found****”下的那一行,不要改動程序中的其他內容。

              #include

              using namespace std; class Salary{

              public:

              Salary(const char *id,double the_base,double the bonus,double the_tax) //ERROR **********found**********

              :the_base(base),the_bonus(bonus),the_tax(tax) {

              staff_id=new char[strlen(id)+1]; strcpy(staff_id,id);

              }

              //ERROR **********found********** ~Salary(){delete * staff_id;}

              double getGmssPay()const{retum base+bonus;}//返回應發項合計

              double getNetPay()const}retum getGmssPay()-tax;}//返回實發工資額 private:

              char * staff id;//職工號 double base;//基本工資 double bonus;//獎金

              double tax;//代扣個人所得稅 };

              int main(){

              Salary pay(”888888”,3000.0,500.0,67.50);

              cout<<”應發合計:”< cout<<”應扣合計:”< //ERROR**********found**********

              cout<<”實發工資:”< return 0;

              }

              三、簡單應用題(24分)

              42、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,此工程包含有一個源程序文件proj2.cpp,其中定義了Stack類和ArrayStack類。

              Stack是一個用于表示數據結構“棧”的類,棧中的元素是字符型數據。Stack為抽象類,它只定義了棧的用戶接口,如下所示:

              公有成員函數 功能

              push 入棧:在棧頂位置添加一個元素

              pop 退棧:取出并返回棧頂元素

              ArrayStack是Stack的派生類,它實現了Stack定義的接口。ArrayStack內部使用動態分配的字符數組作為棧元素的存儲空間。數據成員maxSize表示的是棧的最大容量,top用于記錄棧頂的位置。成員函數push和pop分別實現具體的入棧和退棧操作。

              請在程序中的橫線處填寫適當的代碼,然后刪除橫線,以實現上述功能。此程序的正確輸出結果應為:

              a,b,C

              C,b,a

              注意:只在指定位置編寫適當代碼,不要改動程序中的其他內容,也不要刪除或移動“//****料found****”。

              //proj2.cpp

              #include

              using namespacc std;

              class Stack{

              public:

              virtual void push(char C)=0;

              virtual char pop()=0;

              };

              class ArrayStack:public Stack{

              char*P;

              int maxSizc;

              int top;

              public:

              ArravStack(int s)

              {

              top=0;

              maxSize=s:

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

              P=______;

              }

              ~ArrayStack()

              {

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

              _______;

              }

              void push(char c)

              }

              if(top==maxSize){

              cerr<<”Overflow! \n”:

              return;

              }

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

              _______;

              top++:

              }

              char pop()

              {

              if(top==0){

              cerr<<”Underflow!、n”;

              return‘\0’;

              }

              Top--;

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

              ______;

              }

              };

              void f(Stack&sRef)

              {

              char ch[]={‘a’,‘b’,‘c’};

              cout< sRef.push(oh[0]);sRef.push(ch[1]);sRef.push(ch[2]);

              cout< cout< cout< }

              int main()

              {

              ArrayStack as(10);

              f(as):

              return 0:

              }

              四、綜合應用題(18分)

              43、請使用【答題】菜單命令或直接用VC6打開考生文件夾下的工程prog3,其中聲明了ValArray類,該類在內部維護一個動態分配的整型數組。ValArray類的復制構造函數應實現對象的深層復制。請編寫ValArray類的復制構造函數。在main函數中給出了一組測試數據,此種情況下程序的輸出應該是:

              ValArray vl={1,2,3,4,5} ValArray v2={1,2,3,4,5} 要求:

              補充編制的內容寫在“//*********333*********”與“//*********666*********”之間,不得修改程序的其他部分。

              注意:程序最后將結果輸出到文件out.dat中。輸出函數write To File已經編譯為boj文件,并且在本程序中調用。

              //ValArray.h

              #include using namespace std; class ValArray{

              int *v: int size; public:

              ValArray(const int * P,int n):size(n) {

              v=new int[size];

              for(int i=0;i

            【計算機二級《C++》上機強化練習題】相關文章:

            2016計算機二級《C++》上機練習題06-09

            2016計算機二級《C++》上機練習題及答案10-12

            2017計算機二級C++強化練習題08-17

            計算機二級《C++》上機試題及答案08-12

            計算機二級C++強化測試08-27

            2016計算機二級《C++》上機沖刺題09-05

            2016計算機二級C++上機試題及答案08-02

            計算機二級C++強化試題及答案11-07

            2017年9月計算機二級《C++》強化練習題08-31

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看