【正文】
1 本科 《 C++語(yǔ)言程序設(shè)計(jì)》期末復(fù)習(xí)模擬訓(xùn)練題 一、單選題 1.在每個(gè) C++程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為( A)。 A. main B. MAIN C. name D. function 2.設(shè) x和 y均為 bool 量,則 x amp。amp。 y為真的條件是( D)。 A. 其中一個(gè)為假 B. 其中一個(gè)為真 C. 它們均為假 D. 它們均為真 3. 邏輯表達(dá)式 x0 || y==5 的相反表達(dá)式為( B)。 A. x=0 || y!=5 B. x=0 amp。amp。 y!=5 C. x0 || y!=5 D. x0 amp。amp。 y==5 4. 假定 p是一個(gè)指向 float 型數(shù)據(jù)的指針,則 p+1 所指數(shù)據(jù)的地址比 p所指數(shù)據(jù)的地址大( C)個(gè)字節(jié)。 A. 1 B. 2 C. 4 D. 8 5. 枚舉類型中的每個(gè)枚舉常量的值都是一個(gè)( A)。 A. 整數(shù) B. 浮點(diǎn)數(shù) C. 字符 D. 邏輯值 6. 循環(huán)體至少被執(zhí)行一次的語(yǔ)句為( C)語(yǔ)句 。 A. for 循環(huán) B. while 循環(huán) C. do 循環(huán) D. 任一種循環(huán) 7. 在下面的字符數(shù)組定義中,( D)語(yǔ)句有語(yǔ)法錯(cuò)誤。 A. char a[20]=”abcdefg”。 B. char a[]=”x+y=55.”。 C. char a[15]={?1?,?2?}。 D. char a[10]=?5?。 8. 若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( A)。 A. 數(shù)組的首地址 B. 數(shù)組中第一 個(gè)元素的值 C. 數(shù)組全部元素的值 D. 數(shù)組元素的個(gè)數(shù) 9.假定 AB 為一個(gè)類,則執(zhí)行 “AB a(4), b[5], *p[2]。”語(yǔ)句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( A)。 A. 6 B. 7 C. 9 D. 11 10.當(dāng)使用 fstream 流類定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤(pán)文件時(shí),文件的隱含打開(kāi)方式為( D)。 A. ios::in B. ios::out C. ios::in | ios::out D. 沒(méi)有 11. 枚舉類型中的每個(gè)枚舉常量的值都是一個(gè)( A)值。 A. 整數(shù) B. 浮點(diǎn)數(shù) C. 字符 D. 邏輯 12.設(shè) x和 y均為 bool量,則邏輯表達(dá)式 x || y為假的條件是( C)。 A. 它們均為真 B. 其中一個(gè)為真 C. 它們均為假 D. 其中一個(gè)為假 13. 聲明或定義一個(gè)內(nèi)聯(lián)函數(shù)時(shí),必須在函數(shù)開(kāi)始使用保留字( D)。 A. static B. const C. extern D. inline 14. 在下面的函數(shù)聲明中,存在著語(yǔ)法錯(cuò)誤的是( D)。 A. BC(int a, int)。 B. BC(int, int)。 C. BC(int, int=5)。 D. BC(int x。 int y)。 15. 假定 a 為一個(gè)整型數(shù)組名,則元素 a[4]與( C)的表示等價(jià)。 A. a+4 B. *a+4 C. *(a+4) D. *(a+16) 16. 下面循環(huán)語(yǔ)句執(zhí)行結(jié)束后輸出的 i值為 ( B)的值。 for(int i=0。 in。 i++) if(in/2) {coutiendl。 break。} A. n/2 B. n/2+1 C. n1 D. n 17. 將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用( C)函數(shù)。 A. strlen() B. strcpy() C. strcat() D. strcmp() 18. 預(yù)處理命令在程序中都是以 (B)字符開(kāi)頭的。 A. * B. C. amp。 D. @ 19. 假定有定義 “struct BOOK{char title[40]。 float price。}。”,則不正確的變量定義語(yǔ)句為( D)。 A. BOOK x。 B. BOOK x={C++ Programming,}。 C. BOOK *x=new BOOK。 D. BOOK x=new BOOK。 20. 假定 AB 為一個(gè)類, px 為指向該類動(dòng)態(tài)對(duì)象數(shù)組的指針,該數(shù)組長(zhǎng)度為 n,則執(zhí)行 “delete []px?!闭Z(yǔ)句時(shí),自動(dòng)調(diào)用該類析構(gòu)函數(shù)的次數(shù)為( B)。 A. 1 B. n C. n1 D. n+1 21. 由 C++源程序文件編譯而成的目標(biāo)文件的缺省擴(kuò)展名為( A)。 A. obj B. lik C. exe D. cpp 22. 程序運(yùn)行中需要從鍵盤(pán)上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用 (D)符號(hào)作為分隔符。 A. 空格或逗號(hào) B. 逗號(hào)或回車 C. 逗號(hào)或分號(hào) D. 空格或回車 23. 設(shè) x是一個(gè) bool 型的邏輯量, y的值為 10,則表達(dá)式 x amp。amp。 y的值為( C)。 A. 1 B. 0 C. 與 x值相同 D. 與 x值相反 24. for 語(yǔ)句能夠被改寫(xiě)為( D)語(yǔ)句。 A. 復(fù)合 B. if C. switch D. while 25. 在下面的 do 循環(huán)語(yǔ)句中,其循環(huán)體被執(zhí)行的次數(shù)為( A)。 int i=0。 do i++。 while(i*i10)。 A. 4 B. 3 C. 5 D. 2 26. 在下面的一維數(shù)組定義中,( C)語(yǔ)句有語(yǔ)法錯(cuò)誤。 A. int a[]={1,2,3}。 B. int a[10]={0}。 C. int a[]。 D. int a[5]。 27. 下面的( C)保留字不能作為函數(shù)的返回類型。 A. void B. int C. new D. long 28. 下面的函數(shù)聲明中, (B)是 “void BC(int a, int b)?!钡闹剌d函數(shù)。 A. int BC(int x, int y)。 B. void BC(int a, char b)。 C. float BC(int a, int b, int c=0)。 D. int BC(int a, int b=0)。 29. 當(dāng)類中一個(gè)字符指針成員指向具有 n 個(gè)字節(jié)的存儲(chǔ)空間時(shí),它所能存儲(chǔ)字符串的最大長(zhǎng)度為( C)。 A. n B. n+1 C. n1 D. n2 30. 假定 AB 為一個(gè)類,則該類的拷貝構(gòu)造函數(shù)的聲明語(yǔ)句為( D)。 A. ABamp。(AB x)。 B. AB(AB x)。 C. AB(AB* x)。 D. AB(ABamp。)。 31. C++程序的基本功能模塊為( D)。 A. 表達(dá)式 B. 標(biāo)識(shí)符 C. 語(yǔ)句 D. 函數(shù) 32. 存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最多的是( A)。 A. 0 B. ?0? C. ”0” D. ?\n? 33. 在下面的一維數(shù)組定義中,有語(yǔ)法錯(cuò)誤的是( C)。 A. int a[]={1,2,3}。 B. int a[10]={0}。 C. int a[]。 D. int a[5]。 34. 在下面的語(yǔ)句或語(yǔ)句組中,( B)不正確。 A. int a[5]。 B. int M=10。 int a[M]。 C. int a[]={1,5,10,45}。 D. const int N=12。 int a[N]。 35. C++語(yǔ)言中的每條簡(jiǎn)單語(yǔ)句以 (B)作為 結(jié)束符。 A. 逗號(hào) B. 分號(hào) C. 空格 D. 換行符 36. 含隨機(jī)函數(shù)的表達(dá)式 rand()%20 的值在 (C)區(qū)間內(nèi)。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 37. 當(dāng)處理一個(gè)特定的問(wèn)題時(shí),若循環(huán)次數(shù)已知,則通常采 2 用( A)來(lái)解決。 A. for 循環(huán) B. while 循環(huán) C. do 循環(huán) D. switch語(yǔ)句 38. 在下面循環(huán)語(yǔ)句中內(nèi)層循環(huán)體 S 語(yǔ)句的執(zhí)行總 次數(shù)為( D)。 for(int i=0。 in。 i++) for(int j=i。 jn。 j++) S。 A. n2 B.(n+1)/2 C. n(n1)/2 D. n(n+1)/2 39. 若函數(shù)聲明為 double* function(), 則該函數(shù)的返回值為( B)。 A. 實(shí)數(shù)型 B. 實(shí)數(shù)指針型 C. 函數(shù)指針型 D. 數(shù)組型 40. 假定變量 m 定義為 “int m=7。”,則定義變量 p的正確語(yǔ)句為( B)。 A. int p=amp。m。 B. int *p=amp。m。 C. int amp。p=*m。 D. int *p=m。 二 、填空題 1. C++語(yǔ)言中的每條基本語(yǔ)句以 。 作為結(jié)束符,每條復(fù)合語(yǔ)句以 } 作為結(jié)束符。 2.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對(duì)象是 cout ,用于從鍵盤(pán)上為變量輸入值的標(biāo)準(zhǔn)入流對(duì)象是 cin 。 3.當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)把該函數(shù)類型定義為 void 。 4.執(zhí)行 “cout143?+?18?=?143+18endl; ”語(yǔ)句后得 到的輸出結(jié)果為 143+18=161 。 5.執(zhí)行 “cout“ning”“chen”38endl; ”語(yǔ)句后得到的輸出結(jié)果為 ningchen 38。 6.在每個(gè) C++程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為 main 。 7. C++源程序文件的缺省擴(kuò)展名為 .cpp ,由 C++源程序文件編譯而成的目標(biāo)文件的缺省擴(kuò)展名為 .obj ,由 C++目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為 .exe 。 8.程序運(yùn)行中需要從鍵盤(pán)上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用 空格 或 , 符號(hào)作為分 隔符。 9.十進(jìn)制數(shù) 25 表示成符號(hào) C++語(yǔ)言規(guī)則的八進(jìn)制和十六進(jìn)制數(shù)分別為 031和 0x19 符號(hào)。 10.在 C++語(yǔ)言中,用轉(zhuǎn)義字符序列 ’\n’ 或 ’\12’ 或 ’\x0a’ 或操縱符 endl 表示輸出一個(gè)換行符。 11.執(zhí)行 “coutchar( ?b?+2) endl; ”語(yǔ)句后得到的輸出結(jié)果為 d 。 12.執(zhí)行 “coutchar( ?K?3) endl; ”語(yǔ)句后得到的輸出結(jié)果為 H 。 13.已知 ?A?~?Z?的 ASCII碼為 65~90,當(dāng)執(zhí)行 “int x=?H?+5; ”語(yǔ)句后 x的值為 77 。 14.已知 ?A?~?Z?的 ASCII 碼為 65~90,當(dāng)執(zhí)行 “char ch=16*5+2; coutchendl;語(yǔ)句序列后,得到的輸出結(jié)果為 R 。 15.假定一個(gè)枚舉類型的定義為 “enum RA{xa,xb,xc,xd}; ”,則執(zhí)行 “cout”xc=”xcendl; ”語(yǔ)句得到的輸出結(jié)果為 xc=2 。 16 .假定一個(gè)枚舉類型的定義為 “enum RB{ab,ac=3,ad,ae}x=ad; ”則 x的值為 4 。 17. Char、 short 和 int 類型的大小分別為 1B 、 2B 和 4B 。 18. float 和 double類型的大小分別為 4B 和 8B 。 19.十進(jìn)制數(shù) 128 和 int 和 double 。 20.若需要定義一個(gè)標(biāo)識(shí)符常量,并且使 C++能夠進(jìn)行類型檢查,則應(yīng)在定義語(yǔ)句的開(kāi)始用保留字 con