class Point
{
int xx.yy;
public:
Point():xx(0),yy(0){}
Point(int x,int Y=0):xx(X),YY(Y){}
};
若執行語句
Point a(2),b[3],幸c[4];
則Point類的構造函數被調用的次數是( )。 A. 2次B. 3次C. 4次D. 5次
本題共1分,參考答案:C解析:本題考查默認構造函數和帶參數的構造函數,題目中定義一個對象a(2)以及對象數組b[3],共執行4次構造函數,對象指針不調用構造函數。所以本題答案為c。
22有如下程序:
#include
using namespace std;
class Basel
{
public:
BaseI(int D.{cout<< p>
一Basel(){}
};
class Base2
{
public:
Base2(int D.{tout<< p>
~Base2(){}
};
class Derived:public Basel,Base2
{
public:
Derived(int a,int b,int c,int D.:Basel(B.,Base2(A.,bl(D.,b2(C.{}
private:
int bl:
int b2:
};
int main()
{
Derived d(1,2,3,4);
return 0;
}
執行這個程序的輸出結果是( )。 A. 1234B. 2134C. 12D. 21
本題共1分,參考答案:D解析:本題考查派生類的構造函數和析構函數,在定義一個派生類的對象時,先調用基類的構造函數,然后再執行派生類的構造函數,對象釋放時,先執行派生類的析構函數,再執行基類的析構函數。本題中定義一個派生類對象時,分別調用基類的構造函數,所以分別輸出21。
23以下敘述正確的是( )。 A. 函數可以嵌套定義但不能嵌套調用B. 函數既可以嵌套調用也可以嵌套定義C. 函數既不可以嵌套定義也不可以嵌套調用D. 函數可以嵌套調用但不可以嵌套定義
本題共1分,參考答案:D解析:在c++語言中,所有的函數都是平行的,即在定義函數時是互相獨立的,一個函數并不從屬于另一個函數,即函數不能嵌套定義,但可以互相調用。但是不能調用main()函數。
24必須用一對大括號括起來的程序段是( )。 A. switCh語句中的Case標號語句B. if語句的分支C. 循環語句的循環體D. 函數的函數體
本題共1分,參考答案:D解析:本題考查c++基本控制結構,A、B、C三個選項中的大括號不是必須的,而D選項中的函數體必須使用大括號。
25軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是( )。 A. 學生成績管理系統B. C語言編譯程序C. UNIX操作系統D. 數據庫管理系統
本題共1分,參考答案:A解析:軟件按功能可以分為:應用軟件、系統軟件、支撐軟件。操作系統、編譯程序、匯編程序、網絡軟件、數據庫管理系統都屬于系統軟件。所以B、C、D都是系統軟件,只有A是應用軟件。
26下面程序的運行結果為( )。
#include
void main()
{
for(int a=0,x=0;!x&&a<=10;a++)
{
a++:
}
cout<<< p>
}A. 10B. 1lC. 12D. 0
本題共1分,參考答案:C解析:在進入最后一次循環時a=10,在循環體內執行“a++;”后a=11,執行完該次循環體計算for循環的增量部分后a=12小于l0,循環結束。
27有如下程序:
#include
using namespace std;
int i=1;
class Fun{
public:
static int i;
int value(){return i—l;}
int value()const{return i+1;}
};
int Fun::i=2;
int main(){
int i=3;
Fun funl;
const Fun fun2:
__________________
return 0;
}
若程序的輸出結果是:
123
則程序中下畫線處遺漏的語句是( )。 A. cout<<<<<<< cout<<<<<<
本題共1分,參考答案:A解析:本題考查構造函數、常成員函數和靜態數據成員。外部同名的變量賦值,不能改變類的靜態變量值,所以Fun對象里的i值為2,所以本題答案為A。
28下列有關模板的敘述中,正確的是( )。 A. 函數模板不能含有常規形參B. 函數模板的一個實例就是一個函數定義C. 類模板的成員函數不能是模板函數D. 用類模板定義對象時,絕對不能省略模板實參
本題共1分,參考答案:B解析:本題考查函數模板和類模板的基礎知識,所以本題答案為B。
29運算符重載時不需要保持的性質是( )。 A. 操作數個數B. 操作數類型C. 優先級D. 結合性
本題共1分,參考答案:B解析:重載運算符的規則如下:①c++不允許用戶自己定義新的運算符,只能對已有的c++運算符進行重裁;②c++不能重載的運算符只有5個;③重載不能改變運算符運算對象的個數;④重載不能改變運算符的優先級和結合性;⑤重載運算符的函數不能有默認的參數;⑥重載的運算符必須和用戶定義的自定義類型的對象一起使用,至少應有一個是類對象,即不允許參數全部是c++的標準類型。所以答案為B。
30下列程序的輸出結果為( )。
#include< fune(int int>
{
if(n<1)return l;
else return n+time(n一1); return 0;
}
void main() {
cout<<< p>
}A. 0B. 10C. 15D. 16
本題共1分,參考答案:D解析:本題考查的是遞歸函數的使用,題中遞歸函數的結束條件為n< p>
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |