川大《面向對象程序設計2261》22春在線作業(yè)2【標準答案】

可做奧鵬全部院校在線離線作業(yè)畢業(yè)論文QQ:3230981406 微信:aopopenfd777

發(fā)布時間:2022-06-29 11:09:19來源:admin瀏覽: 35 次

《面向對象程序設計2261》22春在線作業(yè)2-00001

試卷總分:100  得分:100

一、單選題 (共 30 道試題,共 60 分)

1.兩個指針變量不可以()

A.相加

B.比較

C.相減

D.指向同一地址

 

2.有如下類定義: class MyClass{ int value; public: MyClass(int n): value (n) {} int gerValue()const{ return value;} }; 則類 MyClass 的構造函數的個數是 ( )

A.1個

B.2個

C.3個

D.4個

 

3.以下對二維數組a的正確說明是:()

A.inta[3][];

B.floata(3,4);

C.doublea[1][4];

D.floata(3)(4);

 

4.假定a為一個短整型(shortint)數組名,則元素a[8]的地址為()

A.a+4

B.a+8

C.a+16

D.a+32

 

5.若有定義:intaa[8];則以下表達式中不能代表數組元aa[1]的地址的是()

A.&aa[0]+1

B.&aa[1]

C.&aa[0]++

D.aa+1

 

6.如果短整型的長度是2字節(jié),有一個短整型指針p的值是0xFFED1200,那么p+1的值為()

A.0xFFED1201

B.0xFFED1202

C.0xFFED1203

D.0xFFED1204

 

7.數組名作為實參傳遞給形參時,數組名被處理為該數組的()

A.長度

B.元素個數

C.首地址

D.各元素的值

 

8.已知Value是一個類,Value是Value的一個對象。下列以非成員函數形式重載的運算符函數原形中,正確的是()

A.Valueoperator+(Valuev,inti);

B.Valueoperator+(Valuev=value,inti);

C.Valueoperator+(Valuevinti=0);

D.Valueoperator+(Valuev=value,inti=0);

 

9.如果有如下定義:constchar*str="OK";那么,sizeof(str)的值應該是()

A.1

B.2

C.3

D.4

 

10.下列哪個是C++語言的有效標識符?()

A._No1

B.No、1

C.12345

D.int

 

11.如果定義了一個類myclass,則為myclass類對象以成員函數形式重載后++運算符的聲明應該為()

A.myclassoperator++();

B.myclass& operator++();

C.myclassoperator++(int);

D.myclass& operator++(int);

 

12.二叉查找樹按()遍歷時訪問到節(jié)點的數據是排好序的

A.前序

B.中序

C.后序

D.層次

 

13.十進制數127轉換成二進制數是()

A.11111111

B.01111111

C.10000000

D.11111110

 

14.若k為整形,則while循環(huán)執(zhí)行( )次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);

A.10

B.9

C.0

D.1

 

15.執(zhí)行下列語句段后,輸出字符“*”的個數是()for(inti=50;i>1;I-=2)cout<<~*~;

A.24

B.25

C.26

D.50

 

16.下列排序算法中,平均效率最低的排序算法是()

A.插入法

B.冒泡法

C.選擇法

D.快速排序法

 

17.在下列關鍵字中,不能用來表示繼承方式的是()

A.private

B.static

C.public

D.protected

 

18.如果在try塊中用throw"error";語句拋出一個異常,則參數類型是()的catch塊能夠捕獲這個異常。

A.char*

B.constchar*

C.Char

D.constchar

 

19.當需要使用istrstream流類定義一個流類對象并聯(lián)系一個字符串時,應在文件開始使用#include命令,使之包含()文件

A.iostream、h

B.iomanip、h

C.fstream、h

D.ststreh

 

20.下列語句分別是不同程序中的第一個輸入輸出語句,若去掉其中的“<<left”,輸出效果將發(fā)生變化的是()

A.cout<<left<<setfill(~*~)<<357;

B.cout<<left<<setw(5)<<357;

C.cout<<left<<setw(5)<<"ABCDE";

D.cout<<left<<"ABCDE";

 

21.下面是一個模板聲明的開始部分: templute<typename T> double __ 由此可知 ( )

A.這可能是一個函數模板的聲明

B.這可能是一個類模板的聲明

C.這既可能是一個函數模板的聲明,也可能是一個類模板的聲明

D.這肯定是一個錯誤的模板聲明

 

22.多重繼承時,如果派生類的兩個父類有一個共同的虛基類,那么虛基類的初始化參數由()的構造函數來傳遞

A.第一個父類

B.第二個父類

C.派生類

D.以上都不是

 

23.在每個C++程序中都必須包含有這樣一個函數,該函數的名稱為()

A.main

B.MAIN

C.name

D.function

 

24.有如下類和對象的定義: class Constants{ public: static double getPI(){return 3.1416;} }; Constants constants; 下列各組語句中,能輸出 3.1416 的是 ( )

A.cout<<constants->getPI();和cout<<Constants::gerPI();

B.cout<<constants.getPI();和cout<<Constants.getPI();

C.cout<<constants->getPI();和cout<<Constants->getPI();

D.cout<<constants.getPI();和cout<<Constants::getPI();

 

25.下面函數調用語句含有實參的個數為: ( ) func((exp1,exp2),(exp3,exp4,exp5))

A.1

B.2

C.4

D.5

 

26.父類和子類各自定義一個成員函數,函數名相同,參數表不同,那么()

A.在子類中這兩個函數構成重載關系

B.子類不會繼承父類的這個函數

C.子類中的函數會覆蓋父類中的函數

D.編譯時會發(fā)生錯誤

 

27.C++異常處理機制中沒有()

A.try

B.throw

C.catch

D.finally

 

28.有如下 4 個語句: ① cout<<~A~<<setfill(~*~)<<left<<setw(7)<<~B~<<endl; ② cout<<setfill(~*~)<<left<<setw(7)<<~A~<<~B~<<endl; ③ cout<<~A~<<serfill(~*~)<<right<<setw(7)<<~B~<<endl; ④ cout<<setfill(~*~)<<right<<setw(7)<<~A~<<~B~<<endl; 其中能顯示 A******B 的是

A.①和③

B.①和④

C.②和③

D.②和④

 

29.C++函數的聲明和定義可以分開,函數聲明不需要()

A.返回類型

B.函數名

C.參數表

D.函數體

 

30.多態(tài)性是通過()實現的

A.構造函數

B.析構函數

C.虛函數

D.函數重載

 

二、多選題 (共 5 道試題,共 20 分)

31.類成員的訪問屬性可以是()

A.public

B.protected

C.private

D.default

 

32.面向對象的編程方法的主要特征包括()

A.封裝

B.繼承

C.多態(tài)

D.消息

 

33.設有定義語句: int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次輸出x數組6個元素中的值,下列選項中能完成次操作的語句有_( )、

A.for(i=0;i<6;i++)printf(“%2d”,*(p++));

B.for(i=0;i<6;i++)printf(“%2d”,*(p+i));

C.for(i=0;i<6;i++)printf(“%2d”,*p++);

D.for(i=0;i<6;i++)printf(“%2d”,(*p)++);

 

34.for語句的格式為for(表達式1;表達式2;表達式3),其中可以省略的是()

A.兩個分號

B.表達式1

C.表達式2

D.表達式3

 

35.兩個同名函數構成重載關系,只要()不同

A.返回類型

B.參數個數

C.參數類型

D.函數頭后有無const

 

三、判斷題 (共 5 道試題,共 20 分)

36.邏輯運算符兩側運算對象的數據類型只能是0或1。()

 

37.C++語言是從早期的C語言逐漸發(fā)展演變而來的,與C語言相比,它在求解問題方法上進行的最大改進是面向過程。()

 

38._int可以定義為用戶標識符。()

 

39.宏名必須用大寫字母表示。()

 

40.C++語言的跳轉語句中,break語句只應用于循環(huán)體中。()


作業(yè)咨詢 論文咨詢
微信客服掃一掃

回到頂部