C++常見選擇填空習(xí)題集.doc
《C++常見選擇填空習(xí)題集.doc》由會員分享,可在線閱讀,更多相關(guān)《C++常見選擇填空習(xí)題集.doc(175頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第一章 概述 一、選擇題 1. 關(guān)于C+與C語言的關(guān)系描述中,錯(cuò)誤的是( ) A. C語言與C+是兼容的 B. C語言是C+的一個(gè)子集 C. C+和C語言都是面向?qū)ο蟮?D. C+對C語言進(jìn)行了一些改進(jìn) 2. 不可以作為C+用戶標(biāo)識符的是( ) A. Printf B. _123 C. While D. case 3. 由C+目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為( ) A. cpp B. obj C. lib D. exe 4. 關(guān)于C和C+的描述中,正確的是( ) A. C是面向過程,C+是純面向?qū)ο?B. C+是C的超集 C. C+是對C的錯(cuò)誤的修改 D. C+和C沒有關(guān)系 5. C
2、+對C作了很多改進(jìn),從面向過程成為面向?qū)ο蟮闹饕蚴牵?) A. 增加了一些新的運(yùn)算符 B. 允許函數(shù)重載,并允許設(shè)置參數(shù)默認(rèn)值 C. 規(guī)定函數(shù)必須用原型 D. 引進(jìn)了類和對象的概念 6. 將高級語言編寫的源程序翻譯成目標(biāo)程序的是( ) A. 解釋程序 B. 編譯程序 C. 匯編程序 D. 調(diào)試程序 7. C+語言是從早期的C語言逐漸發(fā)展演變而來的,與C語言相比,它在求解問題方法上進(jìn)行的最大改進(jìn)是( ) A. 面向過程 B. 面向?qū)ο?C. 安全性 D. 復(fù)用性 8. C+語言支持過程程序設(shè)計(jì)方法和( )設(shè)計(jì)方法。 A. 面向?qū)ο?B. 面向函數(shù) C. 面向用戶 D. 面向問題 9. 關(guān)于C
3、+和C的關(guān)系中,使C發(fā)生了質(zhì)的變化,即從面向過程變成為面向?qū)ο蟮氖牵?) A. 增加了新的運(yùn)算符 B. 允許函數(shù)重載,并允許缺省參數(shù) C. 規(guī)定函數(shù)有原型 D. 引進(jìn)了類和對象的概念 10. C+語言最有意義的方面是支持( ) A. 面向事件 B. 面向程序 C. 面向?qū)ο?D. 面向用戶 11.下列說法中,正確的是( ) A. C+程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行 B. C+程序總是從主函數(shù)開始執(zhí)行 C. C+函數(shù)必須有返回值,否則不能調(diào)用此函數(shù) D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中 12. 下列描述中,正確的是( ) A. 程序就是軟件 B. 軟件開發(fā)不受計(jì)算機(jī)
4、系統(tǒng)的限制 C. 軟件既是邏輯實(shí)體,又是物理實(shí)體 D. 軟件就是程序、數(shù)據(jù)與相關(guān)文檔的集合 13. 為了使模塊盡可能獨(dú)立,要求( ) A. 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng) B. 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱 C. 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱 D. 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng) 14. 下列說法中正確的是( ) A. 數(shù)據(jù)流圖詳細(xì)描述了系統(tǒng)中對象數(shù)據(jù)是如何計(jì)算的 B. 數(shù)據(jù)流圖詳細(xì)描述了操作和約束的含義 C. 數(shù)據(jù)流圖中不能有過程 D. 數(shù)據(jù)流圖定義了對象的操作 15. 在C+語言中,自定義的標(biāo)識符(
5、 ) A. 能使用關(guān)鍵字并且不區(qū)分大小寫 B. 不能使用關(guān)鍵字并且不區(qū)分大小寫 C. 能使用關(guān)鍵字并且區(qū)分大小寫 D. 不能使用關(guān)鍵字并且區(qū)分大小寫 16. 不能用于組成C+程序標(biāo)識符的是( ) A. 連接符 B. 下劃線 C. 大小寫字母 D. 數(shù)字字符 17. 下列標(biāo)識符中都是合法的是( ) A. _key, example, a_b B. 5ap, test1, _3a C. bcp, mail, _c_d D. INL, _paper, union 18. 下列符號中,不可作為分隔符的是( ) A. 逗號 B. 分號 C. 問號 D. 英文句號 19. 下列變量名中,合法的是( ) A
6、. CHINA B. byte-size C. double D. A+a 20. 在C+語言中,自定義的標(biāo)識符( ) A. 能使用關(guān)鍵字并且不區(qū)分大小寫 B. 不能使用關(guān)鍵字并且不區(qū)分大小寫 C. 能使用關(guān)鍵字并且區(qū)分大小寫 D. 不能使用關(guān)鍵字并且區(qū)分大小寫 21. C+程序的基本單位是( ) A. 字符 B. 程序行 C. 語句 D. 函數(shù) 22. 注釋的目的主要是用來提高( ) A. 可讀性 B. 可移植性 C. 運(yùn)行效率 D. 編碼效率 23. 程序中的注釋部分( ) A. 參加編譯,并會出現(xiàn)在目標(biāo)程序中 B. 參加編譯,但不會出現(xiàn)在目標(biāo)程序中 C. 不參加編譯,但會出現(xiàn)在目標(biāo)程序中
7、 D. 不參加編譯,也不會出現(xiàn)在目標(biāo)程序中 24. 在一個(gè)C+程序中( ) A. main函數(shù)必須出現(xiàn)在所有函數(shù)之前 B. main函數(shù)可以在任何地方出現(xiàn) C. main函數(shù)必須出現(xiàn)在所有函數(shù)之后 D. main函數(shù)必須出現(xiàn)在固定位置 25. C+語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是( ) A. 程序中第一條可執(zhí)行語言 B. 程序中第一個(gè)函數(shù) C. 程序中的main函數(shù) D. 包含文件中的函數(shù) 26. 以下關(guān)于C+語言的敘述中,錯(cuò)誤的是( ) A. 大寫字母和小寫字符的意義相同 B. 有些不同類型的變量可以在一個(gè)表達(dá)式中運(yùn)算 C. 在賦值表達(dá)式中等號(=)左邊的變量和右邊的值可以是不同類型 D. 同一
8、個(gè)運(yùn)算符號在不同的場合可以有不同的含義 二、填空題 1. 判斷一種計(jì)算機(jī)語言是否為面向?qū)ο蟪绦蛟O(shè)計(jì)語言的三個(gè)基本特征是封裝性 、繼承性 和 多態(tài)性 。 2. 在面向?qū)ο笳Z言中 可擴(kuò)充性 是關(guān)鍵。3. 在C+語言中,“/*/”主要用于多行 行注釋,“/”用于單 行注釋。 4. C+程序的實(shí)現(xiàn)經(jīng)過編輯 、編譯 和運(yùn)行 步驟。 5. 在一個(gè)好的程序中,注釋可提高程序的 程序的可讀性。 6. C+源程序文件的默認(rèn)擴(kuò)展名為.cpp 。 7. C+程序在編譯中會出現(xiàn)的兩類錯(cuò)誤分別是致命 錯(cuò)誤和警告 錯(cuò)誤。 8. C+編譯器進(jìn)行編譯的過程可詳細(xì)地分為三個(gè)子過程,它們分別是預(yù)處理過程、編譯過程和連接過程。 第
9、二章 數(shù)據(jù)類型與表達(dá)式 一、選擇題 1. 常量3.14的數(shù)據(jù)類型是( ) A. double B. float C. void D. 字符串 2. 設(shè)有定義:char ch;,以下賦值語句正確的是( ) A. ch=123; B. ch=xff; C. ch=08; D. ch=; 3. 英文大寫字母B的ASCII碼為42H,英文小寫字母b的ASCII碼為( ) A. 43H B. 62H C. 74H D. 84H 4. unsigned不能修飾的類型是( ) A. int B. char C. float D. long int 5. 下列字符常量表示中,錯(cuò)誤的是( ) A. .105.
10、B. .*. C. .4f. D. .a. 6. signed不能修飾的類型是( ) A. int B. char C.double D. long int 7. 下列字符串常量表示中,錯(cuò)誤的是( ) A. ”Yes” or ”No” B. ”.OK!.” C. ”abcdn” D. ”ABC” 8. 下列十六進(jìn)制的整型常量表示中,錯(cuò)誤的是( ) A. 0 xaf B. 0X1b C. 2fx D. 0 xAE 9. 下列double型常量表示中,錯(cuò)誤的是( ) A. E15 B. .25 C. 3E5 D. 3E05 10. 設(shè)有定義char ch;,正確的賦值語句是( ) A. ch=.1
11、23.; B. ch=.xff.; C. ch=.08. D. ch=. 11在C+語言中,080是( ) A. 八進(jìn)制數(shù) B. 十進(jìn)制數(shù) C. 十六進(jìn)制數(shù) D. 非法數(shù) 12. 關(guān)于字符0的下列描述中不正確的是( ) A. 常用來作為字符串的結(jié)束標(biāo)志 B. 在計(jì)算機(jī)中存儲時(shí)占一個(gè)字節(jié)的內(nèi)存 C. 是空格字符的轉(zhuǎn)義表示形式 D. 作為邏輯值使用時(shí)等價(jià)于邏輯“假” 13. 在32位機(jī)器環(huán)境下,若有int a10;,則表達(dá)式sizeof(a)/sizeof(int)的值是( ) A. 10 B. 4 C. 40 D. 2 14. 在C+語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是( ) A. ASC
12、II碼 B. 補(bǔ)碼 C. 反碼 D. 原碼 15. 字符串”ABC”的長度是( ) A. 11 B. 7 C. 8 D. 6 16. 設(shè):int a=2, b=2;,則a+ +b的結(jié)果是( ) A. 2 B. 3 C. 4 D. 5 17. 若有定義:int x=2;,則表達(dá)式x3 B. +a+b+ C. b+(a=3) D. (a=3)-a+ 19. 下列運(yùn)算符中優(yōu)先級最高的是( ) A. = B. & C. = D. + 20. 下列運(yùn)算符中優(yōu)先級最低的是( ) A. % B. %= C. & D. 21. 表達(dá)式(-17)%5的值( )表達(dá)式(-17)%(-5)的值。 A. 大于 B.
13、等于 C. 小于 D. 不確定 22. 下列運(yùn)算符中,結(jié)合性從左向右的是( ) A. - B. C. != D. 23. 若int a=2,b=3;,則表達(dá)式a+ +b+的值為( ) A. 11 B. 9 C. 7 D. 5 24. 設(shè)有定義int a; float f; double i;,表達(dá)式10+.a.+i*f的結(jié)果類型是( ) A. int B. float C. double D. 不確定 25. sizeof(double)是一個(gè)( ) A. 整型表達(dá)式 B. 雙精度表達(dá)式 C. 函數(shù)調(diào)用 D. 不合法 26. 下列關(guān)于類型轉(zhuǎn)換的描述中錯(cuò)誤的是( ) A. 在不同類型操作數(shù)組成的
14、表達(dá)式中,表達(dá)式類型一定是最高類型double型 B. 逗號表達(dá)式的類型是最后一個(gè)子表達(dá)式的類型 C. 賦值表達(dá)式的類型是左值的類型 D. 在由低向高的類型轉(zhuǎn)換中是保值映射 27. 下列說法中正確的是( ) A. 隱含類型轉(zhuǎn)換可能會損失數(shù)據(jù)精度 B. 顯式類型轉(zhuǎn)換可能會損失數(shù)據(jù)精度 C. 隱含類型轉(zhuǎn)換一定會損失數(shù)據(jù)精度 D. 顯式類型轉(zhuǎn)換一定會損失數(shù)據(jù)精度 28. 在隱含類型轉(zhuǎn)換中,long、int、double三種類型之間的轉(zhuǎn)換順序?yàn)椋?) A. long-int-double B. long-double-int C. int-double-long D. int-long-double
15、29. 下列說法正確的是( ) A. 隱含類型轉(zhuǎn)換可以從高類型轉(zhuǎn)換為低類型 B. 顯式類型轉(zhuǎn)換不可以從低類型轉(zhuǎn)換為高類型 C. 隱含類型轉(zhuǎn)換可以在任何類型之間轉(zhuǎn)換 D. 顯式類型轉(zhuǎn)換可以在任何類型之間轉(zhuǎn)換 30. 設(shè)int n=10,i=4;,則表達(dá)式n%=i+1運(yùn)算后n的值是( ) A. 0 B. 3 C. 2 D. 1 31. 下列運(yùn)算符中,可以作用于浮點(diǎn)數(shù)的是( ) A. + B. % C. D. & 32. 下列各運(yùn)算符中,不可以作用于浮點(diǎn)數(shù)的是( ) A. / B. & C. | D. 33. 下列運(yùn)算符中,可以作用于浮點(diǎn)數(shù)的是( ) A. + B. % C. D. 34. 下列運(yùn)算
16、符中,結(jié)合性從左到右的是( ) A. ?: B. *= C. = D. + 35. 若有下面的定義,則表達(dá)式:ab ? a : cd ? c : d的結(jié)果為( ) int a=1, b=2, c=3, d=4; A. 1 B. 2 C. 3 D. 4 36. 設(shè)x為int型變量,則執(zhí)行下列語句后,x的值為( ) x=10; x+=x-=x-x; A. 10 B. 20 C. 30 D. 40 37. 若有下面的定義,則對語句c=a+b;的下列說法中正確的是( ) int a=12; float b=1.2f, c; A. 變量a轉(zhuǎn)換為float類型 B. 變量b轉(zhuǎn)換為int類型,運(yùn)算結(jié)果再轉(zhuǎn)換
17、為float類型 C. 變量a和b都轉(zhuǎn)換為一中間類型,運(yùn)算結(jié)果再轉(zhuǎn)換為float類型 D. 以上都不對 38. 執(zhí)行下列語句后,a的值是( ) int a = 8; a += a -= a*a; A. -240 B. 64 C. 112 D. -112 39. 能正確表示“大于10且小于20的數(shù)”的C+表達(dá)式是( ) A. 10 x10|x10&x20 D. !(x=20) 40. 表示關(guān)系xyZ的C+語言表達(dá)式為( ) A. (x=y)&(y=Z) B. (x=y)AND(y=Z) C. (x=y=Z) D. (x=y)&(yb; 后a、b、c的值分別為( ) A. 6,7,6 B. 6,6
18、,6 C. 6,6,5 D. 6,1,6 43. 在C+中,const修飾符主要用于代替C語言中的( )關(guān)鍵字進(jìn)行常量定義。 A. #include B. static C. #define D. #ifdef 二、填空題 1. 在32位計(jì)算機(jī)中,若有double *p;,則p占用 4 字節(jié)的內(nèi)存空間。 2. 在C+中,用同一個(gè)數(shù)據(jù)類型定義多個(gè)變量時(shí)需要用逗號分隔。 3. 變量的三要素分別是(變量的)類型、(變量的)名字(或變量名)、(變量的)值。 4. 表達(dá)式(-9)%4的值為-1 ,表達(dá)式9%(-4)的值為1 ,表達(dá)式(-9)%(-4)的值為-15. 在C+中,0 被用來作為字符串的結(jié)束符
19、。 6. 空字符串的長度為1。 7. 在C+中,變量必須遵循先定義后使用的原則。 8. 在16位計(jì)算機(jī)中,int數(shù)據(jù)類型占用2個(gè)字節(jié)。 9. 數(shù)據(jù)類型轉(zhuǎn)換分為 自動類型轉(zhuǎn)換(隱含類型轉(zhuǎn)換)和強(qiáng)制類型轉(zhuǎn)換(顯式類型轉(zhuǎn)換)兩種。 10. 在32位機(jī)器中,若有:int a10;則表達(dá)式sizeof(a)/sizeof(int)的值為10。 11. 在32位機(jī)器中,若有:int a10;則表達(dá)式sizeof(a)的值為40。 12. 變量的類型既規(guī)定了 占用內(nèi)存字節(jié)數(shù)(大小) ,也規(guī)定了 合法操作。 13. 沒有初始化的變量其存儲的值要么是默認(rèn)值,要么是 機(jī)器(計(jì)算機(jī))決定。 15. 條件表達(dá)式的類型
20、由:號前后兩個(gè)子表達(dá)式的高類型決定。 16.賦值表達(dá)式的類型由賦值運(yùn)算符的左值的類型決定。 17. 邏輯運(yùn)算符&和|的特點(diǎn)是在計(jì)算時(shí)存在短路現(xiàn)象。 18. 若有定義: int a(4), b(2); 則表達(dá)式 a&b|a+|(a-b*2) 運(yùn)算完成后a的值為4 。 19. 設(shè)int型變量x的值為10,則表達(dá)式x10?x+100:x-100的值是-90。 三、寫程序運(yùn)行結(jié)果 1. #include using namespace std; int main() float x; int i; x=12.6; i=(int)x; coutx=xendl; couti=iendl; x=12.6y=
21、122. #include using namespace std; int main() int i; char c1; i=A; c1=A; coutin; coutc1n; return 0; 65A3. #include using namespace std; int main() coutabcabcendl; coutabcabcendl; abcabcabcabc4. #include using namespace std; int main() int i=1; couti=+iendl; couti=i+endl; i=2i=25. #include void main(
22、) int a; a=7*2+-3%5-4/3; double b; b=510+3.2-5.4/0.03; coutatbendl; int m(3),n(4); a=m+ - -n; coutatmtnendl; 10 333.20 4t36. #include void main() int x,y,z; x=y=z=1; -x & +y & +z; coutxtytzn; +x & +y & +z; coutxtytzn; +x & y-|+z; coutxtytzn; 0 1 1 1 2 2 2 1 27. #include void main() char x(m),y(n); i
23、nt n; n=xy; coutnendl; n=x=y-1; coutn3)+(y-x=1); coutnendl; 113四、改錯(cuò)題 1. 下面程序要求輸出x和y的值,x的值為10,y的值為11。 #include using namespace std; void main() const int x; int y=10; y=x+; coutx,y; 第三章 語句 一、選擇題 1. 關(guān)于switch語句的描述中,正確的是( ) A. switch語句中default子句可以沒有,也可有一個(gè) B. switch語句中每個(gè)case語句序列中必須有break語句 C. switch語句中de
24、fault子句只能放在最后 D. switch語句中case子句后面的表達(dá)式只能是整型表達(dá)式 2. 下列關(guān)于goto語句的描述中正確的是( ) A. goto語句可以在一個(gè)文件中隨意轉(zhuǎn)向 B. goto語句后面要跟上一個(gè)它所轉(zhuǎn)向的語句 C. goto語句可以同時(shí)轉(zhuǎn)向多條語句 D. goto語句可以從一個(gè)循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外 3. 與以下程序段等價(jià)的是( ) while(a) if(b) continue; c; A. while(a) if(!b) c; B. while(c) if(!b) break; c; C. while(c) if(b) c; D. while(a) if(b) br
25、eak; c; 4. 在設(shè)計(jì)C+程序時(shí),應(yīng)采用的原則之一是( ) A. 不限制goto語句的使用 B. 減少或取消注釋行 C. 程序越短越好 D. 程序結(jié)構(gòu)應(yīng)有助于讀者理解 5. for(int m=n=0; !n&m=10; m+);語句的循環(huán)次數(shù)為( ) A. 10 B. 11 C. 12 D. 無限 6. 下面的do語句的循環(huán)體執(zhí)行次數(shù)為( ) int a=10; do a-; while(a!=0); A. 10 B. 9 C. 11 D. 12 7. 下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為(假設(shè)循環(huán)體中沒有引用i和j)( ) for(int i=0, j=10; i=j=10; i+,j-
26、)循環(huán)體; A. 0 B. 1 C. 10 D. 無限 8. 下列關(guān)于if語句的描述中錯(cuò)誤的是( ) A. if語句中只有一個(gè)else子句 B. if語句中可以有多個(gè)else if子句 C. if語句中if體內(nèi)不能是開關(guān)語句 D. if語句的if體中可以是循環(huán)語句 9. 下面的程序( ) #include void main() int a=5, b=4, c=3; if( a = b+c ) cout”*”endl; else cout”$”endl; A. 有語法錯(cuò)誤,不能通過編譯 B. 可以通過編譯但不能通過連接 C. 輸出* D. 輸出$ 10. 為了避免嵌套的if-else語句的二義
27、性,C+規(guī)定else總是與( )組成配對關(guān)系。 A. 縮排位置相同的if B. 在其之前未配對的if C. 在其之前未配對的最近的if D. 同一行上的if 11執(zhí)行下列程序,輸入為1時(shí)的輸出結(jié)果是( ) #include void main() int k; cink; switch(k) case 1: coutk+” ”; case 2: coutk+” ”; case 3: coutk+” ”; case 4: coutk+” ”; break; default: coutFull! ” ”; coutendl; A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 12.
28、下列while循環(huán)的循環(huán)次數(shù)為( ) while(int i=0)i-; A. 0 B. 1 C. 5 D. 無限 13. 下列do-while循環(huán)的循環(huán)次數(shù)為( ) 已知:int i=5; do cout i- endk; i-; while(i!=0); A. 1 B. 2 C. 5 D. 無限 14. 下列描述正確的是( ) A.不是每個(gè)C+程序都必須包含預(yù)處理命令#include B. C+程序必須有return語句 C. C+程序中的變量必須定義在主程序內(nèi)部 D. C+程序中所使用的符號常量可以不進(jìn)行定義 15. 已知int x,y;,下列switch語句中,正確的是( ) A. s
29、witch(x*y) B. switch case 1: x*y; break; case 1,5: x+; case 2: break; case 3,7: y+; C. switch(x) D. switch(x+y/100) case x: x*x; break; case x: x*x/100; break; case y: y*y; break; case y: y*y/100; break; 16. 下列關(guān)于goto語句的描述中正確的是( ) A. goto語句可以在一個(gè)程序中隨意轉(zhuǎn)向。B. 循環(huán)體中不能出現(xiàn)goto語句 C. goto語句后面要跟上一個(gè)它所要轉(zhuǎn)向的語句 D. go
30、to語句不是結(jié)構(gòu)化語句 17.執(zhí)行以下程序段的輸出結(jié)果是( ) int s1=0,s2=0,s3=0,s4=0; for(int t=1;t=4:s1+;break; case t=3:s2+;break; case t=2:s3+;break; default:s4+; couts1,s2,s3,s41; -i) cout.*.;語句段后,輸出字符“*”的個(gè)數(shù)是( ) A. 7 B. 8 C. 9 D. 10 二、寫程序運(yùn)行結(jié)果 1. 寫出下面的程序的運(yùn)行結(jié)果 #include #include void main() int i,j,k; for(i=1; i=6; i+) for(j=1
31、; j=20-2*i; j+) cout” ”; for(k=1;k=i; k+) coutsetw(4)i; coutendl; 2. 寫出下面的程序的運(yùn)行結(jié)果 #include #include void main() int i,j,k; for(i=1; i=6; i+) for(j=1; j=20-3*i; j+) cout ” “ ; for(k=1; k=i; k+) cout setw(3) 0; k-) cout setw(3) k ; coutendl; 3. #include char input=”SSSWILTECH1111W1WALLMP1”; void main(
32、) int i; char c; for(i=2; (c=inputi)!=0; i+) switch(c) case a: couti; continue; case 1: break; case 1: while(c=input+i)!=1 & c!=0); case 9: coutS; case E: case L: continue; default: coutc; continue; cout” “; coutendl; SWITCH SWAMP4. #include void main() int a,b,c,s,i; a=b=c=0; for(i=0; is; switch(s%
33、3) case 0: a+=s; break; case 1: b+=s; break; case 2: c+=s; break; couta”,”b”,”cendl; 假定輸入的10個(gè)整數(shù)為:12,34,54,51,9,45,63,27,6,35,寫出該程序的運(yùn)行結(jié)果。 267,34,355. #include void main() int i,j; for(i=1; i0; j-)cout” “; for(j=1; j=2*i-1; j+)cout”*”; cout=1; i-) for(j=(4-i)*2; j0; j-)cout” “; for(j=1; j=2*i-1; j+)co
34、ut”*”; coutendl; 三、改錯(cuò)題 1. 水仙花數(shù)是一個(gè)三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。以下程序輸出所有的水仙花數(shù)。 #include using namespace std; void main() int i,a,b,c; for (i=100;i1000;i+); a=i/100; b=i%100/10; c=i/10; if (i=a*a*a+b*b*b+c*c*c) coutiendl; 2. #include #include void main() for(int n=1;n6;n+) coutsetfill( )setw(n) setfill(m)setw(1
35、1-2*n)mendl; 四、程序填空題 1. 求3到100之間的所有素?cái)?shù)之和。 #include 1 #include void main() int sum=0; for (int i=3; i=100; i+) int temp=int(sqrt(i); for (int j=2; jtemp) sum+=i; coutsumendl; 2. 展轉(zhuǎn)相除法求兩個(gè)整數(shù)a和b的最小公倍數(shù)。 #include using namespace std; void main() int a=10,b=15; int temp,i=1; if ( 1ab ) temp=a; a=b; b=temp;
36、while (i*a%b!=0) 2i+ ; cout 3i*a endl; 3.下列程序計(jì)算1000以內(nèi)能被3整除的自然數(shù)之和,請完成程序。 #include void main() int x=1, sum; 1sum=0; while(1) if( 2x1000 )break; if( 3x%3=0 )sum+=x; x+; coutsumendl; 第四章 函數(shù)與預(yù)處理 一、選擇題 1. 若要定義一個(gè)只允許本源文件中所有函數(shù)能使用的全局變量,則該變量需要使用的存儲類別是( ) A. extern B. register C. auto D. static 2. 函數(shù)的重載是指( ) A
37、. 兩個(gè)或兩個(gè)以上的函數(shù)有相同的函數(shù)名,但函數(shù)形參的個(gè)數(shù)或類型不同 B. 兩個(gè)以上的函數(shù)有相同的函數(shù)名和相同個(gè)數(shù)的參數(shù),但形參的類型可以不同 C. 兩個(gè)以上的函數(shù)有不同的函數(shù)名,但形參的個(gè)數(shù)或類型相同 D. 兩個(gè)以上的函數(shù)有相同的函數(shù)名,并且函數(shù)的返回類型不同 3. 關(guān)于函數(shù)的描述中,正確的是( ) A. 函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套 B. 函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套 C. 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套 D. 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套 4. 若有宏定義: #define S(x) (x)*(x) ,則表達(dá)式:2.7/S(3.0)在預(yù)編譯過程中將( ) A
38、. 被替換為2.7/3.0*3.0 B. 被替換為2.7/(3.0)*(3.0) C. 被替換為2.7/(3.0)*(3.0) D. 不能被替換 5. 關(guān)于內(nèi)置函數(shù)的說法中,不正確的是( ) A. 內(nèi)置函數(shù)不需要使用堆棧進(jìn)行現(xiàn)場的保護(hù)與恢復(fù) B. 內(nèi)置函數(shù)以犧牲程序的存儲空間換取程序的執(zhí)行時(shí)間 C. 內(nèi)置函數(shù)體內(nèi)不能有循環(huán)語句 D. 類的內(nèi)置函數(shù)必須在類體外通過加關(guān)鍵字inline定義 6. 在函數(shù)定義前加上inline表示該函數(shù)被定義為( ) A. 重載函數(shù) B. 內(nèi)置函數(shù) C. 成員函數(shù) D. 普通函數(shù) 7. 關(guān)于設(shè)置C+函數(shù)參數(shù)默認(rèn)值的描述中,正確的是( ) A. 不允許設(shè)置函數(shù)參數(shù)的默
39、認(rèn)值 B. 只能在定義函數(shù)時(shí)設(shè)置函數(shù)參數(shù)的默認(rèn)值 C. 設(shè)置函數(shù)參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的 D. 設(shè)置函數(shù)參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置 8. 若同時(shí)定義了下列四個(gè)選項(xiàng)格式的函數(shù)和模板,fun(8,3.1)調(diào)用的是( ) A. templateclass T1,class T2)fun(T1,T2) B. fun(double,int) C. fun(char,char) D. fun(double,char) 9. 關(guān)于函數(shù)模板的敘述中,正確的是( ) A. 函數(shù)模板實(shí)際上是函數(shù)類型和形參類型不具體指定的通用函數(shù) B. 函數(shù)模板可以用于描述函數(shù)體不同的一系列函數(shù) C. 函
40、數(shù)模板可以用于描述參數(shù)個(gè)數(shù)不同的一系列函數(shù) D. 函數(shù)模板定義中typename和class的作用不同 10. 關(guān)于變量的存儲類別的描述中,不正確的是( ) A. 變量的存儲類別指的是變量值在內(nèi)存中存儲的方法 B. 變量的存儲類別與變量值存在的時(shí)間有關(guān) C. 變量的存儲類別決定了變量占用內(nèi)存的分配與釋放時(shí)間 D. 變量的存儲類別不能確定變量的作用域 11已知函數(shù)func的原型是:double func(double*pd,int &ri); 變量x和y的定義是:double x; int y; 把x和y分別作為第一參數(shù)和第二參數(shù)來調(diào)用func,正確的調(diào)用語句是( ) A. func(x,&y)
41、; B. func(&x,y); C. func(&x,&y); D. func(x,y); 12. 關(guān)于遞歸函數(shù)的說法中,不正確的是( ) A. 遞歸函數(shù)可以改寫為非遞歸函數(shù) B. 遞歸函數(shù)應(yīng)有遞歸結(jié)束的條件 C. 解決同一個(gè)問題的遞歸函數(shù)的效率比非遞歸函數(shù)的效率要高 D. 遞歸函數(shù)往往更符合人們的思路,程序更容易理解 13. 下列敘述中,正確的是( ) A. 預(yù)處理命令行必須位于源文件的開頭 B. 在源文件的一行上可以有多條預(yù)處理命令 C. 宏名必須用大寫字母表示 D. 宏替換不占用程序的運(yùn)行時(shí)間 14. 關(guān)于函數(shù)模板的說法中,正確的是( ) A. 函數(shù)模板中typename和class用
42、于定義不同的虛擬類型名 B. 能被函數(shù)模板代替的函數(shù)必須具有相同個(gè)數(shù)的形參 C. 函數(shù)模板的虛擬類型名由C+系統(tǒng)自動確定 D. 函數(shù)模板的虛擬類型名是在運(yùn)行階段確定實(shí)際類型的 15. 關(guān)于函數(shù)的說法中,錯(cuò)誤的是( ) A. 函數(shù)定義是平行的 B. 函數(shù)可以嵌套調(diào)用 C. 函數(shù)可以嵌套定義 D. 函數(shù)可以遞歸調(diào)用 16. 定義一個(gè)函數(shù)模板要用到的第一個(gè)修飾符是( ) A. typename B. template C. class D. typedef 17. 為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇( ) A. 內(nèi)置函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 函數(shù)模板
43、 18. 不是重載函數(shù)調(diào)用時(shí)選擇依據(jù)的是( ) A. 參數(shù)個(gè)數(shù) B. 參數(shù)類型 C. 函數(shù)名字 D. 函數(shù)類型 19. 關(guān)于局部變量的說法中,不正確的是( ) A. 函數(shù)聲明中的形式參數(shù)名在函數(shù)被調(diào)用時(shí)分配內(nèi)存空間 B. 不同的函數(shù)中可以定義同名的局部變量 C. 函數(shù)定義中的形式參數(shù)名也是局部變量 D. 局部變量只在定義它的函數(shù)或復(fù)合語句(塊)中有效 20. 關(guān)于函數(shù)模板的敘述中,正確的是( ) A. 函數(shù)模板也是一個(gè)具體類型的函數(shù) B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個(gè)概念 C. 通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù) D. 用函數(shù)模板定義的函數(shù)沒有類型 21. 在函數(shù)
44、的傳值調(diào)用中,要求( ) A. 形參和實(shí)參類型任意,個(gè)數(shù)相等 B. 形參和實(shí)參類型相同,個(gè)數(shù)相等 C. 形參和實(shí)參對應(yīng)類型一致,個(gè)數(shù)相等 D. 形參和實(shí)參對應(yīng)類型一致,個(gè)數(shù)任意 22. 適宜定義為內(nèi)置函數(shù)的是( ) A. 函數(shù)體含有循環(huán)語句 B. 函數(shù)體含有遞歸語句 C. 需要加快程序的執(zhí)行速度 D. 函數(shù)代碼多且不常調(diào)用 23. 設(shè)函數(shù)模板定義為 template T f(T x,T y)return x+y; 對該函數(shù)模板使用不正確的是( ) A. f(4,8); B. f(4.9,8.5); C. f(12.8f,45.9f); D. f(123,456); 24. 若在程序中有一個(gè)名字
45、為a1的全局標(biāo)識符,在該程序的某函數(shù)中有一個(gè)同名的局部標(biāo)識符,如果在該函數(shù)中訪問這個(gè)同名的全局標(biāo)識符,則該全局標(biāo)識符應(yīng)表示為( ) A. a1 B. a1: C. -a1 D. :a1 25. 下列條件編譯命令中下劃線處是( ) #if( ) 語句1; #else 語句2; #endif A. 整常量表達(dá)式 B任意標(biāo)識符. C. 任意表達(dá)式 D. 被定義的宏名 26. 在函數(shù)的返回值類型與返回值表達(dá)式的類型描述中錯(cuò)誤的是( ) A. 函數(shù)返回值的類型在函數(shù)定義時(shí)確 定,在函數(shù)調(diào)用時(shí)是不能改變的 B. 函數(shù)返回值的類型就是返回值表達(dá)式的類型 C. 函數(shù)返回值表達(dá)式類型與函數(shù)返回值類型不同時(shí),表達(dá)
46、式類型應(yīng)轉(zhuǎn)換成函數(shù)返回值類型 D. 函數(shù)返回值類型決定了返回值表達(dá)式的類型 27. 適合于實(shí)現(xiàn)功能不復(fù)雜但又要求有較快執(zhí)行速度的函數(shù)是( ) A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 嵌套函數(shù) 28. 在函數(shù)說明中,不必要的是( ) A. 函數(shù)的類型 B. 函數(shù)參數(shù)的類型 C. 函數(shù)的名字 D. 函數(shù)參數(shù)的名字 29. 屬于文件級作用域的標(biāo)識符是( ) A. 函數(shù)形參 B. 語句標(biāo)號 C. 外部靜態(tài)類標(biāo)識符 D. 自動類標(biāo)識符 30. 預(yù)處理命令在程序中都是以( )開頭的。 A. * B. # C. : D. / 31. 在帶參數(shù)的宏定義中,程序中引用宏定義的實(shí)參( ) A. 只能
47、是常量 B. 只能是整型量 C. 只能是整型表達(dá)式 D. 可以是任意表達(dá)式 32. 在下列存儲類標(biāo)識符中,可見性和存在性不一致的是( ) A. 外部類 B. 自動類 C. 內(nèi)部靜態(tài)內(nèi) D. 寄存器類 33. 作用域運(yùn)算符的功能是( ) A. 標(biāo)識作用域的級別 B. 指出作用域的范圍 C. 給定作用域的大小 D. 標(biāo)識某個(gè)成員屬于哪個(gè)類 34. 下列說法正確的是( ) A. C+語言的函數(shù)原型與C語言的函數(shù)說明格式相同 B. 不允許在C+語言的函數(shù)原型中說明參數(shù)類型 C. 當(dāng)函數(shù)自變量個(gè)數(shù)不確定時(shí),系統(tǒng)不自動檢測自變量 D. 不論函數(shù)自變量個(gè)數(shù)是否確定,系統(tǒng)都不自動檢測自變量 35. 當(dāng)函數(shù)的自
48、變量個(gè)數(shù)不確定時(shí),參數(shù)表用( )表示。 A. B. * C. 空格 D. ? 36. 在C +語言中規(guī)定函數(shù)的返回值的類型是由( ) A. return語句中的表達(dá)式類型所決定 B. 調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類型所決定 C. 調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定 D. 在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定 37. 局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時(shí),可以用( )提供對全局變量的訪問。 A. 域運(yùn)算符 B. 類運(yùn)算符 C. 重載 D. 引用 38. 在不同文件的函數(shù)中,對全局變量的引用要加上( )關(guān)鍵字。 A. register B. auto C. static D. extern 39. 下面程序段的輸出結(jié)果為( ) #define PI 3.141593 #include iostream.h void main(void) cout”PI=”PIendl; A. 3.141593=3.141593 B. PI=3.141593 C. 3.141593=PI D. 程序有錯(cuò)誤,無輸出結(jié)果 40. 以下的函數(shù)調(diào)用語句中實(shí)參的個(gè)數(shù)是( ) fun(a+b, (x, y), fun
- 溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案