C+常見選擇填空習(xí)題集_第1頁
C+常見選擇填空習(xí)題集_第2頁
C+常見選擇填空習(xí)題集_第3頁
C+常見選擇填空習(xí)題集_第4頁
C+常見選擇填空習(xí)題集_第5頁
已閱讀5頁,還剩170頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章 概述 一、選擇題 1. 關(guān)于C+與C語言的關(guān)系描述中,錯誤的是( ) A. C語言與C+是兼容的 B. C語言是C+的一個子集 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的錯誤的修改 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è)計方法和( )設(shè)計方法。 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+程序總是從第一個定義的函數(shù)開始執(zhí)行 B. C+程序總是從主函數(shù)開始執(zhí)行 C. C+函數(shù)必須有返回值,否則不能調(diào)用此函數(shù) D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中 12. 下列描述中,正確的是( ) A. 程序就是軟件 B. 軟件開發(fā)不受計算機(jī)

4、系統(tǒng)的限制 C. 軟件既是邏輯實體,又是物理實體 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ù)是如何計算的 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. 在一個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í)行點是( ) A. 程序中第一條可執(zhí)行語言 B. 程序中第一個函數(shù) C. 程序中的main函數(shù) D. 包含文件中的函數(shù) 26. 以下關(guān)于C+語言的敘述中,錯誤的是( ) A. 大寫字母和小寫字符的意義相同 B. 有些不同類型的變量可以在一個表達(dá)式中運(yùn)算 C. 在賦值表達(dá)式中等號(=)左邊的變量和右邊的值可以是不同類型 D. 同一

8、個運(yùn)算符號在不同的場合可以有不同的含義 二、填空題 1. 判斷一種計算機(jī)語言是否為面向?qū)ο蟪绦蛟O(shè)計語言的三個基本特征是封裝性 、繼承性 和 多態(tài)性 。 2. 在面向?qū)ο笳Z言中 可擴(kuò)充性 是關(guān)鍵。3. 在C+語言中,“/*/”主要用于多行 行注釋,“/”用于單 行注釋。 4. C+程序的實現(xiàn)經(jīng)過編輯 、編譯 和運(yùn)行 步驟。 5. 在一個好的程序中,注釋可提高程序的 程序的可讀性。 6. C+源程序文件的默認(rèn)擴(kuò)展名為.cpp 。 7. C+程序在編譯中會出現(xiàn)的兩類錯誤分別是致命 錯誤和警告 錯誤。 8. C+編譯器進(jìn)行編譯的過程可詳細(xì)地分為三個子過程,它們分別是預(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. 下列字符常量表示中,錯誤的是( ) A. .105.

10、B. .*. C. .4f. D. .a. 6. signed不能修飾的類型是( ) A. int B. char C.double D. long int 7. 下列字符串常量表示中,錯誤的是( ) A. ”Yes” or ”No” B. ”.OK!.” C. ”abcdn” D. ”ABC” 8. 下列十六進(jìn)制的整型常量表示中,錯誤的是( ) A. 0xaf B. 0X1b C. 2fx D. 0xAE 9. 下列double型常量表示中,錯誤的是( ) A. E15 B. .25 C. 3E5 D. 3E05 10. 設(shè)有定義char ch;,正確的賦值語句是( ) A. ch=.123

11、.; 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ī)中存儲時占一個字節(jié)的內(nèi)存 C. 是空格字符的轉(zhuǎn)義表示形式 D. 作為邏輯值使用時等價于邏輯“假” 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. ASCII

12、碼 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)是一個( ) A. 整型表達(dá)式 B. 雙精度表達(dá)式 C. 函數(shù)調(diào)用 D. 不合法 26. 下列關(guān)于類型轉(zhuǎn)換的描述中錯誤的是( ) A. 在不同類型操作數(shù)組成的表達(dá)

14、式中,表達(dá)式類型一定是最高類型double型 B. 逗號表達(dá)式的類型是最后一個子表達(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)換順序為( ) A. long-int-double B. long-double-int C. int-double-long D. int-long-double 29

15、. 下列說法正確的是( ) 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)算符中,可以作用于浮點數(shù)的是( ) A. + B. % C. D. & 32. 下列各運(yùn)算符中,不可以作用于浮點數(shù)的是( ) A. / B. & C. | D. 33. 下列運(yù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)換為f

17、loat類型 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. 10x10|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,6

18、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ī)中,若有double *p;,則p占用 4 字節(jié)的內(nèi)存空間。 2. 在C+中,用同一個數(shù)據(jù)類型定義多個變量時需要用逗號分隔。 3. 變量的三要素分別是(變量的)類型、(變量的)名字(或變量名)、(變量的)值。 4. 表達(dá)式(-9)%4的值為-1 ,表達(dá)式9%(-4)的值為1 ,表達(dá)式(-9)%(-4)的值為-15. 在C+中,0 被用來作為字符串的結(jié)束符。 6

19、. 空字符串的長度為1。 7. 在C+中,變量必須遵循先定義后使用的原則。 8. 在16位計算機(jī)中,int數(shù)據(jù)類型占用2個字節(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ī))決定。 15. 條件表達(dá)式的類型由:號

20、前后兩個子表達(dá)式的高類型決定。 16.賦值表達(dá)式的類型由賦值運(yùn)算符的左值的類型決定。 17. 邏輯運(yùn)算符&和|的特點是在計算時存在短路現(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=122

21、. #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() i

22、nt 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); int

23、n; n=xy; coutnendl; n=x=y-1; coutn3)+(y-x=1); coutnendl; 113四、改錯題 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子句可以沒有,也可有一個 B. switch語句中每個case語句序列中必須有break語句 C. switch語句中defau

24、lt子句只能放在最后 D. switch語句中case子句后面的表達(dá)式只能是整型表達(dá)式 2. 下列關(guān)于goto語句的描述中正確的是( ) A. goto語句可以在一個文件中隨意轉(zhuǎn)向 B. goto語句后面要跟上一個它所轉(zhuǎn)向的語句 C. goto語句可以同時轉(zhuǎn)向多條語句 D. goto語句可以從一個循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外 3. 與以下程序段等價的是( ) 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) break

25、; c; 4. 在設(shè)計C+程序時,應(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-)循環(huán)

26、體; A. 0 B. 1 C. 10 D. 無限 8. 下列關(guān)于if語句的描述中錯誤的是( ) A. if語句中只有一個else子句 B. if語句中可以有多個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. 有語法錯誤,不能通過編譯 B. 可以通過編譯但不能通過連接 C. 輸出* D. 輸出$ 10. 為了避免嵌套的if-else語句的二義性,C

27、+規(guī)定else總是與( )組成配對關(guān)系。 A. 縮排位置相同的if B. 在其之前未配對的if C. 在其之前未配對的最近的if D. 同一行上的if 11執(zhí)行下列程序,輸入為1時的輸出結(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. 下列w

28、hile循環(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.不是每個C+程序都必須包含預(yù)處理命令#include B. C+程序必須有return語句 C. C+程序中的變量必須定義在主程序內(nèi)部 D. C+程序中所使用的符號常量可以不進(jìn)行定義 15. 已知int x,y;,下列switch語句中,正確的是( ) A. swit

29、ch(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語句可以在一個程序中隨意轉(zhuǎn)向。B. 循環(huán)體中不能出現(xiàn)goto語句 C. goto語句后面要跟上一個它所要轉(zhuǎn)向的語句 D. goto語

30、句不是結(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.*.;語句段后,輸出字符“*”的個數(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; j

31、=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() i

32、nt 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%3)

33、case 0: a+=s; break; case 1: b+=s; break; case 2: c+=s; break; couta”,”b”,”cendl; 假定輸入的10個整數(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+)cout”

34、*”; coutendl; 三、改錯題 1. 水仙花數(shù)是一個三位數(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(11-2

35、*n)mendl; 四、程序填空題 1. 求3到100之間的所有素數(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)相除法求兩個整數(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; whi

36、le (i*a%b!=0) 2i+ ; cout 3i*a endl; 3.下列程序計算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. 若要定義一個只允許本源文件中所有函數(shù)能使用的全局變量,則該變量需要使用的存儲類別是( ) A. extern B. register C. auto D. static 2. 函數(shù)的重載是指( ) A. 兩

37、個或兩個以上的函數(shù)有相同的函數(shù)名,但函數(shù)形參的個數(shù)或類型不同 B. 兩個以上的函數(shù)有相同的函數(shù)名和相同個數(shù)的參數(shù),但形參的類型可以不同 C. 兩個以上的函數(shù)有不同的函數(shù)名,但形參的個數(shù)或類型相同 D. 兩個以上的函數(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í)行時間 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ù)的默認(rèn)值

39、B. 只能在定義函數(shù)時設(shè)置函數(shù)參數(shù)的默認(rèn)值 C. 設(shè)置函數(shù)參數(shù)默認(rèn)值時,應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的 D. 設(shè)置函數(shù)參數(shù)默認(rèn)值時,應(yīng)該全部參數(shù)都設(shè)置 8. 若同時定義了下列四個選項格式的函數(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ù) B. 函數(shù)模板可以用于描述函數(shù)體不同的一系列函數(shù) C. 函數(shù)模板

40、可以用于描述參數(shù)個數(shù)不同的一系列函數(shù) D. 函數(shù)模板定義中typename和class的作用不同 10. 關(guān)于變量的存儲類別的描述中,不正確的是( ) A. 變量的存儲類別指的是變量值在內(nèi)存中存儲的方法 B. 變量的存儲類別與變量值存在的時間有關(guān) C. 變量的存儲類別決定了變量占用內(nèi)存的分配與釋放時間 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); B

41、. func(&x,y); C. func(&x,&y); D. func(x,y); 12. 關(guān)于遞歸函數(shù)的說法中,不正確的是( ) A. 遞歸函數(shù)可以改寫為非遞歸函數(shù) B. 遞歸函數(shù)應(yīng)有遞歸結(jié)束的條件 C. 解決同一個問題的遞歸函數(shù)的效率比非遞歸函數(shù)的效率要高 D. 遞歸函數(shù)往往更符合人們的思路,程序更容易理解 13. 下列敘述中,正確的是( ) A. 預(yù)處理命令行必須位于源文件的開頭 B. 在源文件的一行上可以有多條預(yù)處理命令 C. 宏名必須用大寫字母表示 D. 宏替換不占用程序的運(yùn)行時間 14. 關(guān)于函數(shù)模板的說法中,正確的是( ) A. 函數(shù)模板中typename和class用于定義

42、不同的虛擬類型名 B. 能被函數(shù)模板代替的函數(shù)必須具有相同個數(shù)的形參 C. 函數(shù)模板的虛擬類型名由C+系統(tǒng)自動確定 D. 函數(shù)模板的虛擬類型名是在運(yùn)行階段確定實際類型的 15. 關(guān)于函數(shù)的說法中,錯誤的是( ) A. 函數(shù)定義是平行的 B. 函數(shù)可以嵌套調(diào)用 C. 函數(shù)可以嵌套定義 D. 函數(shù)可以遞歸調(diào)用 16. 定義一個函數(shù)模板要用到的第一個修飾符是( ) A. typename B. template C. class D. typedef 17. 為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇( ) A. 內(nèi)置函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 函數(shù)模板 18

43、. 不是重載函數(shù)調(diào)用時選擇依據(jù)的是( ) A. 參數(shù)個數(shù) B. 參數(shù)類型 C. 函數(shù)名字 D. 函數(shù)類型 19. 關(guān)于局部變量的說法中,不正確的是( ) A. 函數(shù)聲明中的形式參數(shù)名在函數(shù)被調(diào)用時分配內(nèi)存空間 B. 不同的函數(shù)中可以定義同名的局部變量 C. 函數(shù)定義中的形式參數(shù)名也是局部變量 D. 局部變量只在定義它的函數(shù)或復(fù)合語句(塊)中有效 20. 關(guān)于函數(shù)模板的敘述中,正確的是( ) A. 函數(shù)模板也是一個具體類型的函數(shù) B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念 C. 通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù) D. 用函數(shù)模板定義的函數(shù)沒有類型 21. 在函數(shù)的傳值調(diào)用中,要求( ) A. 形參和實參類型任意,個數(shù)相等 B. 形參和實參類型相同,個數(shù)相等 C. 形參和實參對應(yīng)類型一致,個數(shù)相等 D. 形參和實參對應(yīng)類型一致,個數(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

溫馨提示

  • 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

提交評論