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

下載本文檔

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

文檔簡介

1、第一章 概述 一、選擇題 1. 關于C+與C語言的關系描述中,錯誤的是( ) A. C語言與C+是兼容的 B. C語言是C+的一個子集 C. C+和C語言都是面向?qū)ο蟮?D. C+對C語言進行了一些改進 2. 不可以作為C+用戶標識符的是( ) A. Printf B. _123 C. While D. case 3. 由C+目標文件連接而成的可執(zhí)行文件的缺省擴展名為( ) A. cpp B. obj C. lib D. exe 4. 關于C和C+的描述中,正確的是( ) A. C是面向過程,C+是純面向?qū)ο?B. C+是C的超集 C. C+是對C的錯誤的修改 D. C+和C沒有關系 5. C

2、+對C作了很多改進,從面向過程成為面向?qū)ο蟮闹饕蚴牵?) A. 增加了一些新的運算符 B. 允許函數(shù)重載,并允許設置參數(shù)默認值 C. 規(guī)定函數(shù)必須用原型 D. 引進了類和對象的概念 6. 將高級語言編寫的源程序翻譯成目標程序的是( ) A. 解釋程序 B. 編譯程序 C. 匯編程序 D. 調(diào)試程序 7. C+語言是從早期的C語言逐漸發(fā)展演變而來的,與C語言相比,它在求解問題方法上進行的最大改進是( ) A. 面向過程 B. 面向?qū)ο?C. 安全性 D. 復用性 8. C+語言支持過程程序設計方法和( )設計方法。 A. 面向?qū)ο?B. 面向函數(shù) C. 面向用戶 D. 面向問題 9. 關于C

3、+和C的關系中,使C發(fā)生了質(zhì)的變化,即從面向過程變成為面向?qū)ο蟮氖牵?) A. 增加了新的運算符 B. 允許函數(shù)重載,并允許缺省參數(shù) C. 規(guī)定函數(shù)有原型 D. 引進了類和對象的概念 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)用關系的所有函數(shù)必須放在同一個源程序文件中 12. 下列描述中,正確的是( ) A. 程序就是軟件 B. 軟件開發(fā)不受計算機

4、系統(tǒng)的限制 C. 軟件既是邏輯實體,又是物理實體 D. 軟件就是程序、數(shù)據(jù)與相關文檔的集合 13. 為了使模塊盡可能獨立,要求( ) A. 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強 B. 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱 C. 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱 D. 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強 14. 下列說法中正確的是( ) A. 數(shù)據(jù)流圖詳細描述了系統(tǒng)中對象數(shù)據(jù)是如何計算的 B. 數(shù)據(jù)流圖詳細描述了操作和約束的含義 C. 數(shù)據(jù)流圖中不能有過程 D. 數(shù)據(jù)流圖定義了對象的操作 15. 在C+語言中,自定義的標識符(

5、 ) A. 能使用關鍵字并且不區(qū)分大小寫 B. 不能使用關鍵字并且不區(qū)分大小寫 C. 能使用關鍵字并且區(qū)分大小寫 D. 不能使用關鍵字并且區(qū)分大小寫 16. 不能用于組成C+程序標識符的是( ) A. 連接符 B. 下劃線 C. 大小寫字母 D. 數(shù)字字符 17. 下列標識符中都是合法的是( ) 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+語言中,自定義的標識符( ) A. 能使用關鍵字并且不區(qū)分大小寫 B. 不能使用關鍵字并且不區(qū)分大小寫 C. 能使用關鍵字并且區(qū)分大小寫 D. 不能使用關鍵字并且區(qū)分大小寫 21. C+程序的基本單位是( ) A. 字符 B. 程序行 C. 語句 D. 函數(shù) 22. 注釋的目的主要是用來提高( ) A. 可讀性 B. 可移植性 C. 運行效率 D. 編碼效率 23. 程序中的注釋部分( ) A. 參加編譯,并會出現(xiàn)在目標程序中 B. 參加編譯,但不會出現(xiàn)在目標程序中 C. 不參加編譯,但會出現(xiàn)在目標程序中

7、 D. 不參加編譯,也不會出現(xiàn)在目標程序中 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. 以下關于C+語言的敘述中,錯誤的是( ) A. 大寫字母和小寫字符的意義相同 B. 有些不同類型的變量可以在一個表達式中運算 C. 在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型 D. 同一

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

9、二章 數(shù)據(jù)類型與表達式 一、選擇題 1. 常量3.14的數(shù)據(jù)類型是( ) A. double B. float C. void D. 字符串 2. 設有定義: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. lon

10、g int 5. 下列字符常量表示中,錯誤的是( ) A. .105. 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. 下列十六進制的整型常量表示中,錯誤的是( ) A. 0xaf B. 0X1b C. 2fx D. 0xAE 9. 下列double型常量表示中,錯誤的是( ) A. E15 B. .25 C. 3E5 D. 3E05 10.

11、 設有定義char ch;,正確的賦值語句是( ) A. ch=.123.; B. ch=.xff.; C. ch=.08. D. ch=. 11在C+語言中,080是( ) A. 八進制數(shù) B. 十進制數(shù) C. 十六進制數(shù) D. 非法數(shù) 12. 關于字符'0'的下列描述中不正確的是( ) A. 常用來作為字符串的結束標志 B. 在計算機中存儲時占一個字節(jié)的內(nèi)存 C. 是空格字符的轉(zhuǎn)義表示形式 D. 作為邏輯值使用時等價于邏輯“假” 13. 在32位機器環(huán)境下,若有int a10;,則表達式sizeof(a)/sizeof(int)的值是( ) A. 10 B. 4 C. 40

12、 D. 2 14. 在C+語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是( ) A. ASCII碼 B. 補碼 C. 反碼 D. 原碼 15. 字符串”ABC”的長度是( ) A. 11 B. 7 C. 8 D. 6 16. 設:int a=2, b=2;,則a+ +b的結果是( ) A. 2 B. 3 C. 4 D. 5 17. 若有定義:int x=2;,則表達式x<<2的結果為( ) A. 2 B. 4 C. 8 D. 16 18. 已知:int a=5,b=6;,則下列表達式中,有二義性的是( ) A. a+b>>3 B. +a+b+ C. b+(a=3) D. (

13、a=3)-a+ 19. 下列運算符中優(yōu)先級最高的是( ) A. = B. && C. >= D. + 20. 下列運算符中優(yōu)先級最低的是( ) A. % B. %= C. & D. >> 21. 表達式(-17)%5的值( )表達式(-17)%(-5)的值。 A. 大于 B. 等于 C. 小于 D. 不確定 22. 下列運算符中,結合性從左向右的是( ) A. -> B. >> C. != D. 23. 若int a=2,b=3;,則表達式a+ +b+的值為( ) A. 11 B. 9 C. 7 D. 5 24. 設有定義int a;

14、 float f; double i;,表達式10+.a.+i*f的結果類型是( ) A. int B. float C. double D. 不確定 25. sizeof(double)是一個( ) A. 整型表達式 B. 雙精度表達式 C. 函數(shù)調(diào)用 D. 不合法 26. 下列關于類型轉(zhuǎn)換的描述中錯誤的是( ) A. 在不同類型操作數(shù)組成的表達式中,表達式類型一定是最高類型double型 B. 逗號表達式的類型是最后一個子表達式的類型 C. 賦值表達式的類型是左值的類型 D. 在由低向高的類型轉(zhuǎn)換中是保值映射 27. 下列說法中正確的是( ) A. 隱含類型轉(zhuǎn)換可能會損失數(shù)據(jù)精度 B. 顯

15、式類型轉(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. 下列說法正確的是( ) A. 隱含類型轉(zhuǎn)換可以從高類型轉(zhuǎn)換為低類型 B. 顯式類型轉(zhuǎn)換不可以從低類型轉(zhuǎn)換為高類型 C. 隱含類型轉(zhuǎn)換可以在任何類型之間轉(zhuǎn)換 D. 顯式類型轉(zhuǎn)換可以在任

16、何類型之間轉(zhuǎn)換 30. 設int n=10,i=4;,則表達式n%=i+1運算后n的值是( ) A. 0 B. 3 C. 2 D. 1 31. 下列運算符中,可以作用于浮點數(shù)的是( ) A. + B. % C. >> D. & 32. 下列各運算符中,不可以作用于浮點數(shù)的是( ) A. / B. && C. | D. 33. 下列運算符中,可以作用于浮點數(shù)的是( ) A. + B. % C. >> D. 34. 下列運算符中,結合性從左到右的是( ) A. ?: B. *= C. = D. + 35. 若有下面的定義,則表達式:a<b ?

17、a : c<d ? c : d的結果為( ) int a=1, b=2, c=3, d=4; A. 1 B. 2 C. 3 D. 4 36. 設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類型,運算結果再轉(zhuǎn)換為float類型 C. 變量a和b都轉(zhuǎn)換為一中間類型,運算結果再轉(zhuǎn)換為float類型 D. 以上都不對 38.

18、執(zhí)行下列語句后,a的值是( ) int a = 8; a += a -= a*a; A. -240 B. 64 C. 112 D. -112 39. 能正確表示“大于10且小于20的數(shù)”的C+表達式是( ) A. 10<x<20 B. x>10|x<20 C. x>10&x<20 D. !(x<=10|x>=20) 40. 表示關系xyZ的C+語言表達式為( ) A. (x<=y)&&(y<=Z) B. (x<=y)AND(y<=Z) C. (x<=y<=Z) D. (x<=y)&

19、amp;(y<=Z) 41. 設x, y, z均為int型變量,則執(zhí)行以下語句后,t的值為( ) x=y=z=1; t=+x|+y&&+z; A. 0 B. 1 C. 2 D. 不定值 42. 若有如下語句: int a,b,c; a=b=c=5; 則執(zhí)行語句: b+=+a&&+c>b; 后a、b、c的值分別為( ) A. 6,7,6 B. 6,6,6 C. 6,6,5 D. 6,1,6 43. 在C+中,const修飾符主要用于代替C語言中的( )關鍵字進行常量定義。 A. #include B. static C. #define D. #ifd

20、ef 二、填空題 1. 在32位計算機中,若有double *p;,則p占用 4 字節(jié)的內(nèi)存空間。 2. 在C+中,用同一個數(shù)據(jù)類型定義多個變量時需要用逗號分隔。 3. 變量的三要素分別是(變量的)類型、(變量的)名字(或變量名)、(變量的)值。 4. 表達式(-9)%4的值為-1 ,表達式9%(-4)的值為1 ,表達式(-9)%(-4)的值為-15. 在C+中,0 被用來作為字符串的結束符。 6. 空字符串的長度為1。 7. 在C+中,變量必須遵循先定義后使用的原則。 8. 在16位計算機中,int數(shù)據(jù)類型占用2個字節(jié)。 9. 數(shù)據(jù)類型轉(zhuǎn)換分為 自動類型轉(zhuǎn)換(隱含類型轉(zhuǎn)換)和強制類型轉(zhuǎn)換(顯

21、式類型轉(zhuǎn)換)兩種。 10. 在32位機器中,若有:int a10;則表達式sizeof(a)/sizeof(int)的值為10。 11. 在32位機器中,若有:int a10;則表達式sizeof(a)的值為40。 12. 變量的類型既規(guī)定了 占用內(nèi)存字節(jié)數(shù)(大小) ,也規(guī)定了 合法操作。 13. 沒有初始化的變量其存儲的值要么是默認值,要么是 機器(計算機)決定。 15. 條件表達式的類型由:號前后兩個子表達式的高類型決定。 16.賦值表達式的類型由賦值運算符的左值的類型決定。 17. 邏輯運算符&&和|的特點是在計算時存在短路現(xiàn)象。 18. 若有定義: int a(4),

22、b(2); 則表達式 a&&b|a+|(a-b*2) 運算完成后a的值為4 。 19. 設int型變量x的值為10,則表達式x>10?x+100:x-100的值是-90。 三、寫程序運行結果 1. #include <iostream> using namespace std; int main() float x; int i; x=12.6; i=(int)x; cout<<"x="<<x<<endl; cout<<"i="<<i<<endl;

23、x=12.6y=122. #include <iostream> using namespace std; int main() int i; char c1; i='A' c1='A' cout<<i<<'n' cout<<c1<<'n' return 0; 65A3. #include <iostream> using namespace std; int main() cout<<"abc"abc"<<

24、;endl; cout<<"abcabc"<<endl; abc"abcabcabc4. #include <iostream> using namespace std; int main() int i=1; cout<<"i="<<+i<<endl; cout<<"i="<<i+<<endl; i=2i=25. #include <iostream.h> void main() int a; a=7*2

25、+-3%5-4/3; double b; b=510+3.2-5.4/0.03; cout<<a<<"t"<<b<<endl; int m(3),n(4); a=m+ - -n; cout<<a<<"t"<<m<<"t"<<n<<endl; 10 333.20 4t36. #include <iostream.h> void main() int x,y,z; x=y=z=1; -x &&

26、 +y && +z; cout<<x<<'t'<<y<<'t'<<z<<'n' +x && +y && +z; cout<<x<<'t'<<y<<'t'<<z<<'n' +x && y-|+z; cout<<x<<'t'<<y<<&

27、#39;t'<<z<<'n' 0 1 1 1 2 2 2 1 27. #include <iostream.h> void main() char x('m'),y('n'); int n; n=x<y; cout<<n<<endl; n=x=y-1; cout<<n<<endl; n=('y'!='Y')+(5>3)+(y-x=1); cout<<n<<endl; 113四、改錯題 1.

28、 下面程序要求輸出x和y的值,x的值為10,y的值為11。 #include <iostream> using namespace std; void main() const int x; int y=10; y=x+; cout<<x,y; 第三章 語句 一、選擇題 1. 關于switch語句的描述中,正確的是( ) A. switch語句中default子句可以沒有,也可有一個 B. switch語句中每個case語句序列中必須有break語句 C. switch語句中default子句只能放在最后 D. switch語句中case子句后面的表達式只能是整型表達式

29、 2. 下列關于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; c; 4. 在設計C+程序時,應采用的原則之一是( ) A. 不限制goto語句的

30、使用 B. 減少或取消注釋行 C. 程序越短越好 D. 程序結構應有助于讀者理解 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ù)為(假設循環(huán)體中沒有引用i和j)( ) for(int i=0, j=10; i=j=10; i+,j-)循環(huán)體; A. 0 B. 1 C. 10 D. 無限 8. 下列

31、關于if語句的描述中錯誤的是( ) A. if語句中只有一個else子句 B. if語句中可以有多個else if子句 C. if語句中if體內(nèi)不能是開關語句 D. if語句的if體中可以是循環(huán)語句 9. 下面的程序( ) #include <iostream.h> void main() int a=5, b=4, c=3; if( a = b+c ) cout<<”*”<<endl; else cout<<”$”<<endl; A. 有語法錯誤,不能通過編譯 B. 可以通過編譯但不能通過連接 C. 輸出* D. 輸出$ 10. 為

32、了避免嵌套的if-else語句的二義性,C+規(guī)定else總是與( )組成配對關系。 A. 縮排位置相同的if B. 在其之前未配對的if C. 在其之前未配對的最近的if D. 同一行上的if 11執(zhí)行下列程序,輸入為1時的輸出結果是( ) #include <iostream.h> void main() int k; cin>>k; switch(k) case 1: cout<<k+<<” ”; case 2: cout<<k+<<” ”; case 3: cout<<k+<<” ”; cas

33、e 4: cout<<k+<<” ”; break; default: cout<<"Full!" <<” ”; cout<<endl; A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 12. 下列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.

34、2 C. 5 D. 無限 14. 下列描述正確的是( ) A.不是每個C+程序都必須包含預處理命令#include <iostream.h> B. C+程序必須有return語句 C. C+程序中的變量必須定義在主程序內(nèi)部 D. C+程序中所使用的符號常量可以不進行定義 15. 已知int x,y;,下列switch語句中,正確的是( ) A. switch(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) cas

35、e x: x*x; break; case x: x*x/100; break; case y: y*y; break; case y: y*y/100; break; 16. 下列關于goto語句的描述中正確的是( ) A. goto語句可以在一個程序中隨意轉(zhuǎn)向。B. 循環(huán)體中不能出現(xiàn)goto語句 C. goto語句后面要跟上一個它所要轉(zhuǎn)向的語句 D. goto語句不是結構化語句 17.執(zhí)行以下程序段的輸出結果是( ) int s1=0,s2=0,s3=0,s4=0; for(int t=1;t<=4;t+) switch(t) case t>=4:s1+;break; case

36、 t>=3:s2+;break; case t>=2:s3+;break; default:s4+; cout<<s1<<','<<s2<<','<<s3<<','<<s4<<'n' A. 1,1,1,2 B. 1,2,3,2 C. 1,1,2,2 D. 編譯不通過 18. 執(zhí)行for(int i=10; i>1; -i) cout<<.*.;語句段后,輸出字符“*”的個數(shù)是( ) A. 7 B. 8 C.

37、 9 D. 10 二、寫程序運行結果 1. 寫出下面的程序的運行結果 #include <iostream.h> #include <iomanip.h> void main() int i,j,k; for(i=1; i<=6; i+) for(j=1; j<=20-2*i; j+) cout<<” ”; for(k=1;k<=i; k+) cout<<setw(4)<<i; cout<<endl; 2. 寫出下面的程序的運行結果 #include <iostream.h> #include

38、 <iomanip.h> 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) << k ; for(k=i-1; k>0; k-) cout << setw(3) << k ; cout<<endl; 3. #include <iostream.h> char input=”SSSWILTECH111

39、1W1WALLMP1”; void main() int i; char c; for(i=2; (c=inputi)!=0; i+) switch(c) case a: cout<<i; continue; case 1: break; case 1: while(c=input+i)!=1 && c!=0); case 9: cout<<S; case E: case L: continue; default: cout<<c; continue; cout<<” “; cout<<endl; SWITCH SWA

40、MP4. #include <iostream.h> void main() int a,b,c,s,i; a=b=c=0; for(i=0; i<10; i+) cin>>s; switch(s%3) case 0: a+=s; break; case 1: b+=s; break; case 2: c+=s; break; cout<<a<<”,”<<b<<”,”<<c<<endl; 假定輸入的10個整數(shù)為:12,34,54,51,9,45,63,27,6,35,寫出該程序的運行結果。 2

41、67,34,355. #include <iostream.h> void main() int i,j; for(i=1; i<=4; i+) for(j=(4-i)*2; j>0; j-)cout<<” “; for(j=1; j<=2*i-1; j+)cout<<”*”; cout<<endl; for(i=3; i>=1; i-) for(j=(4-i)*2; j>0; j-)cout<<” “; for(j=1; j<=2*i-1; j+)cout<<”*”; cout<

42、<endl; 三、改錯題 1. 水仙花數(shù)是一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。以下程序輸出所有的水仙花數(shù)。 #include <iostream> using namespace std; void main() int i,a,b,c; for (i=100;i<1000;i+); a=i/100; b=i%100/10; c=i/10; if (i=a*a*a+b*b*b+c*c*c) cout<<i<<endl; 2. #include <iostream.h> #include <iomanip.h> vo

43、id main() for(int n=1;n<6;n+) cout<<setfill(' ')<<setw(n)<<' '<<setfill('m')<<setw(11-2*n)<<'m'<<endl; 四、程序填空題 1. 求3到100之間的所有素數(shù)之和。 #include <iostream.h> 1 #include <math.h>void main() int sum=0; for (int i=3; i&

44、lt;=100; i+) int temp=int(sqrt(i); for (int j=2; j<=temp; j+) if (i%j) 2 break;if (3 j>temp) sum+=i; cout<<sum<<endl; 2. 展轉(zhuǎn)相除法求兩個整數(shù)a和b的最小公倍數(shù)。 #include <iostream> using namespace std; void main() int a=10,b=15; int temp,i=1; if ( 1a<b ) temp=a; a=b; b=temp; while (i*a%b!=0)

45、 2i+ ; cout<< 3i*a <<endl; 3.下列程序計算1000以內(nèi)能被3整除的自然數(shù)之和,請完成程序。 #include <iostream.h> void main() int x=1, sum; 1sum=0; while(1) if( 2x>1000 )break; if( 3x%3=0 )sum+=x; x+; cout<<sum<<endl; 第四章 函數(shù)與預處理 一、選擇題 1. 若要定義一個只允許本源文件中所有函數(shù)能使用的全局變量,則該變量需要使用的存儲類別是( ) A. extern B. reg

46、ister C. auto D. static 2. 函數(shù)的重載是指( ) A. 兩個或兩個以上的函數(shù)有相同的函數(shù)名,但函數(shù)形參的個數(shù)或類型不同 B. 兩個以上的函數(shù)有相同的函數(shù)名和相同個數(shù)的參數(shù),但形參的類型可以不同 C. 兩個以上的函數(shù)有不同的函數(shù)名,但形參的個數(shù)或類型相同 D. 兩個以上的函數(shù)有相同的函數(shù)名,并且函數(shù)的返回類型不同 3. 關于函數(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

47、) (x)*(x) ,則表達式:2.7/S(3.0)在預編譯過程中將( ) A. 被替換為2.7/3.0*3.0 B. 被替換為2.7/(3.0)*(3.0) C. 被替換為2.7/(3.0)*(3.0) D. 不能被替換 5. 關于內(nèi)置函數(shù)的說法中,不正確的是( ) A. 內(nèi)置函數(shù)不需要使用堆棧進行現(xiàn)場的保護與恢復 B. 內(nèi)置函數(shù)以犧牲程序的存儲空間換取程序的執(zhí)行時間 C. 內(nèi)置函數(shù)體內(nèi)不能有循環(huán)語句 D. 類的內(nèi)置函數(shù)必須在類體外通過加關鍵字inline定義 6. 在函數(shù)定義前加上inline表示該函數(shù)被定義為( ) A. 重載函數(shù) B. 內(nèi)置函數(shù) C. 成員函數(shù) D. 普通函數(shù) 7. 關

48、于設置C+函數(shù)參數(shù)默認值的描述中,正確的是( ) A. 不允許設置函數(shù)參數(shù)的默認值 B. 只能在定義函數(shù)時設置函數(shù)參數(shù)的默認值 C. 設置函數(shù)參數(shù)默認值時,應該是先設置右邊的再設置左邊的 D. 設置函數(shù)參數(shù)默認值時,應該全部參數(shù)都設置 8. 若同時定義了下列四個選項格式的函數(shù)和模板,fun(8,3.1)調(diào)用的是( ) A. template<class T1,class T2)fun(T1,T2) B. fun(double,int) C. fun(char,char) D. fun(double,char) 9. 關于函數(shù)模板的敘述中,正確的是( ) A. 函數(shù)模板實際上是函數(shù)類型和形

49、參類型不具體指定的通用函數(shù) B. 函數(shù)模板可以用于描述函數(shù)體不同的一系列函數(shù) C. 函數(shù)模板可以用于描述參數(shù)個數(shù)不同的一系列函數(shù) D. 函數(shù)模板定義中typename和class的作用不同 10. 關于變量的存儲類別的描述中,不正確的是( ) A. 變量的存儲類別指的是變量值在內(nèi)存中存儲的方法 B. 變量的存儲類別與變量值存在的時間有關 C. 變量的存儲類別決定了變量占用內(nèi)存的分配與釋放時間 D. 變量的存儲類別不能確定變量的作用域 11已知函數(shù)func的原型是:double func(double*pd,int &ri); 變量x和y的定義是:double x; int y; 把x和

50、y分別作為第一參數(shù)和第二參數(shù)來調(diào)用func,正確的調(diào)用語句是( ) A. func(x,&y); B. func(&x,y); C. func(&x,&y); D. func(x,y); 12. 關于遞歸函數(shù)的說法中,不正確的是( ) A. 遞歸函數(shù)可以改寫為非遞歸函數(shù) B. 遞歸函數(shù)應有遞歸結束的條件 C. 解決同一個問題的遞歸函數(shù)的效率比非遞歸函數(shù)的效率要高 D. 遞歸函數(shù)往往更符合人們的思路,程序更容易理解 13. 下列敘述中,正確的是( ) A. 預處理命令行必須位于源文件的開頭 B. 在源文件的一行上可以有多條預處理命令 C. 宏名必須用大寫字母表示

51、D. 宏替換不占用程序的運行時間 14. 關于函數(shù)模板的說法中,正確的是( ) A. 函數(shù)模板中typename和class用于定義不同的虛擬類型名 B. 能被函數(shù)模板代替的函數(shù)必須具有相同個數(shù)的形參 C. 函數(shù)模板的虛擬類型名由C+系統(tǒng)自動確定 D. 函數(shù)模板的虛擬類型名是在運行階段確定實際類型的 15. 關于函數(shù)的說法中,錯誤的是( ) A. 函數(shù)定義是平行的 B. 函數(shù)可以嵌套調(diào)用 C. 函數(shù)可以嵌套定義 D. 函數(shù)可以遞歸調(diào)用 16. 定義一個函數(shù)模板要用到的第一個修飾符是( ) A. typename B. template C. class D. typedef 17. 為了提高程

52、序的運行速度,可將不太復雜的功能用函數(shù)實現(xiàn),此函數(shù)應選擇( ) A. 內(nèi)置函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 函數(shù)模板 18. 不是重載函數(shù)調(diào)用時選擇依據(jù)的是( ) A. 參數(shù)個數(shù) B. 參數(shù)類型 C. 函數(shù)名字 D. 函數(shù)類型 19. 關于局部變量的說法中,不正確的是( ) A. 函數(shù)聲明中的形式參數(shù)名在函數(shù)被調(diào)用時分配內(nèi)存空間 B. 不同的函數(shù)中可以定義同名的局部變量 C. 函數(shù)定義中的形式參數(shù)名也是局部變量 D. 局部變量只在定義它的函數(shù)或復合語句(塊)中有效 20. 關于函數(shù)模板的敘述中,正確的是( ) A. 函數(shù)模板也是一個具體類型的函數(shù) B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念 C. 通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù) D. 用函數(shù)模板定義的函數(shù)沒有類型 21. 在函數(shù)的傳值調(diào)用中,要求( ) A. 形參和實參類型任意,個數(shù)相等 B.

溫馨提示

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

評論

0/150

提交評論