2015-春文正復(fù)習(xí)_第1頁
2015-春文正復(fù)習(xí)_第2頁
2015-春文正復(fù)習(xí)_第3頁
2015-春文正復(fù)習(xí)_第4頁
2015-春文正復(fù)習(xí)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2015-春文正面向?qū)ο笈cC+程序設(shè)計復(fù)習(xí)概要一、選擇題1、可用作C+語言用戶標(biāo)識符的一組標(biāo)識符是( B )。A) void define +WORDB) a3_b3 _123 YNC) for -abc CaseD) 2a DO sizeof 2、可用作C+語言用戶標(biāo)識符的一組標(biāo)識符是( C )。A) void define +WORD B) const vector coutC) a3_b3 _123 DEFINED) bool 2a pI 3、下面不合法的C+用戶標(biāo)識符為( C )。A) _12 B) abc_12 C) bool D) a12 4、存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(

2、D )。A) 0 (int類型,4字節(jié)) B) 0 C) “0”(字符串,2字節(jié)) D) 0.0 (double類型,8字節(jié))5、若有以下類型標(biāo)識符定義:int x=2; char w=a; float y=23.45f; double z=45.6712;則表達(dá)式w*x+(int)y-(int)z的結(jié)果類型是( D )A) char B) float C) double D) int 6、程序運(yùn)行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用( D )符號作為分隔符。A) 空格或逗號 B) 逗號或回車 C) 逗號或分號 D) 空格或回車注解:C+數(shù)據(jù)輸入的三種默認(rèn)分隔符:空格,回車,Ta

3、b鍵7、 下列關(guān)于C+標(biāo)識符的命名不合法的是( C)A) Pad B) name_1 C) A#bc D) _a12注解:標(biāo)識符命名規(guī)則:只允許字母、下劃線、數(shù)字,且首字母只能為字母和下劃線8、若有以下類型標(biāo)識符定義int x=2; char w=a; float y=23.45f; double z=45.6712;則表達(dá)式w*x+y-z的結(jié)果類型是(D )(A) float B) char C) int D) double 9、 設(shè)”int a=12;”,則執(zhí)行完語句”a+=a*a;”后,a的值是( C )。A) 12 B)144 C) 156 D) 288注解:等價于: a=a+a*a;

4、 10、若有以下類型標(biāo)識符定義:int x=5; double y=2.0;則表達(dá)式(y+=1, x-=y+1)的結(jié)果是( A )A) 1 B) 5 C) 4 D) 1.0注解:(1) y=3.0,x-=y+1 x=x-(y+1)=1; (2)逗號表達(dá)式,其值是最后一個表達(dá)式的值。11、若有int x=1; 則下面語句的循環(huán)次數(shù)是( D )while(x=1)x-;A) 1 B) 10 C) 0 D) 無窮循環(huán)注解:因為x=1永遠(yuǎn)是真的,區(qū)分x=1和x=1的不同12、假設(shè)在程序中 a、b、c 均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式1/abc的表達(dá)式是( D )。 A) 1.0

5、/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c注解:1/(a*b*c)是整型數(shù)相除,1/a/b/(float)c的開始部分是整型數(shù)相除 13、設(shè)”int a=15,b=26;”,則”couty)z=x; x=y; y=z; A) 10 B) 20 C) 30 D) 015、循環(huán)語句whlie(int i=0 )i-;的循環(huán)次數(shù)是( A )A) 0 B) 1 C) 5 D) 無限注解:int i=0和int i=0的區(qū)別?前者是將i賦值為0,所以永遠(yuǎn)為假的。16、設(shè)x是一個bool型的邏輯量,y的值為10,則表達(dá)式 x & y的值為( C )

6、。 A) 1 B) 0 C) 與x值相同 D) 與x值相反 17、x0 & x=10的相反表達(dá)式為( A )。A) x10 B) x10C) x=0 | x0 & x10 18、x0 | y=5的相反表達(dá)式為( B )。A) x=0 | y!=5 B) x0 | y!=5 D) x0 & y=519、一個函數(shù)無返回值時,應(yīng)選擇的說明符是( C )(A) static B) extern C) void D) 無說明符注解:如果函數(shù)沒有聲明返回值類型,則默認(rèn)為int20、設(shè)x和y均為bool量,則x & y為真的條件是( A )。 A) 它們均為真 B) 其中一個為真 C) 它們均為假 D) 其

7、中一個為假 21、設(shè)x和y均為bool量,則x | y為假的條件是( C )。 A) 它們均為真 B) 其中一個為真 C) 它們均為假 D) 其中一個為假注解:掌握好邏輯與和邏輯或的優(yōu)化方法!Eg: int m=10,n=2,b=4; b=(m-10)&n+; /=b=0 ; n=2;b=(m-10)|n+; b=1; n=3 22、字符串”a+b=12n”的長度為( B )。A) 6 B) 7 C) 8 D) 9注解:(1)轉(zhuǎn)義字符的概念;(2)字符串的長度與字符串在內(nèi)存中占有的字節(jié)數(shù)相差1 23、假定下列x和y均為int型變量,則不正確的賦值為( D )。A) x+=y+ B) x+=y+

8、 C) x=+y D) +x=+y注解:x+=y+; = x = x+y; y+; / ok x+ = y+; = x=y; x+; y+; /ok x=+y; = +y; x=y; / ok +x = +y; = +x; +y; 將y賦值給表達(dá)式+x;表達(dá)式不可以作為左值/ error 24、下列的符號常量定義中,錯誤的定義是( A )。 A) const M=10; B) const int M=20; C) const char ch; D) const bool mark=true;注解:常量的定義格式:const 類型 變量名=值;常量必須在定義時進(jìn)行初始化,因為在程序中,常量的值是

9、不可修改的。25、在語句coutdata中,cout是個( C )A) 類 B) C+操作符 C) 對象 D) 函數(shù)注解:cout是標(biāo)注輸出流對象,cin是標(biāo)注輸入流對象26、以下關(guān)于C+中函數(shù)重載描述錯誤的是:( B )A) 當(dāng)兩個同名全局函數(shù)的參數(shù)個數(shù)不同時,則兩個函數(shù)是重載函數(shù)B) 當(dāng)兩個同名全局函數(shù)的返回值類型不同時,則兩個函數(shù)是重載函數(shù)C) 當(dāng)兩個同名全局函數(shù)的參數(shù)類型不同時,則兩個函數(shù)是重載函數(shù)D) 當(dāng)兩個同名全局函數(shù)的參數(shù)順序不同時,則兩個函數(shù)是重載函數(shù)注解:函數(shù)必須是在同一名字空間內(nèi),或者說同一作用域內(nèi)。也就是說全局函數(shù)與成員函數(shù)不夠成函數(shù)重載。 函數(shù)重載的三個條件:參數(shù)類型不

10、同、或者參數(shù)個數(shù)不同、或者參數(shù)的順序不同27、對重載函數(shù)形參的描述中,錯誤的是( D )A) 參數(shù)的個數(shù)可能不同 B) 參數(shù)的類型可能不同C) 參數(shù)的順序可能不同 D) 參數(shù)的個數(shù)、類型、順序都相同,只是函數(shù)的返回值類型不同28、以下能正確定義數(shù)組并正確賦初值的語句是( )A) int N=5,bNN; / 數(shù)組的長度必須是常量,因為N是變量,所以bNN錯誤B) int a2=1,3,4,5;/初始值超過了數(shù)組的長度,且初始值是按二維數(shù)組給出,errorC) int c2=1,2,3,4; /在給出二維數(shù)組的初始值情況下,二維數(shù)組定義只可以省略第一維的大小。errorD) int d32=1,

11、2,3,4;/ok,前面兩行給出了初始值,最后一行的初始值為029、以下關(guān)于C+中標(biāo)準(zhǔn)輸入輸出流描述正確的是:( D )A)使用標(biāo)準(zhǔn)輸入輸出流時必須包含stdio.h頭文件B)使用標(biāo)準(zhǔn)輸入輸出流時不需要包含任何頭文件C)使用標(biāo)準(zhǔn)輸入輸出流時必須包含std名空間下的iomanip頭文件D)使用標(biāo)準(zhǔn)輸入輸出流時必須包含std名空間下的iostream頭文件注解:stdio.h頭文件是C語言中標(biāo)準(zhǔn)輸入輸出庫函數(shù)頭文件。 std名字空間下的iomanip頭文件是流狀態(tài)格式控制的頭文件 std名字空間下的iostream頭文件是標(biāo)準(zhǔn)輸入輸出頭文件。30、在下面的一維數(shù)組定義中,哪一個有語法錯誤( C )

12、 A) int a=1,2,3; /數(shù)組長度為3 B) int a10=0; /全零的包含10個元素的數(shù)組 C) int a; D) int a5; /包含5個元素的數(shù)組 31、在下面的字符數(shù)組定義中,哪一個有語法錯誤。( D )。 A) char a20=”abcdefg”; B) char a=”x+y=55.”;C) char a15; D) char a10=5;注解:以下幾種方式: char *pstr = “ABC”; / ok char str = “ABC”; / ok char str110 = “ABC”; / ok pstr = str; / ok; pstr = “CD

13、E”; / ok str = “CDE”; /error,數(shù)組名是一個常量地址,不運(yùn)行修改 strcpy(pstr,”DEF”); /error; 因為pstr指向了常量字符串”CDE” strcpy(str,”DEF”); /ok pstr=str1; strcpy(pstr,”DEF”); /ok,因為pstr已經(jīng)指向了字符數(shù)組str1,所以可以進(jìn)行拷貝32、下列給字符數(shù)組進(jìn)行的初始化中,不正確的是( D )A) char s1=abcd; /B) char s23=x,y,0; C) char s3=a,x,y,0; D) char s46=xyz,mnp; /一維字符數(shù)組不可以用兩個字

14、符串進(jìn)行初始化,error注解: s2和s3也夠成字符串。 char s510 = x,y,0,z,r,0;請問s5字符串的長度是多少? 233、在下面的二維數(shù)組定義中,正確的是( C )。 A) int a5; B) int a5; C) int a3=1,3,5,2; D) int a(10);注解:二維數(shù)組定義時,如果給出了初始值,則可以省略第一維的大小,但不可以省略其它維的大小聲明。34、關(guān)于引用與指針描述錯誤的是( C )A) 引用是對象的別名,在定義時必須初始化,并且在程序中不許修改引用使其引起其他對象。B) 指針是地址,在使用之前應(yīng)該初始化,在程序中也可以使其指向其他對象。C)

15、引用和指針是等價的,都有自己的存儲空間D) 引用和指針作為函數(shù)參數(shù)時,實現(xiàn)的傳地址形式。 35、假定一個二維數(shù)組的定義語句為“int a34=3,4,2,8,6;”,則元素a12的值為( C )。A. 2 B. 4 C. 6 D. 836、以下關(guān)于C+中標(biāo)準(zhǔn)輸入輸出流描述正確的是:( C )A) 使用標(biāo)準(zhǔn)輸入輸出流時不需要包含任何頭文件B) 使用標(biāo)準(zhǔn)輸入輸出流時必須包含stdio.h頭文件C) 使用標(biāo)準(zhǔn)輸入輸出流時必須包含std名空間下的iostream頭文件D) 使用標(biāo)準(zhǔn)輸入輸出流時必須包含std名空間下的iomanip頭文件37、下列關(guān)于文件輸入輸出流的敘述中,正確的是:( D )A)使用

16、流輸出符可以實現(xiàn)將數(shù)據(jù)輸出到二進(jìn)制文件中B)用文件輸入或輸出流打開文件時,默認(rèn)的文件打開形式為二進(jìn)制形式C) 將數(shù)據(jù)輸出到二進(jìn)制文件中時,可以控制數(shù)據(jù)在文件中的輸出格式D) 使用流輸出符可以實現(xiàn)將數(shù)據(jù)輸出到文本文件中注解:(1)文件輸入輸出流打開文件時,默認(rèn)的打開形式是文本文件形式 (2)流輸出符只能用于輸出數(shù)據(jù)到文本文件;流輸入符只能用于從文本文件輸入數(shù)據(jù) (3)文本文件中的數(shù)據(jù)是按照ASCII字符編碼存放,可以進(jìn)行格式控制;二進(jìn)制文件的數(shù)據(jù)是按照數(shù)據(jù)的二進(jìn)制形式存放,不可以進(jìn)行格式控制。 (4)C+中,二進(jìn)制文件的讀寫分別使用函數(shù)read()和write()函數(shù),此二函數(shù)都是輸入輸出流的成

17、員函數(shù)。格式: ifstream in(“data.txt”,ios:binary|ios:in); int arry10; in.read(char*)arry, sizeof(int)*10); /從二進(jìn)制文件中讀取10個整型數(shù) ofstream out(“data.txt”, ios:binary|ios:out); out.write(char*)arry,sizeof(int)*10); /寫10個整型數(shù)據(jù)到二進(jìn)制文件中。38. 以下說法中正確的是( B )。 A. C+程序總是從第一個定義的函數(shù)開始執(zhí)行 B. C+程序總是從main函數(shù)開始執(zhí)行 C. C+函數(shù)必須有返回值,否則不能

18、使用函數(shù)D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中注解:任何C+程序和C語言程序都是從main函數(shù)開始運(yùn)行,也在main函數(shù)中結(jié)束運(yùn)行;C+函數(shù)可以沒有返回值,此時返回值類型為void;C+程序中,函數(shù)可以調(diào)用程序中任何文件中的函數(shù),前提是函數(shù)為非靜態(tài)函數(shù),并且已經(jīng)進(jìn)行了擴(kuò)展聲明。39、以下關(guān)于C+中string的描述錯誤的是:( A ) A)要獲取string str對象的字符個數(shù)必須通過語句strlen(str)完成.B)string對象之間可以直接賦值C)string對象可以使用+運(yùn)算符完成兩個對象字符串的連接D)string對象在名字空間std的頭文件中聲明注解:st

19、ring類對象保存的字符個數(shù)由string類的成員函數(shù)length()返回。 strlen(char*)的參數(shù)是一個C字符串,不能是string類對象。 40. 以下敘述中不正確的是( C )。 A. 在一個函數(shù)中,可以有多條return語句 B. 函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套 C. 函數(shù)必須有返回值D. 不同的函數(shù)中可以使用相同名字的變量41、以下關(guān)于C+中string的描述或代碼片段中正確的是:( D ) A)string對象在進(jìn)行比較時必須使用strcmp函數(shù)B)string s1; s12 = a是將s1對象的第2號元素賦值為字母aC)string對象不允許進(jìn)行直接賦值操作

20、D)string s1=”abc”,s2=”xyz”; s2+=s1;注解:關(guān)于string類:(1)string類對象保存的字符個數(shù)由string類的成員函數(shù)length()返回。(2)string類對象可以之間進(jìn)行關(guān)系運(yùn)算,不可以使用strcmp來進(jìn)行比較。(3)string類對象只有在初始化之后,才可以進(jìn)行下標(biāo)操作,例如: string str; str0 = a; / error,因為此時str還沒有分配空間存放字符 string str; str=”abc”; str0 =c; /ok, 因為賦值運(yùn)算會使得str分配空間存放字符串。 string str(“abc”); str1 =

21、 f; / ok,此時str為:afc (4)string類對象進(jìn)行下標(biāo)操作時,特別需要注意下標(biāo)的越界問題。下標(biāo)的范圍只能在0,length()-1之內(nèi)。 (5)string類對象可以進(jìn)行+運(yùn)算,實現(xiàn)兩個對象的拼接42、標(biāo)準(zhǔn)輸出流控制顯示格式的操作中,以下不屬于狀態(tài)機(jī)制的為:( D )A) showpos B) hexC) left D) setw43、cin輸入流在完成多個數(shù)據(jù)的鍵盤輸入操作時,不可以被作為數(shù)據(jù)輸入分隔符的是:( C )A) 1個或多個空格 B) 1個或多個回車符C) 1個或多個逗號 D) 1個或多個水平垂直制表符(TAB)44、下列關(guān)于文件輸入輸出流的敘述中,正確的是:(

22、C )A) 在創(chuàng)建文件輸入或輸出流的過程中,默認(rèn)的文件打開形式為二進(jìn)制形式B) 如果需要將一個int型數(shù)據(jù)輸出到二進(jìn)制文件流中去,可以使用流輸出符來完成相應(yīng)操作C) 如果需要將一個int型數(shù)據(jù)輸出到文本文件流中去,可以使用s); /這里是一個無窮循環(huán)couts;如從鍵盤上輸入:Hello, how are you?則正確的顯示結(jié)果為:( D )A)Hello, how are you?B)you?C) Hello,D)顯示結(jié)果不確定51、以下關(guān)于C+中string的描述或代碼片段中正確的是:( A ) A)string s1=”abc”,s2=”xyz”; s2+=s1;B)string對象在

23、創(chuàng)建時必須提供初始值 / 可以不提供初始值C)string對象不允許進(jìn)行直接賦值操作 / 可以直接進(jìn)行賦值操作,因為string重載了賦值運(yùn)算符D)string對象在進(jìn)行比較時必須使用strcmp函數(shù) / 可以直接進(jìn)行比較運(yùn)算,因為string重載了關(guān)系運(yùn)算符52、下面能正確定義字符串的是:( C )A) char str3 = “abc”; B) char str=a,b,cC) char str=a,b,0 D) char str2= a,b,0解析:A) 數(shù)組越界B) 沒有字符串結(jié)束標(biāo)記C) 構(gòu)造一個包含2個字符的字符串,字符數(shù)組的長度是3個字節(jié)D) 數(shù)組越界53、關(guān)于引用與指針描述正確

24、的是( )A) 引用是對象的別名,在定義時必須初始化,并且在程序中不許修改引用使其引起其他對象。B) 指針是地址,在定義時必須初始化,在程序中也不可以使其指向其他對象。C) 引用和指針是等價的,都有自己的存儲空間D) 引用作為函數(shù)參數(shù)時,實現(xiàn)的是傳值形式,指針作為函數(shù)參數(shù)時,實現(xiàn)的傳地址形式。解析:1) 引用是對象的別名,沒有自己的存儲空間,在定義必須指定其引用目標(biāo),在程序運(yùn)行中,不可以改變其引用對象,使其引用其他對象。2) 對引用的改變,實際就是對引用對象的值的改變。3) 指針是地址,有其自己的存儲空間,指針是一種變量,可以改變其值,使其指向其他對象。4) 特例:指針常量:int * con

25、st p=&a; 定義了一個指針常量p,在定義時必須初始化其指向,在程序運(yùn)行過程中不允許改變其指向,但可以改變其指向?qū)ο蟮闹怠?) 常量指針:const int *p; or int const* p; 表示p指向一個常量,但并不是說p所指向的對象是真正的常量。Eg: int a;const int* p = &a; / oka = 5; / ok*p = 5; / error,因為通過p所看到的對象是常量,不允許作為左值進(jìn)行賦值。const int b=4; / 常量在定義必須初始化。const int *p1 = &b; / okint *p2 = &b; / error; 因為p2所看到

26、的對象是一個普通變量,違背了b本身是常量的原則。 注意:不允許使用普通指針指向常量對象。6) 引用和指針作為函數(shù)參數(shù)時,都實現(xiàn)的是傳地址形式。54、對重載函數(shù)形參的描述中,正確的是( C )A) 全局函數(shù)與類的成員函數(shù)可以構(gòu)成重載函數(shù)B) 兩個函數(shù)的參數(shù)類型不同就構(gòu)成重載函數(shù)C) 兩個同名全局函數(shù)的參數(shù)順序不同構(gòu)成重載函數(shù)D) 只有類的成員函數(shù)之間可以構(gòu)成重載函數(shù)解析:1) 函數(shù)重載是對于相同作用域的函數(shù)而言2) 函數(shù)重載的條件:參數(shù)類型不同,or 參數(shù)順序不同 or 參數(shù)個數(shù)不同。3) 全局函數(shù)與類的成員函數(shù)不屬于同一作用域,所以不可能構(gòu)造重載函數(shù)55、關(guān)于友元函數(shù)的描述中,錯誤的是:( )

27、A) 友元函數(shù)不是成員函數(shù)B) 友元函數(shù)只能訪問類中私有成員C) 友元函數(shù)破壞隱藏性,盡量少用D) 友元函數(shù)說明在類體內(nèi),使用關(guān)鍵字friend解析:1) 友元函數(shù)不是類的成員函數(shù),友元的聲明只是說明了函數(shù)與類的關(guān)系。2) 友元函數(shù)具有訪問類的所有成員的權(quán)限,也就是可以訪問類的私有成員。3) 友元函數(shù)是以破壞類的封裝性來獲得數(shù)據(jù)訪問的方便性,所以應(yīng)該盡量少用。4) 友元的聲明使用關(guān)鍵詞:friend5) 友元類和友元函數(shù)一樣,也只是聲明了兩個類之間的關(guān)系,并不表示一個類是另外一個類的成員。Eg: class A; class B friend class A; / 表示A是B的友元;功能:A的

28、所有成員函數(shù)都可以直接訪問B的所有成員(屬性成員和成員函數(shù))6) 友元不具有傳遞性:A是B的友元,B是C的友元,但A不是C的友元。7) A是B的友元,B也可以是A 的友元。56、以下代碼片段錯誤的是:( )A)char *s; s=”O(jiān)K”;B)char s20=”O(jiān)K”;C)string s; s=”O(jiān)K”;D)char *s; strcpy(s,”O(jiān)K”);解析:A) ok; B) ok; C) ok; D) error; 因為s沒有初始化。指針在使用之前必須被初始化57、函數(shù)聲明語句正確的是:( B )A) int f(int a,b);B)int f(int,int);C)int f(

29、int; int);D)int f(5); 解析:A) 第二個形參沒有類型 B) ok; C) 兩個形成之間只能用逗號分隔,不能用其它符號 D) 形參不允許使用字面常量58、以下正確的向量定義形式為:( A )A)vector a; B)vector a10;C)vector a(10); D)vector a10;解析:A) ok;B) 不允許定義向量數(shù)組,因為向量的大小是不確定,而數(shù)組的大小必須是確定的,所以不運(yùn)行定義向量數(shù)組C) 沒有指定向量的類型D) 也是沒有指定向量的類型,同時也不應(yīng)該定義向量數(shù)組59、下面關(guān)于new和delete運(yùn)算的敘述中,錯誤的說法是:( C )A)new操作符

30、可以用于分配一個對象,例如:int *p=new int;B)new操作符可以用于分配一個對象數(shù)組,例如: int *p=new int10;C)函數(shù)中,由new運(yùn)算符分配的內(nèi)存空間,當(dāng)函數(shù)執(zhí)行結(jié)束時系統(tǒng)會自動收回D)對于程序中,靜態(tài)數(shù)組占用的存儲空間不能使用delete釋放解析: 1)C+中new是用于動態(tài)內(nèi)存分配的一個操作符,其分配的內(nèi)存必須使用delete進(jìn)行釋放。 2)new操作符可以分配一個對象,也可以分配一個對象數(shù)組,但其方法的方法不同。Eg: 分配一個對象:int *p=new int; 釋放一個對象: delete p;分配一個對象數(shù)組:int *p1 = new int10;

31、 釋放一個對象數(shù)組:delete p1; 3) 向量也可以達(dá)到動態(tài)內(nèi)存分配的功能,并且不需要程序設(shè)計人員對內(nèi)存進(jìn)行管理。60、有以下變量定義語句:int a, b; const int c=3;const int *ap = &a;則以下語句中錯誤的為:( C )A)ap=&b;B)a=3; C)*ap=3; D)ap=&c;61、如果有以下向量定義語句:vector a(10,2), b(10,3);下列關(guān)于關(guān)系運(yùn)算表達(dá)式a = = b操作描述正確的是:( C )A)兩個向量不允許進(jìn)行是否相等的關(guān)系運(yùn)算B)兩個向量在進(jìn)行是否相等運(yùn)算時,僅僅是比較向量的實際元素個數(shù),因此上述表示式運(yùn)算結(jié)果為t

32、rueC)兩個向量在進(jìn)行是否相等運(yùn)算時,是比較向量數(shù)據(jù)類型、實際元素個數(shù)以及各元素值是否相等(同),因此上述表示式運(yùn)算結(jié)果為falseD)兩個向量在進(jìn)行是否相等運(yùn)算時,是比較向量的名字是否相同,因此上述表示式運(yùn)算結(jié)果為false62、關(guān)于常成員的描述中,錯誤的是( B )A)常成員包含常數(shù)據(jù)成員和常成員函數(shù)兩種B)常數(shù)據(jù)成員必須是公有的C)常數(shù)據(jù)成員要使用構(gòu)造函數(shù)成員初始化列表進(jìn)行初始化D)常對象只能調(diào)用它的常成員函數(shù),不能調(diào)用其它的成員函數(shù)解析:1)常成員可以是常數(shù)據(jù)成員,也可以是常成員函數(shù) 2)常數(shù)據(jù)成員特點:在對象的使用中不允許修改的成員,必須使用冒號法進(jìn)行初始化,也就是成員初始化列表進(jìn)

33、行初始化。 3)常成員函數(shù)特點:函數(shù)中不允許修改所綁定對象的屬性值,在函數(shù)中不允許調(diào)用非常成員函數(shù)。 4)常數(shù)據(jù)成員和常成員函數(shù)可以聲明為任意訪問權(quán)限的成員。63、假設(shè)a,b是全局變量,下面設(shè)置函數(shù)參數(shù)默認(rèn)值的函數(shù)原型中,正確的是:( B )A)int fun(int x=8,int y=a+b);B)int fun(int x=5,int y=10);C)int fun(int x=5,int y);D)int fun(int x,int y=a+b);解析:1) 函數(shù)參數(shù)的默認(rèn)值必須是從右向左給出 2) 帶默認(rèn)參數(shù)值的函數(shù)調(diào)用時,實參是從左向右與形參進(jìn)行匹配 3) 參數(shù)默認(rèn)值必須是常量,可

34、以是字面常量、常量對象、常量表達(dá)式等64、C+中函數(shù)返回值的類型是由( B )決定的。 A. return語句中表達(dá)式的類型 B.該函數(shù)定義時的類型C.調(diào)用函數(shù)時的調(diào)用語句 D.系統(tǒng)根據(jù)結(jié)果解析: Eg: int fun()double a=1.10; return a; / 函數(shù)的返回值類型與a沒有關(guān)系,仍然是int類型。65、有以下代碼,string s;getline(cin, s); couts;cin的輸入是以空格、回車換行、TAB鍵為結(jié)束標(biāo)記。 3)上題中如果getline(cin,s)換成cinS;則輸出結(jié)果是:how. 66、以下關(guān)于C+中string的描述正確的是:( C )

35、 A)要獲取string str對象的字符個數(shù)必須通過語句strlen(str)完成./str.length()獲取字符個數(shù)B)string對象創(chuàng)建后其存放的字符個數(shù)是固定不變的。C)string對象可以使用+運(yùn)算符完成兩個對象字符串的連接D)string對象在進(jìn)行比較時必須使用strcmp函數(shù)67、下面函數(shù)只能訪問靜態(tài)數(shù)據(jù)成員的函數(shù)是( C )A) 析構(gòu)函數(shù) B) 普通成員函數(shù) C) 靜態(tài)成員函數(shù) D) 構(gòu)造函數(shù)解析: 1)類的所有函數(shù)都可以訪問靜態(tài)數(shù)據(jù)成員。 2)類的靜態(tài)成員函數(shù)只能訪問靜態(tài)數(shù)據(jù)成員,因為靜態(tài)成員函數(shù)不需要綁定對象來運(yùn)行,是通過類來運(yùn)行,所以靜態(tài)成員函數(shù)的運(yùn)行時,不可能去訪

36、問對象的屬性成員。也就靜態(tài)成員函數(shù)不允許訪問非靜態(tài)數(shù)據(jù)成員。68、函數(shù)聲明語句正確的是:( B )A) int f(int a,b); B)int f(int,int); C)int f(int; int); D)int f(5);69、已有定義“int a=5,&ra=a;”則下敘述中,錯誤的說法是:( C )A)ra是變量a的引用; B)ra的值為5;C)ra是a的地址值; D)執(zhí)行“ra=10;”后變量a的值也變?yōu)?0;70、對重載函數(shù)形參的描述中,錯誤的是( D )A) 兩個函數(shù)的參數(shù)個數(shù)可能不同B) 兩個函數(shù)的參數(shù)類型可能不同C) 兩個函數(shù)的參數(shù)順序可能不同D) 兩個函數(shù)的參數(shù)個數(shù)、

37、類型、順序都必須不同71、下列對引用描述錯誤的是( C )A) 對引用的賦值就是對其引用對象的賦值B) 引用作為函數(shù)參數(shù)時是傳地址形式C) 在程序運(yùn)行過程中,可以改變引用使其引用不同對象。D) 程序中不為引用分配存儲空間,引用是其引用對象的別名72下面關(guān)于new和delete運(yùn)算的敘述中,錯誤的說法是:( C )A)由new分配的內(nèi)存空間是連續(xù)的;B)如果當(dāng)前內(nèi)存無足夠的空間可分配,則new運(yùn)算符返回NULLC)由new運(yùn)算符分配的內(nèi)存空間,當(dāng)函數(shù)執(zhí)行結(jié)束時系統(tǒng)會自動收回D)對于程序中的靜態(tài)數(shù)組占用的存儲空間不能使用delete來釋放; 解析:靜態(tài)數(shù)組:int a10; 73、假設(shè)a,b是全局

38、變量,下面設(shè)置函數(shù)參數(shù)默認(rèn)值的函數(shù)原型中,錯誤的是:( C,D )A)int fun(int x,int y=10);B)int fun(int x=5,int y=10);C)int fun(int x=5,int y);D)int fun(int x,int y=a+b);74、關(guān)于靜態(tài)成員的描述中,錯誤的是( C )A)靜態(tài)成員是類的所有對象共有的成員B)靜態(tài)成員可以是公有成員C)靜態(tài)成員只能通過類名來引用D)靜態(tài)成員可以通過類名來引用,也可以通過對象來引用75、通常的拷貝構(gòu)造函數(shù)的參數(shù)是( C )A) 某個對象名 B) 某個對象的成員名C) 某個對象的引用 D) 某個對象的指針解析:1

39、)拷貝構(gòu)造函數(shù)的參數(shù)傳遞必須使用傳地址形式,否則會形成無窮函數(shù)調(diào)用。 2)拷貝構(gòu)造函數(shù)是用一個對象來初始化另外一個對象,其參數(shù)必須是對象的引用。76、關(guān)于運(yùn)算符重載的描述正確的是:( D)A) 運(yùn)算符重載函數(shù)必須是成員函數(shù) B) 運(yùn)算符重載函數(shù)必須是友元函數(shù) C) 運(yùn)算符重載函數(shù)必須是普通函數(shù) D) 運(yùn)算符重載函數(shù)可以是成員函數(shù)、友元函數(shù)和普通函數(shù) 解析:1)有四個運(yùn)算符只能重載為成員函數(shù):賦值運(yùn)算符:=; 下標(biāo)運(yùn)算符:; 調(diào)用運(yùn)算符: (); 指向運(yùn)算符: - 2)輸入輸出運(yùn)算符只能重載為友元函數(shù) 3)其他運(yùn)算符可以重載為成員函數(shù)、友元函數(shù)和普通函數(shù)。77、下面關(guān)于友元的描述正確的是( D

40、)A) 類的友元函數(shù)不可以訪問類的私有成員B) 類的友元函數(shù)只可以訪問類的公有成員C) 類的友元函數(shù)不可以訪問類的保護(hù)成員D) 類的友元函數(shù)可以訪問類的私有成員、保護(hù)成員和公有成員78、下面函數(shù)只能訪問靜態(tài)數(shù)據(jù)成員的函數(shù)是( A )A) 靜態(tài)成員函數(shù) B) 普通成員函數(shù) C) 虛函數(shù) D) 構(gòu)造函數(shù)79、 為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇( A )。 A. 內(nèi)聯(lián)函數(shù) B.重載函數(shù) C.遞歸函數(shù) D. 成員函數(shù) 80. 函數(shù)原型語句正確的是( B )。 A) int Function(void a); B) void Function (int); C) int

41、 Function(a); D) void int(double a); /函數(shù)名使用了關(guān)鍵詞81、關(guān)于輸出運(yùn)算符重載函數(shù)的描述正確的是( B )A) 只能重載為成員函數(shù)B) 只能重載為友元函數(shù)C) 只能重載為普通函數(shù)D) 其中一個參數(shù)只能是類對象82、關(guān)于構(gòu)造函數(shù)描述正確的是( C )A) 構(gòu)造函數(shù)不可以重載B) 構(gòu)造函數(shù)可以在程序中顯示調(diào)用C) 構(gòu)造函數(shù)名必須是類名D) 構(gòu)造函數(shù)可以有返回值解析:1)構(gòu)造函數(shù)名必須是類名 2)構(gòu)造函數(shù)不可以顯示調(diào)用 3)構(gòu)造函數(shù)不可以有返回值 4)構(gòu)造函數(shù)可以重載83、關(guān)于構(gòu)造函數(shù)描述錯誤的是( B )A) 構(gòu)造函數(shù)可以重載B) 構(gòu)造函數(shù)可以在程序中顯示調(diào)

42、用C) 構(gòu)造函數(shù)名必須是類名D) 構(gòu)造函數(shù)不可以有返回值84、關(guān)于類的訪問權(quán)限描述錯誤的是( D )A) private域成員只可以被類成員訪問B) protected域成員只可以被類及其派生類成員訪問C) public域成員可以外部函數(shù)或其他類成員方法D) 如果不說明類成員的訪問權(quán)限,默認(rèn)為public訪問權(quán)限/默認(rèn)為private權(quán)限85、若數(shù)組名作實參而指針變量作形參,函數(shù)調(diào)用時實參傳給形參的是(D )A) 數(shù)組的長度B) 數(shù)組第一個元素的值C) 數(shù)組所有元素的值D) 數(shù)組第一個元素的地址解析: 數(shù)組名表示的是數(shù)組的首地址,而且是一個常量地址,所以數(shù)組名作為實參傳遞的是數(shù)組的首地址,而數(shù)

43、組首地址就是數(shù)組第一個元素的地址。86、能夠釋放對象所占資源的是 ( A)A)析構(gòu)函數(shù) B)數(shù)據(jù)成員 C)構(gòu)造函數(shù) D)靜態(tài)成員函數(shù)87、函數(shù)調(diào)用func(exp1,exp2),(exp3,exp4,exp5)中所含實參的個數(shù)為( B )個。 A)1 B)2 C)4 D)588、 以下正確的說法是( B )。 A) 用戶調(diào)用標(biāo)準(zhǔn)庫函數(shù)前,必須重新定義 B) 用戶可以重新定義標(biāo)準(zhǔn)庫函數(shù),若如此,該函數(shù)將失去原有含義 C) 系統(tǒng)不允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù) D) 用戶調(diào)用標(biāo)準(zhǔn)庫函數(shù)前,不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中89、函數(shù)調(diào)用不可以( D )。 A) 出現(xiàn)在一個表達(dá)式中 B) 出現(xiàn)在執(zhí)行語句中C) 作為一個函數(shù)的實參 D) 作為一個函數(shù)的形參解析:函數(shù)調(diào)用能夠返回一個實際對象,所以不能作為函數(shù)的形成。90、假定AB為一個類,則( B )為該類的拷貝構(gòu)造函數(shù)的原型說明。A) AB(AB x); B) AB(AB& x); C) void AB(AB& x

溫馨提示

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

評論

0/150

提交評論