C++選擇題匯總-題庫_第1頁
C++選擇題匯總-題庫_第2頁
C++選擇題匯總-題庫_第3頁
C++選擇題匯總-題庫_第4頁
C++選擇題匯總-題庫_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一二章1.下列C+標點符號中表示行注釋開始的是 C 。A)# B); C)/ D)2.下列字符串中可以用作C+標示符的是 A 。A)_256 B)class C)delete D)5char3.下列關(guān)于C+函數(shù)的描述中正確的是 C 。A)主函數(shù)是程序的入口,它是由用戶定義的函數(shù)調(diào)用。B)函數(shù)是C+中面向?qū)ο蟪绦蛟O計框架的基本組成元素。C)函數(shù)在調(diào)用前必須先被聲明。 D)每個用戶定義函數(shù)只能被其他函數(shù)調(diào)用一次。4.下列關(guān)于C+關(guān)鍵字的說法中正確的是 D 。A)關(guān)鍵字是用戶為程序中各種需要命名的“元素”所起的名字。B)關(guān)鍵字是對程序中的數(shù)據(jù)進行操作的一類單詞。C)關(guān)鍵字是在程序中起分割內(nèi)容和界定范

2、圍作用的一類單詞。D)關(guān)鍵字是C+中預先定義并實現(xiàn)一定功能的一類單詞。5.每個C+程序都必須有且僅有一個 B 。A)預處理命令 B)主函數(shù) C)函數(shù) D)語句6.下面關(guān)于對象概念的描述中, A 是錯誤的。A)對象就是C語言中的結(jié)構(gòu)變量 B)對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體C)對象是一個狀態(tài)和操作(或方法)的封裝體 D)對象之間的信息傳遞是通過消息進行的7.C+對C語言做了很多改進,下列描述中 D 使得C語言發(fā)生了質(zhì)變,即從面向過程變成面向?qū)ο蟆)增加了一些新的運算符 B)允許函數(shù)重載,并允許設置默認參數(shù) C)規(guī)定函數(shù)說明必須用原型 D)引進類和對象的概念8.下面關(guān)于類概念的描述中, D

3、是錯誤的。A)類是抽象數(shù)據(jù)類型的實現(xiàn) B)類是具有共同行為的若干對象的統(tǒng)一描述體C)類是創(chuàng)建對象的樣板 D)類就是C語言中的結(jié)構(gòu)體類型9.C+語言是以 B 語言為基礎(chǔ)逐漸發(fā)展而演變而成的一種程序設計語言。A)Pascal B)C C)Basic D)Simula6710.C+語言中規(guī)定函數(shù)的返回值的類型是由 D 。A)return語句中的表達式類型所決定的 B)調(diào)用該函數(shù)式的主調(diào)用函數(shù)類型所決定的C)調(diào)用該函數(shù)式系統(tǒng)臨時確定的 D)在定義該函數(shù)式所指的數(shù)據(jù)類型所決定的11.下列關(guān)于C+與C語言關(guān)系的描述中錯誤的是 C 。A)C+是C語言的超集 B)C+是C語言進行了擴充C)C+和C語言都是面向

4、對象的程序設計語言 D)C+包含C語言的全部語法特征12.下列字符串中可以用做C+標示符的是 A 。A) _521 B)computer1 C)case D)3var13.面向?qū)ο蟪绦蛟O計思想的主要特征中不包括 D 。A)封裝性 B)多態(tài)性 C)繼承性 D)功能分解,逐步求精14.下列C+標點符號中表示一條預處理命令開始的是 A 。A)# B)/ C) D);15.下列關(guān)于C+類的描述中錯誤的是 C 。A)類與類之間可以通過一些手段進行通信和聯(lián)絡B)類用于描述事物的屬性和對事物的操作C)類與類之間必須是平等的關(guān)系,而不能組成層次關(guān)系D)類與類之間可以通過封裝而具有明確的獨立性16.下列C+標點

5、符號中表示一條語句結(jié)束的是 A 。A); B)/ C)# D)17.下列C+標點符號中表示復合語句結(jié)束的標記符是 C 。A)# B)/ C) D);18.下列C+標點符號中表示復合語句開始的標記符是 A 。A) B)/ C) D);19.下列關(guān)鍵字中, B 即在C語言中使用,又在C+語言中使用。A)inline B)break C)private D)public20.下列字符串中不可以用作C+標示符的是 C 。A)_521 B)computer123 C)int D)flower21.下列不正確的選項是 D 。A)C+語言是一種面向?qū)ο蟮某绦蛟O計語言,它支持面向?qū)ο笏枷胫械?個主要特征B)標

6、點符號是在程序中起分割內(nèi)容和界定范圍作用的一類單詞 C)iostream是一個標準的頭文件,定義了一些輸入輸出流對象D)類與類之間不可以進行通信和聯(lián)絡22.下列不正確的選項是 B 。A)封裝是一種信息隱藏技術(shù) B)標識符是由字母、數(shù)字、下劃線組成的字符串,必須以數(shù)字或下劃線開頭C)編譯是由源程序文件轉(zhuǎn)換到目標文件的過程D)一個C+程序可以認為是函數(shù)串23.下列與流程控制有關(guān)的關(guān)鍵字是 A 。A)goto B)static C)int D)sizeof24.下列正確的選項是 A 。A)繼承是創(chuàng)建一個具有別的類的屬性和行為的新類的能力B)C語言支持面向?qū)ο蟮某绦蛟O計 C)空白符是一種可以被編譯的符

7、號D)標示符不宜過長,一般設定為16個字符25.下列關(guān)于C+語言的發(fā)展說法錯誤的是 C 。A)C+語言起源于C語言 B)C+語言最初被稱為“帶類的C”C)在1980年C+被命名 D)在1983年C+被命名27.下列表示引用的方法中, A 是正確的。已知:int k=1000;A)int &x=k; B)char &y; C)int &z=1000; D)float &t=&k;28.下列程序的執(zhí)行結(jié)果為 A 。i nclude<iostream.h>void mian() int n=10; int* pn=&n; int* &

8、;rn=pn; (*pn)+; cout<<"n="<<n<<endl; (*rn)+; cout<<”n=”<<n<<endl;A) n=11 n=12 B) n=11 n=11C) n=10 n=11 D) n=11 n=1029.下列引用的定義中, B 是錯誤的。A)int i; int &j=i; B)int i; int &j; j=i;C)float i; float &j=i; C)char d; char &k=d;30. B 是給對象取了一個別名,他引入

9、了對象的同義詞。A)指針 B)引用 C)枚舉 D)結(jié)構(gòu)31.下列表示引用的方法中, A 是正確的。已知:int m=10;A)int &x=m; B)int &y=10; C)int &z; D)float &t=&m;32.下面程序的運行結(jié)果是 A 。i nclude<iostream.h>void fun(int &a,int &b) int p; p=a; a=b; b=p;void exchange(int &a,int &b,int &c) if(a<b)fun(a,b); if(a&l

10、t;c)fun(a,c); if(b<c)fun(b,c);void main() int a,b,c; a=12; b=639; c=78; exchange(a,b,c); cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl;A)a=639,b=78,c=12 B)a=12,b=639,c=78 C)a=639,b=12,c=78 D)a=78,b=12,c=63933.下面的程序輸出結(jié)果為 C 。include&

11、lt;iostream.h>void main() int *ir; int i; ir=&i; i=17; cout<<"int i="<<i<<endl; cout<<"int ir="<<*ir<<endl;A)int i=17 int ir=0 B)int i=0 int ir=17C)int i=17 int ir=17 D)程序語法錯誤,沒有輸出結(jié)果34.對定義重載函數(shù)的下列要求中, D 是錯誤的。A)要求參數(shù)的個數(shù)不同 B)要求參數(shù)中至少有一個類型不同C)

12、要求參數(shù)個數(shù)相同時,參數(shù)類型不同 D)要求函數(shù)的返回值不同35.下面函數(shù)調(diào)用語句中實參的個數(shù)是 A 。xxx(v1,v2),(v3,v4,v5),v6);A)3 B)4 C)5 D)636.系統(tǒng)在調(diào)用重載函數(shù)時往往根據(jù)一些條件確定哪個重載函數(shù)被調(diào)用,在下列選項中,不能作為依據(jù)的是 D 。A)參數(shù)個數(shù) B)參數(shù)的類型 C)函數(shù)名稱 D)函數(shù)的類型37.若要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使用的存儲類別是 D 。A)extern B)register C)auto D)static38.在C+中,關(guān)于下列設置參數(shù)默認值的描述中,正確的是 C 。A)不允許設置設置參數(shù)的默

13、認值 B)設置參數(shù)默認值只能在定義函數(shù)時設置C)設置參數(shù)默認值時,應該事先設置右邊的再設置左邊的D)設置參數(shù)默認值時,應該全部參數(shù)都設置39.若有下面函數(shù)調(diào)用語句: fun(a+b,(x,y),fun(n+k,d,(a+b);在此函數(shù)調(diào)用語句中實參的個數(shù)是 A 。A)3 B)4 C)5 D)640.下列對重載函數(shù)的描述中, A 是錯誤的。A)重載函數(shù)中不允許使用默認參數(shù)B)重載函數(shù)中編譯時根據(jù)參數(shù)表進行選擇C)不要使用重載函數(shù)來描述毫無相干的函數(shù)D)構(gòu)造函數(shù)重載將會給初始化帶來多種方式41.在函數(shù)聲明時,下列 D 項是不必要的。A)函數(shù)的類型 B)函數(shù)參數(shù)類型 C)函數(shù)的名字 D)返回值表達式

14、42.在函數(shù)的返回值類型與返回值表達式的類型的描述中,錯誤的是 B 。A)函數(shù)返回值的類型是在定義函數(shù)時確定,在函數(shù)調(diào)用時是不能改變的B)函數(shù)返回值的類型就是返回值表達式的類型C)函數(shù)返回值表達式類型與返回值類型不同時,函數(shù)表達式類型應轉(zhuǎn)換成返回值類型D)函數(shù)返回值類型確定了返回值表達式的類型43.下面變量和函數(shù)說明:i nclude<iostream.h>char ch='*'void sub(int x,int y,char ch,double *z) switch(ch) case '+':*z=x+y;break; case '-&#

15、39;:*z=x-y;break; case '*':*z=x*y;break; case '/':*z=x/y;break; 下面合法的函數(shù)調(diào)用語句是 B 。A) sub(10,20,ch,y); B) sub(1.2,3.2,'+',&z); C) sub(sub(1,2,'+',&y),sub(3,4,'+',&x),'-',&y); D) sub(a,b,&x,ch);44.下列程序的輸出結(jié)果是 B 。include<iostream.h>

16、void sub1(char a,char b) char c; c=a; a=b; b=c;void sub2(char *a,char b) char c; c=*a; *a=b; b=c;void sub3(char *a,char *b) char c; c=*a; *a=*b; *b=c;void main() char a,b; a='A' b='B' sub1(a,b); putchar(a); putchar(b); a='A' b='B' sub2(&a,b); putchar(a); putchar(b

17、); a='A' b='B' sub3(&a,&b); putchar(a); putchar(b); putchar('n');A)ABABAB B)ABBBBA C)ABBABA D)ABABBA45.下面程序的正確執(zhí)行結(jié)果為 D 。include<iostream.h>int f(int);void main() int a=2,i; for(i=0;i<3;i+) cout<<f(a)<<" " cout<<endl;int f(int a) int

18、 b=0; static int c=3; b+; c+; return (a+b+c);A)7 7 7 B)7 10 13 C)7 9 11 D)7 8 946.下面程序的正確執(zhí)行結(jié)果為 C 。i nclude<iostream.h>void fun(char * *m) m+; cout<<*m<<endl;void main() static char *a="MORNING","AFTERNOON","EVENING" char * *n; n=a; fun(n);A)為空 B)MORNIN

19、G C)AFTERNOON D)EVENING47.下面程序的輸出結(jié)果 B 。i nclude<iostream.h>int fun(char *s) char *p=s; while(*p!='0') p+; return (p-s);void main() cout<<fun("ABCDEF")<<endl;A)3 B)6 C)8 D)048.當一個函數(shù)無返回值時,函數(shù)的類型應定義為 A 。A)void B)任意 C)int D)無49.下面敘述中不正確的是 D 。A)在函數(shù)中,通過return語句傳回函數(shù)值B)在函數(shù)

20、中,可以有多條return語句C)主函數(shù)名main()后面的一對圓括號中也可以帶有形參D)調(diào)用函數(shù)必須在一條獨立的語句中完成50.下列 D 的調(diào)用方式是引用調(diào)用。A)形參是指針,實參是地址值 B)形參和實參都是變量 C)形參是數(shù)組,實參是變量 D)形參是引用,實參是變量51.在C+中,函數(shù)原型不能標識 D 。A)函數(shù)的返回類型 B)函數(shù)參數(shù)的個數(shù) C)函數(shù)參數(shù)類型 D)函數(shù)的功能52.下列標識符中, C 是文件級作用域的。A)函數(shù)形參 B)語句標號 C)外部靜態(tài)類標識符 D)自動類標識符53.在傳值調(diào)用中,要求 C 。A)形參和實參類型任意,個數(shù)相等 B)實參和形參類型都完全一致,個數(shù)相等C)

21、實參和形參對應的類型一致,個數(shù)相等 D)實參和形參對應的類型一致個數(shù)任意54.有一個int型變量,在程序中頻繁使用,最好定義它為 A 。A)register B)auto C)extern D)static55.考慮下面的函數(shù)原型:void testDefaulParam(int a,int b=7,char z='*');下面函數(shù)調(diào)用中不合法的 C 。A)testDefaulParam(5); B)testDefaulParam(5,8);C)testDefaulParam(5,'#'); D)testDefaulParam(0,0,'*');

22、56.采用函數(shù)重載的目的在于 D 。A)實現(xiàn)共享 B)減少空間 C)提高速度 D)使用方便,提高可靠性57.要求通過函數(shù)來實現(xiàn)一種不太復雜的功能,并且要加快執(zhí)行速度,選用 A 。A)內(nèi)聯(lián)函數(shù) B)重載函數(shù) C)遞歸函數(shù) D)嵌套函數(shù)58.下面程序的輸出結(jié)果是 D 。i nclude<iostream.h>void fun(int i);int main() int n=2; fun(n); return 0;void fun(int i) static int x=1; int y=1; if(i>0) +x; +y; cout<<x<<' &

23、#39;<<y<<' ' fun(i-1); A)語法錯誤,不能輸出正確結(jié)果 B)2 2 2 2 C)2 2 3 3 D)2 2 3 259.下面程序的輸出結(jié)果為 B 。i nclude<iostream.h>void prt(int *x,int *y,int *z) cout<<+ + *x<<","<<+ + *y<<","<<*(z+)<<endl;int a=10;int c=20;int b=40;void main()

24、 prt(&a,&b,&c); prt(&a,&b,&c);A)11,42,31 12,21,41 B)11,41,20 12,42,20C)11,21,40 11,21,41 D)11,41,21 12,42,2260.下面程序的正確運行結(jié)果為 C 。i nclude<iostream.h>fun(int a,int b) static int m=1,i=2; i+=m+1; m=i+a+b; return(m);void main() int k=5,m=2,p; p=fun(k,m); cout<<p<<

25、;"," p=fun(k,m); cout<<p<<endl;A)11,22 B)12,23 C)11,23 D)10,2361.下面程序的輸出結(jié)果是 D 。i nclude<iostream.h>void fun(int *s,int *y) static int t=3; *y=st; t-;void main() int a=1,2,3,4; int i,x=10; for(i=0;i<4;i+) fun(a,&x); cout<<x<<"," cout<<end

26、l;A)1,2,3,4 B)0,0,0,0 C)4,4,4,4 D)4,3,2,162.下面程序的輸出結(jié)果是 A 。i nclude<iostream.h>int fun(char *s) char *p=s; while(*p!='0') p+; return (p-s);void main() cout<<fun("ABCDEFGHIJKLMNIPQRST")<<endl;A)20 B)6 C)19 D)063.下面程序的輸出結(jié)果是 C 。i nclude<iostream.h>int x=10;void

27、fun(int c);void main() fun(x); cout<<"x="<<x<<endl;void fun(int x) x=1;A)x=0 B)x=1 C)x=10 D)語法錯誤,不能輸出正確結(jié)果64.下面程序的執(zhí)行結(jié)果是 B 。i nclude<iostream.h>void main() void swap(); extern int a,b; a=3; b=10; swap(); cout<<"a="<<a<<",b="<&l

28、t;endl;int a,b;void swap() int temp; temp=a; a=b; b=temp;A)a=3,b=10 B)a=10,b=3 C)a=temp,b=temp D)語法錯誤,不能輸出正確結(jié)果65.下列程序的輸出結(jié)果是 A 。i nclude<iostream.h>void f() static int i=15; i+; cout<<"i="<<i<<endl;void main() for(int k=0;k<2;k+) f();A)i=16 i=17 B)i=16 i=15 C)i=15

29、 i=16 D)i=15 i=1766.在橫線處填上適當?shù)恼Z句 C ,使下面程序執(zhí)行結(jié)果是13,18,23。include<iostream.h>int add(int x,int y=8);void main() ; cout<<add(a)<<"," cout<<add(a,add(a)<<"," cout<<add(a,add(a,add(a)<<endl;int add(int a,int b) int s=a+b; return s;A)int a=3 B)in

30、t b=3 C)int a=5 D)int b=567.在橫線處填上適當?shù)恼Z句A ,使下面的程序的執(zhí)行結(jié)果是19 24 30 37 45。include<iostream.h>int fun(int a) static int x=10; int y=1; x+=a; a+; y+; return(x+y+a);void main() int i=3; while(i<8) ; cout<<endl;A)cout<<fun(i+)<<" " B)cout<<fun(i)<<" "

31、;C)cout<<fun(i+)<<" ," D)cout<<fun(i)<<" ,"68.在C+語言中,局部變量的隱含存儲類型是 D 。A)auto B)static C)extern D)無存儲類型69.下面程序的輸出結(jié)果為 D 。include<iostream.h>int fun(char *s);int main() cout<<fun("hello"); return 0;int fun(char *s) char *t=s; while(*t!=&#

32、39;0') t+; return(t-s);A)語法錯,不能輸出正確結(jié)果 B)0 C)6 D)5第三章一、選擇題1有關(guān)類的說法不正確的是 D 。A)類是一種用戶自定義的數(shù)據(jù)類型.B)只有類中的成員函數(shù)才能存取類中的私有成員.C)在類中,如果不做特別說明,所指的數(shù)據(jù)均為私有類型.D)在類中,如果不做特別說明,所指的成員函數(shù)均為公有類型。2.類A是類B的友元,類B是類C的友元,則_ D _是正確的.A)類B是類A的友元 B)類C是類A的友元C)類A是類C的友元 D)以上都不對3.有下面類的說明,有錯誤的語句是_ A _。 class X A) int a=2;B) X();public:

33、C) X(int val):D) X();4.有關(guān)析構(gòu)函數(shù)的說法不正確的是_ B _。A) 析構(gòu)函數(shù)有且僅有一個B) 析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C) 析構(gòu)函數(shù)的功能是用來釋放一個對象D) 析構(gòu)函數(shù)無任何函數(shù)類型5.已知一個類X, _C_是定義指向類X成員函數(shù)的指針,假設類有3個公有成員: void f1(int), void f2(int)和int a.A)X*P B) int X:*pc=&X:a C) void(X:*pa)() D)X*p106.下列的各類函數(shù)中,_C_不是類的成員函數(shù)A)構(gòu)造函數(shù) B)析構(gòu)函數(shù) C)友元函數(shù) D)拷貝構(gòu)造函數(shù)7.下列定義中,x是一個類, _

34、B_是定義指向?qū)ο髷?shù)組的指針p.A)x *p4 B)x (*p)4 C)(x*)p4 D)x *p8.已知p是一個指向類X數(shù)據(jù)成員m的指針,s是類X的一個對象。如果要給m賦值為3, _ C _是正確的.A)s.p=3 B)s - >p=3 C)s.*p=3 D)*s.p=39.已知f1(int)是類X的公有成員函數(shù),p是指向成員f1()的指針,采用它賦值, _ B _是正確的.A)p=f1 B)p=X:f1 C)p=x:f1 D)p=f1()10.已知類X中的一個成員函數(shù)說明如下:Void Set(x &a);其中,X &a的含義是_ C _.A)指向類X的指針為aB)將

35、a的地址賦給變量SetC)a是類X的對象引用,用來做為Set()的形參D)變量X是a按位相與作為函數(shù)Set()的參數(shù)11.一個類的友元函數(shù)能夠訪問該類的_ D _.A)私有成員 B)保護成員 C)公有成員 D)所有成員12.有關(guān)類和對象的說法不正確的是_ B _.A)對象是類的一個實例B)一個類只能有一個對象C)任何一個對象只能屬于一個具體的類D)類與對象的關(guān)系和數(shù)據(jù)類型和變量的關(guān)系相似13.下列靜態(tài)數(shù)據(jù)成員的特性中,_ D _是錯誤的.A)說明靜態(tài)數(shù)據(jù)成員時前邊要加關(guān)鍵字static來修飾B)靜態(tài)數(shù)據(jù)成員在類體外進行初始化C)引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作

36、用域運算符D)靜態(tài)數(shù)據(jù)成員不是所有對象所共有的14.類模板的使用實際上是類模板實例化成一個具體的_ A _.A)類 B)對象 C)函數(shù) D)模板類15.通常拷貝構(gòu)造函數(shù)的參數(shù)表是_ C _.A)某個對象名 B)某個對象的成員名C)某個對象的引用名 D)某個對象的指針名16.關(guān)于常數(shù)據(jù)成員的說法不正確的是_ D _.A)常數(shù)據(jù)成員的定義形式與一般常量的定義形式相同,只不過常數(shù)據(jù)成員的定義必須出現(xiàn)在類體中.B)常數(shù)據(jù)成員必須進行初始化,并且不能被更新C)常數(shù)據(jù)成員通過構(gòu)造函數(shù)的成員初始化列表進行初始化D)常數(shù)據(jù)成員可以在定義時直接初始化17.已知X類.則當程序執(zhí)行到語句X array3;時,調(diào)用了

37、_D_次構(gòu)造函數(shù).A)0 B)1 C)2 D)318.類模板的模板參數(shù)_ D _.A)只可作為數(shù)據(jù)成員的類型 B)只可作為成員函數(shù)的返回類型C)只可作為成員函數(shù)的參數(shù)類型 D)以上三者皆可19.下列_D_不是構(gòu)造函數(shù)的特征A)構(gòu)造函數(shù)的函數(shù)名與類名相同 B)構(gòu)造函數(shù)可以重載C)構(gòu)造函數(shù)可以設置默認參數(shù) D)構(gòu)造函數(shù)必須指定類型說明20.下列程序中說明的公有成員是_ D _.class Locationint X;public: void init(int initX,int initY);private:int Y;public: int GetX(); int GetY();A)XB)ini

38、t(int initX,int initY)C)GetX(),GetY()D)B)和C)都是21.類定義的內(nèi)容允許被其他對象無限制地存取是_ C _.A)private 部分 B)protected 部分C)public 部分 D)以上都不對22.關(guān)于下面程度段說法正確的是_ A _.class Xprivate: int n;punblic: X(X&);X:X(X&x)n=x.nX obj1,obj2;obj2(obj1);A)語句obj2(obj1);的功能是用對象obj1初始化具有相同類類型的對象obj2B)語句obj2(obj1);的功能是用對象obj2初始化具有相同

39、類類型的對象obj1C) X(X&x)也可以不使用引用參數(shù)而仍然是拷貝構(gòu)造函數(shù)D) X(X&x)不能訪問對象的私有成員23.this指針是C+實現(xiàn)_B_的一種機制.A)抽象 B)封裝 C)繼承 D)重載24下面程序段中是內(nèi)聯(lián)函數(shù)的是_ C _。 chass locationprivate:int x ,y;public:void init(int initx,int inity) x=initx;y=inity;int getx()return x;int gety();inline int location:gety()return y;A) init (int initx,

40、int inity) B) getx(),gety() C) A)和B)都是 D) A)和getx()25關(guān)于對象成員的構(gòu)造函數(shù)的調(diào)用順序,說法正確的是_ C _。A)與它們在成員初始化列表中給出的順序相同B)與析構(gòu)函數(shù)的調(diào)用順序相同C)與它們在類中說明順序相同D)以上說法都不對26類摸板trmplate<class T>classX,其中,友元函數(shù)f()成為該類模板實例化的每個模板類的友元,則其說明應為_ A _.A)friend void f()B)friend void f(X<T>&);C)friend void A:f();D)friend void

41、C<T>:f(X<T>&);27.運算符>*的功能是( A )。A )用來表示指向?qū)ο笾羔槍χ赶蝾惓蓡T指針的操作。B)用來表示對象類成員的操作。C)用來表示指向?qū)ο笾羔槍︻惓蓡T的操作。D)用來表示對象指向類成員指針的操作。28.下列說明中const char * ptr;ptr 應該是 C 。A )指向字符的指針 B)指向字符的常量指針C)指向字符串常量的指針 D)指向字符串的常量指針29.下面關(guān)于友元的描述中,錯誤的是( D )。A) 友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員。B) 一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)。C) 友元可以提高程序的運行效

42、率。D) 類與類之間的友元關(guān)系可以繼承。30一個( C )允許擁護為類定義一種模式,使得類中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)和返回值可以取任意數(shù)據(jù)類型。A) 函數(shù)模板 B)模板函數(shù)C) 類模板 D)模板類31有關(guān)構(gòu)造函數(shù)說法不正確的是( D )A ) 構(gòu)造函數(shù)的名字和類的名字一樣。B) 在創(chuàng)建對象時,系統(tǒng)自動調(diào)用構(gòu)造函數(shù)C) 構(gòu)造函數(shù)無任何函數(shù)類型D) 構(gòu)造函數(shù)有且只有一個32下面對模板的聲明,正確的是( C )A ) template<T> B) template<class T1,T2>C) template<classT1,classT2> D)te

43、mplate<classT1;classT2>33. ( D )是析構(gòu)函數(shù)的特征。A) 析構(gòu)函數(shù)可以有一個或多個參數(shù) B) 析構(gòu)函數(shù)定義只能在類體內(nèi)C) 析構(gòu)函數(shù)名與類名不同 D)一個類中只能定義一個析構(gòu)函數(shù)34下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是( C )A) 構(gòu)造函數(shù)可以設置默認參數(shù)B) 構(gòu)造函數(shù)在說明類變量時自動執(zhí)行C) 構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化D) 構(gòu)造函數(shù)可以重載35. 對于類 A,語句void (A:*P)(void);表明( A )A) P是一個指向類成員函數(shù)的指針 B) P是類A的一個成員C) P是類A的一個對象 D) P是一個指向類對象的指針36運算符d

44、elete刪除一個動態(tài)對象時( C )A) 首先為該動態(tài)對象調(diào)用構(gòu)造函數(shù),再釋放其占用的內(nèi)存B) 首先釋放該動態(tài)對象占用的內(nèi)存,再為其調(diào)用構(gòu)造函數(shù)C) 首先為該動態(tài)對象調(diào)用析構(gòu)函數(shù),再釋放其占用的內(nèi)存D) 首先釋放動態(tài)對象占用的內(nèi)存,再為其調(diào)用析構(gòu)函數(shù)37在類的定義形式中,數(shù)據(jù)成員、成員函數(shù)和( A )組成了類定義體。A) 成員的訪問控制信息 B) 公有消息 C) 私有消息 D)保護消息38對于任意一個類,析構(gòu)函數(shù)的個數(shù)最多為( B )A) 0 B) 1 C) 2 D)339( C )的功能是對對象進行初始化。A) 析構(gòu)函數(shù) B) 數(shù)據(jù)成員 C) 構(gòu)造函數(shù) D)靜態(tài)數(shù)據(jù)成員40友元關(guān)系不能(

45、A )A)繼承 B)是類與類之間是關(guān)系C)是一個類的成員函數(shù)與另一個類的關(guān)系 D)提高程序的運行效率41( A )只能訪問靜態(tài)成員變量,靜態(tài)成員函數(shù)和類以外的函數(shù)和數(shù)據(jù)不能訪問類中的非靜態(tài)成員變量。A) 靜態(tài)函數(shù) B) 虛函數(shù) C)構(gòu)造函數(shù) D)析構(gòu)函數(shù)42下面說法正確的是( B )A) 內(nèi)聯(lián)函數(shù)在運行時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方B) 內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方C) 類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D)類的內(nèi)聯(lián)函數(shù)必須在類體外關(guān)鍵字inline定義43下列關(guān)于成員訪問權(quán)限的描述中,不正確的是( B )A) 公有數(shù)據(jù)成員和公有成員函數(shù)都可以被類對象

46、直接處理B) 類的私有數(shù)據(jù)成員只能被公有成員函數(shù)以及該類的任何友元類或友元函數(shù)訪問C) 保護成員在派生類中可以被訪問,而私有成員不可以D)只有類或派生類的成員函數(shù)和友元類或友元函數(shù)可以訪問保護成員44局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時,可以用( A )提供對全局變量的訪問A) 域運算符 B) 類運算符 C) 重載 D)引用45缺省析構(gòu)函數(shù)的函數(shù)體是( C )不存在 )隨機產(chǎn)生的 )空的 )無法確定的、46在下列關(guān)鍵字中,用以說明類中公有成員的是( A )A) public B) private C) protected D)friend47下面說法中正確的是( B

47、 )A) 一個類只能定義一個構(gòu)造函數(shù),但可以定義多個析構(gòu)函數(shù)B) 一個類只能定義一個析構(gòu)函數(shù),但可以定義多個構(gòu)造函數(shù)C) 構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只要名字前加了一個求反符號()D)構(gòu)造函數(shù)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void類型也不可以48關(guān)于delete 運算符的下列描述中,( C )是錯誤的。A) 它必須用語new返回的指針B) 它也適用于空指針C) 對一個指針可以使用多次該運算符D)指針名前只用一對方括號符,不管所刪除數(shù)組的維數(shù)49關(guān)于成員函數(shù)的特征的下述描述中,錯誤的是( A )A) 成員函數(shù)一定是內(nèi)聯(lián)函數(shù) B) 成員函數(shù)可以重載C) 成員函數(shù)可以設置參數(shù)的

48、默認值 D)成員函數(shù)可以是靜態(tài)的50假定x為一個類,執(zhí)行X a3,*p2;語句時會自動調(diào)用該類的構(gòu)造函數(shù)( B )次A) 2 B) 3 C) 4 D)551由于數(shù)據(jù)隱藏的需要,靜態(tài)數(shù)據(jù)成員通常被說明為( A )A) 私有的 B) 公有的 C) 保護的 D)不可訪問的52假定MyClass為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為( C )A) MyClass(MyClass x) B) MyClass&(MyClass x)C) MyClass(MyClass &x) D)MyClass(MyClass *x)53關(guān)于new運算符的下列描述中,( D )是錯誤的.A) 它可以用

49、來動態(tài)創(chuàng)建對象和對象數(shù)組B) 使用它創(chuàng)建對象或?qū)ο髷?shù)組,可以使用運算符DELETE刪除C) 使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D) 使用它調(diào)用對象數(shù)組時不允許指定初始值54對于常成員函數(shù),下列描述正確的是( C )常成員函數(shù)只能修改常數(shù)據(jù)成員 B)常成員函數(shù)只能修改一般數(shù)據(jù)成員C)常成員函數(shù)不能修改任何數(shù)據(jù)成員 D)_成員函數(shù)只能通過常對象調(diào)用55友元的作用是( A )提高程序是運行效率 B)加強類的封裝性C)實現(xiàn)數(shù)據(jù)的隱藏性 D)增加成員函數(shù)的種類56.一個類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的( D )A) 私有成員 B) 公有成員C) 保護成員 D)公有成員、保護成員和私有成員57下面說法中正確的是( D )A) 當聲明的內(nèi)容不同時,聲明同一個名字的兩個類是允許的B) 不完全聲明的類也可以實例化C) 聲明同一個名字的兩個類時,要求聲明的內(nèi)容也相同D)聲明同一個名字的兩個類是錯誤的58下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是( A )A) 靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)B) 類的每個對象都有自己的靜態(tài)數(shù)據(jù)成員C) 類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值D)靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用59下列關(guān)于對象數(shù)組的描述中,錯誤的是( D )A)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論