<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            試題

            計算機二級《C++》上機考前沖刺題

            時間:2025-04-05 03:07:01 試題 我要投稿
            • 相關推薦

            2016年計算機二級《C++》上機考前沖刺題

              以下是百分網小編為大家整理的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++;

              二、基本操作題(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; }

              四、綜合應用題(18分)

              43、

              請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中包含了類IntegerSet和主函數main的定義。一個IntegerSet對象就是一個整數的集合,其中包含0個或多個無重復的整數;為了便于進行集合操作,這些整數按升序存放在成員數組elem的前若干單元中。成員函數add的作用是將一個元素添加到集合中(如果集合中不存在該元素),成員函數remove從集合中刪除指定的元素(如果集合中存在該元素)。請編寫成員函數remove。在main函數中給出了一組測試數據,此時程序的正確輸出結果應為:

              2 3 4 5 27 28 31 66 75

              2 3 4 5 6 27 28 31 56 75

              2 3 4 5 6 19 27 28 31 66 75

              3 4 5 6 19 27 28 31 66 75

              3 4 5 6 19 27 28 31 66 75

              要求:

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

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

              //IntegorSet.h

              #ifndef INTEGERSET

              #define INTEGERSET

              #include

              using namespace std;

              const int MAXELEMENTS=100;

              //集合最多可擁有的元素個數

              class IntegerSet{

              int elem[MAXELEMENTS];

              //用于存放集合元素的數組

              int counter; //用于記錄集合中元素個數的計數器

              puhlic:

              IntegerSet():counter(0){}

              //創建一個空集合

              IntegerSet(int data[],int size);

              //利用數組提供的數據創建一個整數集合

              void add(int element);

              //添加一個元素到集合中

              void remeve(int element);

              //刪除集合中指定的元素

              int getCount()const{return counter;}

              //返回集合中元素的個數

              int getElement(int i)const{retum elem[i];}//返回集合中指定的元素

              void show()const;

              };

              void WriteToFile(char*);

              #endif

              //main.cpp

              #include”IntegerSet.h”

              #include

              IntegerSet::IntegerSet(int data[],int size):counter(0){

              for(int i=0;i add(data[i]);

              }

              }

              void IntegerSet::add(int element){

              int j;

              //從后往前尋找第一個小于等于element的元素

              for(j=counter;j>0;j-)

              if(element>=elem[j一1])break;

              //如果找到的是等于element的元素,說明要添加的元素已經存在,直接返回

              if(j>0)

              if(element==elem[j-1])return;

              //如果找到的是小于element的元素,j就是要添加的位置

              //該元素及其后面的元素依次后移,騰出插入位置

              for(int k=counter;k>j;k一)

              elem[k]=elem[k一1];

              elem[j]=element;//將element插入到該位置

              counter++; //計數器加l

              }

              void IntegerSet::remove(int element){

              //***************333***************

              //***************666***************

              void IntegerSet::show()const{

              for(int i=0;i cout< cout< }

              int main(){

              int d[]={5,28,2,4,5,3,2,75,27,66,31};

              IntegerSet S(d,11);S.show();

              S.add(6); s.show();

              S.add(19); S.show();

              S.remove(2); s.show();

              S.add(4); S.show();

              writeToFile(””);

              return 0;

              }

            【計算機二級《C++》上機考前沖刺題】相關文章:

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

            計算機二級《C++》上機考前沖刺試題06-25

            2016計算機二級《C++》上機考前沖刺試題05-23

            2016計算機二級C++上機考前沖刺試題02-01

            二級C++上機沖刺題及答案解析04-07

            2017計算機二級C++考前沖刺題及答案03-17

            計算機二級考試C++考前沖刺試題05-16

            計算機二級C++上機綜合應用題02-25

            計算機二級考試C++上機試題選擇題03-22

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院