#include
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;}
MyClass(const MyClass&x){cout<<2;}
MyClass&operator=(const MyClass&x){cout<<3;retum$this;}
~MyClass()}cout<<4;}
};
int main()
{
MyClass objl(1),obj2(2),obj3(objl);
retum 0;
{
執行這個程序的輸出結果是( )。 A. 112444B. 11114444C. 121444D. 11314444
本題共1分,參考答案:A解析:本題:考查構造函數和復制構造函數以及重載運算符。本題中先后定義了兩個對象obj1,obj2,依次輸出口,然后定義了對象obj3,凋用復制構造函數,輸出2,最后執行三次析構函數,輸出444。
32在下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是( )。 A. 外模式B. 內模式C. 概念模式D. 邏輯模式
本題共1分,參考答案:B解析:數據庫系統的蘭級模式是概念模式、外模式和內模式。概念模式是數據庫系統中全局數據邏輯結構的描述,是全體用戶公共數據視圖。外模式也稱子模式或用戶模式,它是用戶的數據視圖,給出了每個用戶的局部數據描述、、內模式又稱物理模式,它給出r數據庫物理存儲結構與物理存取方法,所以選擇8。
33有如下程序:
#inClude using namespaCe std; Class Base{
publiC:
void output(){Cout<<1;}
virtual void Print(){Cout<<'B’;} };
Class Derived:publiC Base{ publiC:
void output(){Cout<<2;} void Print(){Cout<<’D ';} };
int main() {
Base * ptr=new Derived; ptr一>output();
ptr一>Print(); delete ptr;
retum0; }
執行這個程序的輸出結果是( )。 A. 1BB. lDC. 2BD. 2D
本題共1分,參考答案:B解析:在某基類中聲明為vitua1并在一個或多個派生類中被重新定義的成員函數,本題中定義了一個指向派生類對象的基類指針ptr,執行ptr一>outpnt后,會執行基類的output函數,輸出1,由于Print是虛函數,所以ptr->Print()會執行派生類的Print,即輸出D,所以本題答案為B。
34以下程序中,錯誤的行為是( )。
①#include
②class A
③{
④public:
⑤ int n=2;
⑥ A(int val){cout<<< p>
⑦ -A(){};
⑧};
⑨void main() ⑩{
⑪ A a(0);
⑫}A. ⑤B. ⑥C. ⑦D. ⑪本題共1分,參考答案:A解析:C++語言中規定在類體中不允許對所定義的數據成員進行初始化。35下列數據結構中,屬于非線性結構的是( )。 A. 循環隊列B. 帶鏈隊列C. 二叉樹D. 帶鏈棧
本題共1分,參考答案:C解析:樹是簡單的非線性結構,所以二叉樹作為樹的一種也是一種非線性結構。
36有如下程序:
#inClude using namespaCe std; Class A{
publiC:
statiC int a;
void init( ){。a=1;}
A(int a=2){init( );a++;} };
int A::a:0: A obj;
int main( ) {
Cout<< return>
}
運行時輸出的結果是( )。 A. 0B. 1C. 2D. 3
本題共1分,參考答案:B解析:本題考查構造函數,本題中對類中的a數據成員先是賦值為0,當定義了對象obj時,執行構造函數,將a的值變為了1,所以輸出1。
37軟件詳細設計產生的圖如下:
該圖是( )。 A. N—S圖B. PAD圖C. 程序流程圖D. E—R圖
本題共1分,參考答案:C解析:N—S圖提出了用方框圖來代替傳統的程序流程圖,所以A不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的圖形表示工具,所以B不對。E—R圖是數據庫中的用于表示E—R模型的圖示工具,所以D不對。根據圖中所示表示方法是進行軟件詳細設計時使用的程序流程圖。
38秘序調試的任務是( )。 A. 設計測試用例B. 驗證程序的正確性C. 發現程序中的錯誤D. 診斷和改正程序中的錯誤
本題共1分,參考答案:D解析:程序調試的任務是診斷和改正程序中的錯誤。
39有如下程序:
#include
using namespace std;
class A{
public:
virtual void fancl(){cout<<”Al”;}
void func2(){cout<<”A2”;}
};
class B:public A{
public:
void funcI(){tout<<”Bl”;}
void func2(){tout<<”B2”;}
};
intmain()}
A*P=new B:
P—>funcl();
P—>func2();
delete p;
return 0;
}
執行這個程序的輸出結果是( )。 A. B182B. A1A2C. B1A2D. AIB2
本題共1分,參考答案:C解析:本題考查虛函數。虛函數指在基類中聲明為virtual并在一個或多個派生類中被重新定義的成員函數。題中定義了一個派生類對象8,并使用類A的對象指針指向B,由于基類A中的funcl為虛函數,所以會執行派生類的funcl,輸出Bl,而基類中的func2不是虛函數,所以P->func2()會執行基類的func2,輸出A2。故答案為c。
40下列字符串中。不可以用做c++標識符的是( )。 A. y_2006B. _EST_HC. ReturnD. switch
本題共1分,參考答案:D解析:本題考查C++標識符的命名規則,其規則有如下幾點:①所有標識符必須由字母、數字或下畫線組成,且必須由字母或下畫線開頭;②所有標識符不能使用C++已有的關鍵字;③大、小寫字母表示不同意義,即代表不同的標識符。選項C中雖然retum是關鍵字,但因首字母大、小寫不同,也可用于標識符,但不建議使用。故答案為D。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |