第 1 頁:選擇題 |
第 5 頁:基本操作題 |
一、選擇題
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; }
執(zhí)行這個程序的輸出結果是( )。
A.BBBB.BBDC.DBBD.DBD
參考答案:C
參考解析:在某基類中聲明為virtua1并在一個或多個派生類中被重新定義的成員函數,本題中定義類B的對象b、對象指針*P=new D以及類D的對象d:執(zhí)行fun1會凋用派生類的show函數,因為show函數為虛函數,而調用fun2、fun3仍然為基類的show函數,所以本題答案為C。
2下面描述中錯誤的是( )。
A.系統(tǒng)總體結構圖支持軟件系統(tǒng)的詳細設計
B.軟件設計是將軟件需求轉換為軟件表示的過程
C.數據結構與數據庫設計是軟件設計的任務之一
D.PAD圖是軟件詳細設計的表示工具
參考答案:A
參考解析:詳細設計的任務是為軟件結構圖中而非總體結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節(jié),所以A錯誤。
3已知函數FA調用函數FB,若要把這兩個函數定義在同一個文件中,則( )。
A.FA必須定義在FB之前
B.FB必須定義在FA之前
C.若FA定義在FB之后,則FA的原型必須出現在FB的定義之前
D.若FB定義在FA之后,則FB的原型必須出現在FA的定義之前
參考答案:D
參考解析:如果使用用戶自己定義的函數,而該函數與調用它的函數(即主調用函數)在同一程序單元中,且位置在主調用函數之后,則必須在調用此函數之前對被凋用的函數作聲明。
4有如下函數定義:
void funC(int a,int&B. {a++;b++;}
若執(zhí)行代碼段:
int x=0,Y = 1; funC(X,Y);
則變量x和y的值分別是( )。
A.0和1B.1和1C.0和2D.1和2
參考答案:C
參考解析:函數參數的3種傳遞方式:①將變量名作為形參和實參,即傳值方式;②傳遞變量指針;③引用形參 本題中實參x為傳值方式,所以x的值不會改變;Y為引用形參,所以會改變。故本題答案為c。
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 2B.4 3C.4 2D.3 2
參考答案:C
參考解析:“++”是右結合的,所以先賦值為3,最后輸出3+1;常成員函數只有常對象才能調用,所以輸出2。第5題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標簽:試題內容(1)答案解析(0)
6下列有關類繼承的敘述中,錯誤的是( )。
A.繼承可以實現軟件復用
B.虛基類可以解決由多繼承產生的二義性問題
C.派生類構造函數要負責調用基類的構造函數
D.派生類沒有繼承基類的私有成員
參考答案:D
參考解析:3種繼承方式中,派生類繼承了基類的私有成員,但不能被直接訪問,可以通過派生類的友元函數去訪問基類的私有成員。
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.12B.15C.20D.60
參考答案:C
參考解析:for循環(huán)執(zhí)行2次,所以第一次for循環(huán)為result=1*a[1]=4,第二次for循環(huán)為result=4*a[2]=20。
8下列敘述中正確的是( )。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化
D.以上說法都不正確
參考答案:C
參考解析:棧是先進后出的數據結構,在整個過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來操作,所以選擇c。
9在滿足實體完整性約束的條件下( )。
A.一個關系中應該有一個或多個候選關鍵字
B.一個關系中只能有一個候選關鍵字
C.一個關系中必須有多個候選關鍵字
D.一個關系中可以沒有候選關鍵字
參考答案:A
參考解析:實體完整性約束要求關系的主鍵中屬性值不能為空值,所以選擇A。
10下面關于c+十語言變量的敘述錯誤的是( )。
A.c++語言中變量分為aut0、static、extem和register4種存儲類型
B.自動變量和外部變量的作用域為整個程序
C.內部靜態(tài)變量的作用域是定義它的函數
D.外部靜態(tài)變量的作用域是定義它的文件
參考答案:B
參考解析:自動變量是函數體或分程序內定義的變量,它的作用域在所定義的函數體內或分程序體內。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |