《面向?qū)ο蟪绦蛟O(shè)計(jì)2261》22春在線作業(yè)1-00001
試卷總分:100 得分:100
一、單選題 (共 30 道試題,共 60 分)
1.private訪問屬性限制對(duì)象的成員可以在()中訪問
A.本類的成員函數(shù)
B.main函數(shù)
C.父類的成員函數(shù)
D.子類的成員函數(shù)
2.C++異常處理機(jī)制中沒有()
A.try
B.throw
C.catch
D.finally
3.下面不支持下標(biāo)操作的容器是()
A.vector
B.deque
C.list
D.map
4.C++源文件的缺省擴(kuò)展名為()
A.cpp
B.exe
C.obj
D.lik
5.數(shù)組名作為實(shí)參傳遞給形參時(shí),數(shù)組名被處理為該數(shù)組的()
A.長度
B.元素個(gè)數(shù)
C.首地址
D.各元素的值
6.有如下類和對(duì)象的定義: 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();
7.下列排序算法中,平均效率最低的排序算法是()
A.插入法
B.冒泡法
C.選擇法
D.快速排序法
8.如果在try塊中用throw"error";語句拋出一個(gè)異常,則參數(shù)類型是()的catch塊能夠捕獲這個(gè)異常。
A.char*
B.constchar*
C.Char
D.constchar
9.已知函數(shù) f 的原型是 void f(int *a, long & b);,變量 v1、v2 的定義是: int v1; loong v2; 下列調(diào)用語句中正確的是 ( )
A.f(v1,&v2)
B.f(v1,v2)
C.f(&v1,&v2)
D.f(&v1,v2)
10.父類和子類各自定義一個(gè)成員函數(shù),函數(shù)名相同,參數(shù)表不同,那么()
A.在子類中這兩個(gè)函數(shù)構(gòu)成重載關(guān)系
B.子類不會(huì)繼承父類的這個(gè)函數(shù)
C.子類中的函數(shù)會(huì)覆蓋父類中的函數(shù)
D.編譯時(shí)會(huì)發(fā)生錯(cuò)誤
11.多態(tài)性是通過()實(shí)現(xiàn)的
A.構(gòu)造函數(shù)
B.析構(gòu)函數(shù)
C.虛函數(shù)
D.函數(shù)重載
12.用cin為整型變量輸入數(shù)據(jù)時(shí),如果從鍵盤輸入的不是數(shù)字,輸入后整型變量中的結(jié)果會(huì)是:()
A.0
B.負(fù)數(shù)
C.正數(shù)
D.不確定
13.下面的選項(xiàng)中正確的賦值語句是(chara[5],*p=a;)()
A.p=“abcd”;
B.a=“abcd”;
C.*p=“abcd”;D*a=“abcd”;
14.假定AB為一個(gè)類,則執(zhí)行“ABa(4),b[4],*p[5]”語句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()
A.4
B.5
C.8
D.13
15.鏈表的基本單元是()
A.節(jié)點(diǎn)
B.頭指針
C.尾指針
D.數(shù)據(jù)域
16.下列語句分別是不同程序中的第一個(gè)輸入輸出語句,若去掉其中的“<<left”,輸出效果將發(fā)生變化的是()
A.cout<<left<<setfill(~*~)<<357;
B.cout<<left<<setw(5)<<357;
C.cout<<left<<setw(5)<<"ABCDE";
D.cout<<left<<"ABCDE";
17.已知Value是一個(gè)類,Value是Value的一個(gè)對(duì)象。下列以非成員函數(shù)形式重載的運(yùn)算符函數(shù)原形中,正確的是()
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=0);
D.Valueoperator+(Valuev=value,inti=0);
18.以下對(duì)二維數(shù)組a的正確說明是:()
A.inta[3][];
B.floata(3,4);
C.doublea[1][4];
D.floata(3)(4);
19.以下不能正確進(jìn)行字符串賦初值的語句是()
A.charstr[5]="good!";
B.charstr[]="good!";
C.char*str="good!";
D.charstr[5]={‘g',‘o',‘o',‘d'};
20.有如下定義: int a[5]={1,3,5,7,9},*p=a; 下列表達(dá)式中不能得到數(shù)值 5 的是 ( )
A.a[2]
B.a[3]
C.*(p+2)
D.*p+4
21.如果定義了一個(gè)類myclass,則為myclass類對(duì)象以成員函數(shù)形式重載后++運(yùn)算符的聲明應(yīng)該為()
A.myclassoperator++();
B.myclass& operator++();
C.myclassoperator++(int);
D.myclass& operator++(int);
22.一個(gè)類如果沒有定義任何函數(shù),編譯器不會(huì)自動(dòng)為這個(gè)類產(chǎn)生()
A.拷貝構(gòu)造函數(shù)
B.無參構(gòu)造函數(shù)
C.輸出流運(yùn)算符
D.賦值運(yùn)算符
23.若有說明:int*p1,*p2,m=5,n;以下均是正確賦值語句的是()
A.p1=&m,p2=&p1
B.p1=&m;p2=&n;*p1=*p2
C.p1=&m;p1=p2
D.p1=&m;*p2=*p1
24.有如下類定義: class Point{ private; static int how_many; }; ___________ how_many=0; 要初始化 Point 類的靜態(tài)成員 how_many,下劃線處應(yīng)填入的內(nèi)容是
A.ing
B.staticint
C.intPoint::
D.staticintPoint::
25.在定義inta[3][4][2];后,第10個(gè)元素是()
A.a[2][1][2]
B.a[1][0][1]
C.a[2][0][1]
D.a[2][2][1]
26.判斷一個(gè)ofstream類對(duì)象file打開文件是否失敗,應(yīng)該判斷()
A.創(chuàng)建文件流對(duì)象時(shí)是否拋出異常
B.open成員函數(shù)的返回值
C.feof成員函數(shù)的返回值
D.!file是否為真
27.有如下類定義: class MyClass{ int value; public: MyClass(int n): value (n) {} int gerValue()const{ return value;} }; 則類 MyClass 的構(gòu)造函數(shù)的個(gè)數(shù)是 ( )
A.1個(gè)
B.2個(gè)
C.3個(gè)
D.4個(gè)
28.隊(duì)列的最大特征是()
A.先進(jìn)先出
B.后進(jìn)先出
C.自動(dòng)排序
D.大數(shù)優(yōu)先
29.C++泛型編程通過()實(shí)現(xiàn)
A.void
B.template
C.NULL
D.typedef
30.如果有如下定義:constchar*str="OK";那么,sizeof(str)的值應(yīng)該是()
A.1
B.2
C.3
D.4
二、多選題 (共 5 道試題,共 20 分)
31.構(gòu)造函數(shù)()
A.函數(shù)名只能是類名
B.返回類型可以是任意的
C.參數(shù)個(gè)數(shù)和類型可以是任意的
D.在對(duì)象創(chuàng)建時(shí)自動(dòng)調(diào)用
32.關(guān)于公共靜態(tài)數(shù)據(jù)成員,下面說法正確的是()
A.在main函數(shù)之前創(chuàng)建
B.跟某個(gè)具體對(duì)象無關(guān)
C.可以用類名和成員名直接訪問
D.需要在類體外初始化
33.設(shè)有定義語句: int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次輸出x數(shù)組6個(gè)元素中的值,下列選項(xiàng)中能完成次操作的語句有_( )、
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.面向?qū)ο蟮木幊谭椒ǖ闹饕卣靼ǎǎ?/p>
A.封裝
B.繼承
C.多態(tài)
D.消息
35.類成員的訪問屬性可以是()
A.public
B.protected
C.private
D.default
三、判斷題 (共 5 道試題,共 20 分)
36.C++語言是從早期的C語言逐漸發(fā)展演變而來的,與C語言相比,它在求解問題方法上進(jìn)行的最大改進(jìn)是面向過程。()
37.宏名必須用大寫字母表示。()
38.字符串"ab\\\n"在機(jī)器中占6個(gè)字節(jié)。()
39.1.234e0為C++語言合法常量。()
40.結(jié)構(gòu)化程序設(shè)計(jì)的基本方法是遞歸法。()