2016年9月計算機二級《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)D
解析: C++中的友元可以在一個類中的任何位置聲明,不一定必須在公有段,友元沒有自己的this指針,調用友元函數時必須在它的實參中給出要訪問的`對象,並且一個類的成員函數是可以作為另一個類的友元函數的。
(2)D
解析: C++語言中的抽象類就是類中至少有一個純虛函數的類,抽象類不能被實例化,繼承抽象類的類必須實現抽象類中的純虛函數。
(3)A
解析: C++語言中析構函數是在程序退出不用該類的對象時進行調用。
(4)B
解析: C++語言中用成員函數重載--x為:x. operator--(),用成員函數重載x+y為:x. operator+(y)。
(5)D
解析: C++語言中打開文件有兩種方式① ifstream fin("")② ifstream fin;("");。
(6)B
解析: C++中純虛函數的定義與虛函數的關鍵字一樣,在函數末尾要加上"=0"。
(7)A
解析: 首先,當i=0時,數組中的位置是a[0][0]=1,當然,如果用排除法的話,就不用考慮後面的循環了,因為在4個選項中,第1個數為1的選項只有A)。本題執行第2次循環時,i的值為1,則cout函數中的數組指向為a[1][1]=5,依次循環,可求出答案。
(8)D
解析: 派生類繼承基類的方式有3種:public,private和protected,常用的是public.
(9)A
解析: 本題是一道簡單的成員函數應用題,考生只要按着主函數中生成的類Rectangle的對象r1進行成員函數的調用即可得到答案。
(10)B
解析: 在內存中,字符數據以ASCII碼存儲,它的存儲形式就與整數的存儲形式相類似。C++語言使字符型數據和整型數據之間可以通用。也可以對字符數據進行算術運算,此時相當於對它們的ASCII碼進行算術運算,在本題中,s++相當於s=s+1,即讓s指向數組中的下一個元素。
-
2017年計算機二級C++常見考試試題
C++中的算術運算符包括基本的算術運算符和自增、自減運算符。由算術運算符、操作數和括號構成的表達式稱為算術表達式。以下是yjbys小編收集的計算機二級C++常見考試試題,歡迎大家參考!一、類對象數組類的對象和C++其他數據類型一樣,也可以為其建立數組,數組的表...
-
2017年德州計算機應用能力考試報名通知
早期的計算機主要用於科學計算。科學計算仍然是計算機應用的一個重要領域。下面是小編整理的關於德州計算機應用能力考試報名通知,希望大家認真閲讀!各縣(市、區)人力資源和社會保障局,市直及中央、省駐德有關單位:根據省人事考試中心《關於2017年專業技術人員計...
-
2017全國計算機二級高級Office考試試題
2017年全國計算機等級考試(NCRE)共安排三次考試,時間分別為3月25日至28日(第48次)、9月23日至26日(第49次)和12月9日(第50次)。以下是關於計算機二級高級Office考試試題,希望大家認真練習!一、單選題1).下列數據結構中,能夠按照先進後出原則存取數據的是()。A.循...
-
2017年3月計算機考前練習題及答案
計算機等級考試面向社會,服務於勞動力市場,為人員擇業、人才流動提供其計算機應用知識與能力的證明,以便用人部門錄用和考核工作人員時有一個統一、客觀、公正的標準。下面是小編精選的3月計算機考前練習題及答案,快來練練吧!【3月計算機考前練習題及答案】【練習...