《面向?qū)ο蟪绦蛟O(shè)計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 的構(gòu)造函數(shù)的個數(shù)是 ( )
A.1個
B.2個
C.3個
D.4個
3.以下對二維數(shù)組a的正確說明是:()
A.inta[3][];
B.floata(3,4);
C.doublea[1][4];
D.floata(3)(4);
4.假定a為一個短整型(shortint)數(shù)組名,則元素a[8]的地址為()
A.a+4
B.a+8
C.a+16
D.a+32
5.若有定義:intaa[8];則以下表達式中不能代表數(shù)組元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.數(shù)組名作為實參傳遞給形參時,數(shù)組名被處理為該數(shù)組的()
A.長度
B.元素個數(shù)
C.首地址
D.各元素的值
8.已知Value是一個類,Value是Value的一個對象。下列以非成員函數(shù)形式重載的運算符函數(shù)原形中,正確的是()
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)的值應(yīng)該是()
A.1
B.2
C.3
D.4
10.下列哪個是C++語言的有效標識符?()
A._No1
B.No、1
C.12345
D.int
11.如果定義了一個類myclass,則為myclass類對象以成員函數(shù)形式重載后++運算符的聲明應(yīng)該為()
A.myclassoperator++();
B.myclass& operator++();
C.myclassoperator++(int);
D.myclass& operator++(int);
12.二叉查找樹按()遍歷時訪問到節(jié)點的數(shù)據(jù)是排好序的
A.前序
B.中序
C.后序
D.層次
13.十進制數(shù)127轉(zhuǎn)換成二進制數(shù)是()
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í)行下列語句段后,輸出字符“*”的個數(shù)是()for(inti=50;i>1;I-=2)cout<<~*~;
A.24
B.25
C.26
D.50
16.下列排序算法中,平均效率最低的排序算法是()
A.插入法
B.冒泡法
C.選擇法
D.快速排序法
17.在下列關(guān)鍵字中,不能用來表示繼承方式的是()
A.private
B.static
C.public
D.protected
18.如果在try塊中用throw"error";語句拋出一個異常,則參數(shù)類型是()的catch塊能夠捕獲這個異常。
A.char*
B.constchar*
C.Char
D.constchar
19.當(dāng)需要使用istrstream流類定義一個流類對象并聯(lián)系一個字符串時,應(yīng)在文件開始使用#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.這可能是一個函數(shù)模板的聲明
B.這可能是一個類模板的聲明
C.這既可能是一個函數(shù)模板的聲明,也可能是一個類模板的聲明
D.這肯定是一個錯誤的模板聲明
22.多重繼承時,如果派生類的兩個父類有一個共同的虛基類,那么虛基類的初始化參數(shù)由()的構(gòu)造函數(shù)來傳遞
A.第一個父類
B.第二個父類
C.派生類
D.以上都不是
23.在每個C++程序中都必須包含有這樣一個函數(shù),該函數(shù)的名稱為()
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.下面函數(shù)調(diào)用語句含有實參的個數(shù)為: ( ) func((exp1,exp2),(exp3,exp4,exp5))
A.1
B.2
C.4
D.5
26.父類和子類各自定義一個成員函數(shù),函數(shù)名相同,參數(shù)表不同,那么()
A.在子類中這兩個函數(shù)構(gòu)成重載關(guān)系
B.子類不會繼承父類的這個函數(shù)
C.子類中的函數(shù)會覆蓋父類中的函數(shù)
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++函數(shù)的聲明和定義可以分開,函數(shù)聲明不需要()
A.返回類型
B.函數(shù)名
C.參數(shù)表
D.函數(shù)體
30.多態(tài)性是通過()實現(xiàn)的
A.構(gòu)造函數(shù)
B.析構(gòu)函數(shù)
C.虛函數(shù)
D.函數(shù)重載
二、多選題 (共 5 道試題,共 20 分)
31.類成員的訪問屬性可以是()
A.public
B.protected
C.private
D.default
32.面向?qū)ο蟮木幊谭椒ǖ闹饕卣靼ǎǎ?/p>
A.封裝
B.繼承
C.多態(tài)
D.消息
33.設(shè)有定義語句: int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次輸出x數(shù)組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.兩個同名函數(shù)構(gòu)成重載關(guān)系,只要()不同
A.返回類型
B.參數(shù)個數(shù)
C.參數(shù)類型
D.函數(shù)頭后有無const
三、判斷題 (共 5 道試題,共 20 分)
36.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型只能是0或1。()
37.C++語言是從早期的C語言逐漸發(fā)展演變而來的,與C語言相比,它在求解問題方法上進行的最大改進是面向過程。()
38._int可以定義為用戶標識符。()
39.宏名必須用大寫字母表示。()
40.C++語言的跳轉(zhuǎn)語句中,break語句只應(yīng)用于循環(huán)體中。()