糯米文學吧

位置:首頁 > 計算機 > 計算機二級

2016年12月計算機二級C++練習題及答案

全國計算機二級考試對於知識點的掌握是比較重要的,下面是本站小編為各位考生整理的2016年12月計算機二級C++練習題及答案,希望堵大家的考試有所幫助!

2016年12月計算機二級C++練習題及答案

  習題一

(1)關於友元的概念錯誤的是

A)友元函數沒有this指針

B)調用友元函數時必須在它的實參中給出要訪問的對象

C)一個類的成員函數也可以作為另一個類的友元函數

D)只能在類的公有段聲明友元

(2)關於抽象類下面説法正確的是

A)抽象類就是其中有函數定義但沒有實現的類

B)抽象類是可以被實例化的

C)派生類不能成為抽象類

D)抽象類的子類必須實現父類中的純虛函數

(3)下面程序的結果是

#include

class test { private:

int num;

public:

test();

int getint(){return num;}

~test();};

test :: test()

{ num =0;}

test::~test()

{ cout<<"Destructor is active"< P>

{ test x[3];

cout<<"Exiting main"<>

Destructor is active

Destructor is active

Destructor is active

B)Exiting main

Destructor is active

Destructor is active

C)Exiting main

Destructor is active

D)Exiting main

(4)如果表達式--x+y中,--是作為成員函數重載的, +是作為成員函數重載的,則該表達式還可為

A)ator+(ator--(0))

B)ator+(ator--())

C)ator+(operator--(x,0))

D)operator+(ator--())

(5)下列語句不能夠用於打開C根目錄下文件的語句是

A)ifstream fin; ("C:");

B)ifstream fin("C:");

C)A)和B)

D)ifstream fin; fin("C:");

(6)以下哪個基類中的成員函數表示純虛函數?

A)virtual void vf (int)

B)void vf (int)=0

C)virtual void vf(=0)

D)virtual void yf(int){ }

(7)下面程序輸出的結果是

#include

void main()

{ int i;

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

for(i=0;i<3;i++)

cout << a[i][i] << " ";}

A)1 5 9

B)7 5 3

C)3 5 7

D)5 9 1

(8)派生類繼承基類的方式有

A)public

B)private

C)protected

D)以上都對

(9)下列程序的.運行結果為

#include

class Location {

protected:

int X, Y;

public:

void SetX(int myx){X=myx;}

void SetY(int myy){Y=myy;}

void showxy(){cout << "X=" << X << " " << "Y=" << Y <>

private:

int H, W;

public:

void SetH(int myh){H=myh;}

void SetW(int myw){W=myw;}

void show(){ cout << "X=" << X << " " << "Y=" << " " << Y << " " << "H=" << H << " " << "W=" << W << endl;}};

void main()

{ Rectangle r1;

(3);

(5);

(4);

(6);

xy();

();}

A)X=3 Y=5

X=3 Y=5 H=4 W=6

B)X=3 Y=5

X=3 Y=5 H=3 W=6

C)X=3 Y=5

X=3 Y=4 H=4 W=6

D)X=3 Y=5

X=3 Y=3 H=4 W=6

(10)有以下程序

#include

void ss(char *s,char t)

{ while(*s)

{ if(*s==t)*s=t-′a′+′A′;

s++;}}

void main()

{ char str1[100]="abcddfefdbd",c=′d′;

ss(str1,c); cout << str1;}

程序運行後的輸出結果是

A)ABCDDEFEDBD

B)abcDDfefDbD

C)abcAAfefAbA

D)Abcddfefdb

  習題二

1)有以下程序

#include

void main()

{ int a=5,b=0,c=0;

if(a=b+c)cout << "***"<< ?$$$?<下列選項敍述正確的是<>

A)有語法錯不能通過編譯

B)可以通過編譯但不能通過連接

C)輸出***

D)輸出$$$

(2)已知各變量的定義如下

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

則以下符合C++語言語法的表達式是

A)a+=a-=(b=4)*(a=3)