C++語言程序的設(shè)計期末復(fù)習(xí)題_第1頁
C++語言程序的設(shè)計期末復(fù)習(xí)題_第2頁
C++語言程序的設(shè)計期末復(fù)習(xí)題_第3頁
C++語言程序的設(shè)計期末復(fù)習(xí)題_第4頁
C++語言程序的設(shè)計期末復(fù)習(xí)題_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+語言程序設(shè)計期末復(fù)習(xí)題一、單項選擇題1. C+ 源程序文件的默認(rèn)擴展名為 ( A ) 。A. cpp B. exe C. objD. lik2. 由 C+源程序文件編譯而成的目標(biāo)文件的默認(rèn)擴展名為( C )A. cppB. exe C. objD. lik3. 由 C+目標(biāo)文件連接而成的可執(zhí)行文件的默認(rèn)擴展名為( B )A. cppB. exe C. objD. lik4. C+程序從上機到得到結(jié)果的幾個操作步驟依次是( B ) 。A.編譯、編輯、連接、運行B.編輯、編譯、連接、運行C.編譯、運行、編輯、連接D.編輯、運行、編輯、連接5. 以下標(biāo)識符中不全是保留字的是( B )。A. ca

2、se for int B. default then whileC. bool class long D. goto return char6. 能作為 C+程序的基本單位是 ( C ) 。A. 字符 B. 語句 C. 函數(shù) D. 源程序文件7. 程序中主函數(shù)的名字為( A )。A. main B. MAIN C. Main D. 任意標(biāo)識符8. C+ 程序的基本模塊為( D )。A. 表達式 B. 標(biāo)識符 C. 語句 D. 函數(shù)9. 可用作 C+語言用戶標(biāo)識符的一組標(biāo)識符是 ( B )A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD.

3、 2a DO sizeof10. 存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是( D )。A. 0 B.0C. “0” D. 0.011. 程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用 ( D ) 符號作 為分隔符。A. 空格或逗號 B. 逗號或回車 C. 逗號或分號 D. 空格或回車12. 設(shè)”int a=12; ”,則執(zhí)行完語句” a+=a*a; ”后, a的值是 ( C ) 。A. 12 B. 144 C. 156 D. 28813. 假設(shè)在程序中 a 、b、 c 均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式的表達式是 ( D ) 。A. 1.0/a*b*c B. 1/(

4、a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c14. 設(shè)”int a=15,b=26; ”,則” cout0 & x=10 的相反表達式為( A )。A. x10 B. x10C. x=0 | x0 & x1017. x0 | y=5 的相反表達式為( B )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=518 設(shè) x 和 y 均為 bool 量,則 x & y 為真的條件是 ( A ) 。A. 它們均為真 B. 其中一個為真 C. 它們均為假 D. 其中一個為 假19 設(shè) x 和 y 均為 bool 量,則 x | y 為假的條件是

5、( C ) 。A.它們均為真 B. 其中一個為真 C. 它們均為假 D. 其中一個為20. 字符串” a+b=12 n”的長度為( B )。 長度算的不是字節(jié), “ 12”算為 2A. 6 B. 7 C. 8 D. 921. 假定下列 x 和 y 均為 int 型變量,則不正確的賦值為( B )。 X+ 沒有意義A. x+=y+ B. x+=y+ C. x=+y D. +x=+y22 下列的符號常量定義中,錯誤的定義是( C )。A. const M=10;B. const int M=20;C. const char ch; D. const bool mark=true;23. 循環(huán)語句“

6、 for(int i=0; in; i+) couti*i ; ”中循環(huán)體執(zhí)行的次數(shù)為( C ) 。A. 1 B. n-1 C. n D. n+124. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( B )。for(int i=0; in/2) break;A. n/2 B. n/2+1 C. n/2-1 D. n-125. 在下面循環(huán)語句中層循環(huán)體 S 語句的執(zhí)行總次數(shù)為( D )。for(int i=0; in; i+)for(int j=i; jn; j+) S;A. nB. (n+1)/2C. n(n-1)/2D. n(n+1)/226. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( C )。int

7、i=0,s=0; while(s20) i+; s+=i;A. 4 B. 5 C. 6 D. 727. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為(B )。int i=0; do i+; while(i*i10);A. 4 B. 3 C. 5 D. 228. 當(dāng)處理特定問題時的循環(huán)次數(shù)已知時,通常采用)來解決。A. for循環(huán) B. while循環(huán)C. do循環(huán)D. switch語句29. 循環(huán)體至少被執(zhí)行一次的語句為(C )。A. for循環(huán) B. while循環(huán)C. do循環(huán)D.任一種循環(huán)30. switch語句能夠改寫為(語句。A. for B. if C. do D. while31. do

8、語句能夠改寫為( D)語句。A.復(fù)合 B. if C. switch D. while32. 在下面的一維數(shù)組定義中,哪一個有語法錯誤。A. int a=1,2,3; B. int a10=0;C. int a;D. int a5;33. 在下面的字符數(shù)組定義中,哪一個有語法錯誤。)。A. char a20=”abcdefg”; B. char a=”x+y=55. ”C. char a15;D. char a10=5;34. 在下面的二維數(shù)組定義中,正確的是A. int a5;B. int a5;C. int a3=1,3,5,2; D. int a(10);35. 假定一個二維數(shù)組的定義語

9、句為 的值為( C )。“ int a34=3,4,2,8,6;”,則元素 a12A. 2 B. 4 C. 6 D. 836. 假定一個二維數(shù)組的定義語句為“ int a34=3,4,2,8,6;”,則元素a21的值為( A )。A. 0 B. 4 C. 8 D. 637.若定義了函數(shù) double *function(),則函數(shù) function 的返回值為( B )。A.實數(shù)型 B. 實數(shù)的地址 C. 指向函數(shù)的指針 D. 函數(shù)的地址38.以下說法中正確的是( B )。A. C+ 程序總是從第一個定義的函數(shù)開始執(zhí)行B. C+ 程序總是從 main 函數(shù)開始執(zhí)行C. C+函數(shù)必須有返回值,否

10、則不能使用函數(shù)D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中39.以下敘述中不正確的是( C )。A.在一個函數(shù)中,可以有多條 return 語句B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)必須有返回值D.不同的函數(shù)中可以使用相同名字的變量40.函數(shù)重載是指( A )。A.兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同B.兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同C.兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D.兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同41.以下關(guān)于函數(shù)模板敘述正確的是( C )。A.函數(shù)模板也是一個具

11、體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型42.列( C )的調(diào)用方式是引用調(diào)用。A. 形參和實參都是變量 B. 形參是指針,實參是地址值C. 形參是引用,實參是變量 D. 形參是變量,實參是地址值43. 為了提高程序的運行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇 A )。A. 聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 函數(shù)模板44. 函數(shù)原型語句正確的是( B )。A. int Function(void a); B.void Function (int);C. int Fu

12、nction(a); D.void int(double a);45. C+ 中函數(shù)返回值的類型是由( B )決定的。A. return 語句中表達式的類型 B. 該函數(shù)定義時的類型C. 調(diào)用函數(shù)時的調(diào)用語句 D. 系統(tǒng)根據(jù)結(jié)果46. 以下函數(shù)的返回結(jié)果是( A )。int function(char *x) char *p=x; while(*p+); return(p-x-1);A.求字符串的長度 B. 將字符串 x 連接到字符串 p 后面C.將字符串 x 復(fù)制到字符串 p 中 D. 將字符串 x 反向存放47. 函數(shù)調(diào)用 func(exp1,exp2),(exp3,exp4,exp5)

13、中所含實參的個數(shù)為 ( B ) 個。A. 1 B. 2 C. 4 D. 548. 設(shè)有如下函數(shù)定義int f(char *s) char *p=s;while(*p!= 0 ) p+;return(p-s);在主函數(shù)中用 cout f( “good” ) 調(diào)用上述函數(shù) , 則輸出結(jié)果為( B )。A. 3 B. 4 C. 5 D. 649. 以下正確的函數(shù)原型語句是 ( C ) 。A. double fun(int x,int y)B. double fun(int x;int y)C. double fun(int,int); D. double fun(int x,y);50. 以下正確的

14、說法是( 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ù)所在文件包括到用戶源 文件中、填空題1. C+ 語言是在 語言的基礎(chǔ)上發(fā)展起來的。2. C+ 語言的編譯單位是擴展名為 的源代碼 文件。3. 行尾使用注釋的開始標(biāo)記符為 。4. 多行注釋的開始標(biāo)記符和結(jié)束標(biāo)記符分別為 和 。5. 用于輸出表達式值的標(biāo)準(zhǔn)輸出流對象是 。6. 用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對象是 。7. 一個完整程序中必須有一個名為 的函數(shù)。8. 一個函數(shù)的函數(shù)體就

15、是一條 語句。9. 當(dāng)執(zhí)行 cin 語句時,從鍵盤上輸入每個數(shù)據(jù)后必須接著輸入一個 符,然后才能繼續(xù)輸入下一個數(shù)據(jù)。10. 在 C+程序中包含一個頭文件或程序文件的預(yù)編譯命令為 。11. 程序中的預(yù)處理命令是指以 字符開頭的命令。12. 一條表達式語句必須以 作為結(jié)束符。13. 在#include 命令中所包含的頭文件, 可以是系統(tǒng)定義的頭文件, 也可以是 定義的頭文件。14. 使用 #include 命令可以包含一個頭文件,也可以包含一個 文件。15 一個函數(shù)定義由 和 兩部分組成。16 若一個函數(shù)的定義處于調(diào)用它的函數(shù)之前, 則在程序開始可以省去該函數(shù)的 語句。17 C+頭文件和源程序文件

16、的擴展名分別為 和 。18 程序文件的編譯錯誤分為 和 兩類。19 當(dāng)使用 保留字作為函數(shù)類型時,該函數(shù)不返回任何值。20 當(dāng)函數(shù)參數(shù)表用 保留字表示時,則表示該參數(shù)表為空。21 從一條函數(shù)原型語句“ int fun1(void);”可知,該函數(shù)的返回類型為 ,該函數(shù)帶有 個參數(shù)。22. 當(dāng)執(zhí)行 cout 語句輸出 endl 數(shù)據(jù)項時, 將使 C+顯示輸出屏幕上的光標(biāo)從當(dāng)前位置 移動到 的開始位置。23.假定 x=5, y=6,則表達式 x+*+y 的值為 35 。 X+ 返回的值是加之后的,但 x 本身已經(jīng)加了 1 了,注意是返回值,區(qū)別 +x24. 假定 x=5,y=6,則表達式 x-*-

17、y 的值為 25 。25. 假定 x=5, y=6,則執(zhí)行表達式 y*=x+ 計算后, x和y的值分別為 6和30。26. 假定 x=5, y=6,則執(zhí)行表達式 y+=x- 計算后, x和y的值分別為 4和_11。27. C+ 常數(shù) 0x145 對應(yīng)的十進制值為 。28. C+ 常數(shù) 0345 對應(yīng)的十進制值為 。29. 十進制常數(shù) 245對應(yīng)的十六進制的 C+表示為 。10是 A了30. 十進制常數(shù) 245 對應(yīng)的八進制的 C+表示為 。31. signed char類型的值域圍是 至 之間的整數(shù)。32. int和 float 類型的數(shù)據(jù)分別占用 4和 4個字節(jié)。33. float和 dou

18、ble 類型的數(shù)據(jù)分別占用 4和 8 個字節(jié)。34. bool和 char 類型的數(shù)據(jù)分別占用 1和 1_個字節(jié)。35. unsigned short int和 int 類型的長度分別為 2和 4。36. 字符串” This s a book. n”的長度為 _15。37. 字符串” s a penn”的長度為 15 。38. 在 C+中存儲字符串” abcdef ”至少需要 個字節(jié)。39. 在 C+中存儲字符串” a+b=c”至少需要 個字節(jié)。40. 假定 x 和 y 為整型,其值分別為 16 和 5,則 x%y 和 x/y 的值分別為 和。41. 假定 x 和 y 為整型,其值分別為 16

19、 和 5,則 x/y 和 double(x)/y 的值分別為 和。42.假定 x 是一個邏輯量,則x & true的值為 43.假定 x 是一個邏輯量,則x | true的值為 44.假定 x 是一個邏輯量,則x & false 的值為 45.假定 x 是一個邏輯量,則x | false的值為 46.假定 x 是一個邏輯量,則!x | false的值為 47.假定 x 是一個邏輯量,則x & !x的值為 。48.假定 x 是一個邏輯量,則x | !x的值為 。49.數(shù)學(xué)算式的C+表達式為 。50.數(shù)學(xué)算式的C+表達式為 。51.數(shù)學(xué)算式的C+表達式為 。52.設(shè) enum。Printstatu

20、sready,busy,error;則 coutbusy的輸出結(jié)果是53.設(shè) enum 。Printstatusready=2,busy,error;則 coutbusy的輸出結(jié)果是54.常數(shù) -4.205和 6.7E-9 分別具有 _和 位有效數(shù)字。55. 枚舉類型中的每個枚舉值都是一個 ,它的值為一個 。56. 常數(shù) 100 和 3.62 的數(shù)據(jù)類型分別為 和 。57. 若 x=5, y=10, 則計算 y*=+x 表達式后, x 和 y 的值分別為 和 。58. 假定 x 和 ch 分別為 int 型和 char 型,則 sizeof(x) 和 sizeof(ch) 的值分別為 和 。5

21、9. 假定 x=10,則表達式 x=10?20:30 的值為 。60. 表達式 sqrt(81) 和 pow(6,3) 的值分別為 和 。三、程序填充題,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的容填寫 到程序下面相應(yīng)標(biāo)號的后面。1. 斐波那契數(shù)列的第 1 和第 2 個數(shù)分別為 0 和 1 ,從第三個數(shù)開始, 每個數(shù)等于其前 兩個數(shù)之和。求斐波那契數(shù)列中的前 20個數(shù),要求每行輸出 5 個數(shù)。#includevoid main() int f,f1,f2,i;cout ” 斐波那契數(shù)列: n ”;f1=0; f2=1; coutsetw(6)f1setw(6)f2;for(i=3

22、;i=20;i+) f=(1);coutsetw(6)f;if(2) coutendl;f1=f2;f2=(3); coutendl;(1) (2) (3)2. 計算的值。#includevoid main()double x,p1=1,p2=1,s=0;int i,j=1;coutx;for(i=1;i=10;i+) p1*=_(1);p2*=(2);s+=j*p1/p2; /j 的值為 (-1) j=(3); coutsendl;(1) (2) (3)3. 打印出 2 至 99 之間的所有素數(shù) (即不能被任何數(shù)整除的數(shù) ) 。#include#includevoid main()int i

23、,n;for(n=2; _(1)_; n+) int temp=int(sqrt(n); / 求出 n 的平方根并取整for(i=2; _(2)_; i+)if(n%i=0) _(3)_;if(itemp) coutn ; coutn;(1)(2)(3)4. 采用輾轉(zhuǎn)相除法求出兩個整數(shù)的最大公約數(shù)。#includevoid main()int a,b;coutab;while(a=0 | _(1)_) coutab;while(b) int r;r=a%b;_(2)_; _(3)_; /分別修改 a 和 b 的值coutaendl; / 輸出最大公約數(shù)(1) (2) (3)5. 把從鍵盤上輸入

24、的一個大于等于 3 的整數(shù)分解為質(zhì)因子的乘積。 如輸入 24 時得到的 輸出結(jié)果為“ 2 2 2 3 ”,輸入 50 時得到的輸出結(jié)果為“ 2 5 5 ”,輸入 37 時得到的輸出結(jié)果 為“ 37”。#includevoid main()int x;coutx; while(_(1)_);int i=2;dowhile(_(2)_) couti ;x/=i;_(3)_;while(ix);if(x!=1) coutx;cout=i & _(3)_);return p*a*b;(1) (2) (3)7. 在輸出屏幕上打印出一個由字符 *組成的等腰三角形, 該三角形的高為 5 行,從 上到下每行的

25、字符數(shù)依次為 1,3,5,7,9 。#includevoid main()int i,j;for(i=1;_(1)_;i+) for(j=1;j=9;j+)if(j=5-i | _(2)_) cout ;else _(3)_;coutendl;(1) (2) (3)8. 統(tǒng)計字符串中英文字母個數(shù)的程序。#include int count (char str);void main()char s180;cout s1;cout ”count= ”count(s1)=a & stri= z_(2)_;_(3)_;(1)(2)(3)9. 主函數(shù)調(diào)用一個 fun 函數(shù)將字符串逆序。#include#

26、include_(1)_;void main( ) char s80;cins;_(2)_;cout ”逆序后的字符串 : ”sendl ;void fun(char ss) int n=strlen(ss);for(int i=0; _(3); i+) char c=ssi;ssi=ssn1 i;ssn 1 i=c;(1)(2)(3)10. 從一個字符串中刪除所有同一個給定字符后得到一個新字符串并輸出。#includeconst int len=20;void delstr(char a,char b,char c);void main() char str1len,str2len;char

27、 ch;coutstr1;coutch;delstr(str1,str2,ch);coutstr2endl;void delstr(char a,char b,char c)int j=0;for(int i=0; _(1)_; i+)if(_(2)_) bj+=ai;bj=_(2)_;(1)(2)(3)四、寫出程序運行結(jié)果1. #include#includevoid main()int a8=25,48,32,85,64,18,48,29;int max,min;max=min=a0;for(int i=0; iai) max=ai;if(minai) min=ai;coutmax:max

28、endl; coutmin:minendl;2. #includevoid main()int a,b;for(a=1,b=2; b50;) couta b ;a=a+b;b=a+b;coutendl;couta b endl;3. #includeconst int M=3, N=4;void main()int i,j,s=0;for(i=1;i=M;i+)for(j=1;j=N;j+)s+=i*j;cout ”s=”sendl;4. #includevoid main()int a=2,b=5,c=0;if(a+b10) c=a*b; else c=3*a+b;if(c=20) cout

29、c*c; else cout4+c-5;coutendl;a=a+b; b=a+b;c+=a+b;couta,b,c=a,b,cendl;5. #includevoid main()int x=5;switch(2*x-3) case 4: coutx ;case 7: cout2*x+1 ;case 10: cout3*x-1 ; break;default: coutdefaultendl;coutswitch end.endl;6. #include#includeint a4=36,-5,73,8;void main()int i,y;for(i=0; i4; i+) if(ai0)

30、y=1;else if(ai10) y= ai* ai+3;為取 x 的平方根函數(shù)else if(ai60) y=4*ai-5;else y=int(sqrt(ai); / sqrt(x)coutsetw(5)aisetw(5)y;7. #includeint a8=36,25,20,43,12,70,66,35;void main()int s0,s1,s2;s0=s1=s2=0;for(int i=0; i8; i+) switch(ai%3) case 0: s0+=ai;break;case 1: s1+=ai;break;case 2: s2+=ai;break;couts0 s1

31、s2endl;8. #includeconst int N=5;void main()int i,p=1,s=0;for(i=1;iN; i+) p=p*i;s=s+p;coutsetw(5)isetw(5)p;coutsetw(5)sendl;9. #includeconst int M=20;void main()int c2,c3,c5;c2=c3=c5=0;for(int i=1; i=M; i+) if(i%2=0) c2+;if(i%3=0) c3+;if(i%5=0) c5+;coutc2 c3 c5endl;10. #includevoid main()int i,j;for(

32、i=0;i5;i+) for(j=i;j5;j+) coutcoutendl;11. #includevoid main()for(int i=1,s=0;i20;i+) if(i%2=0 | i%3=0) continue;couti ;s+=i;coutsendl;五、指出程序或函數(shù)的功能1. #includevoid main()int i,s=0;for(i=2;i=30;i+=2) s+=i*i;couts=sendl;2. #include#include#includevoid main()int i=10,a;while(i0) 為求 x 的平方根函數(shù)a=rand()%90+10;int j, k=int(sqrt(a)+1e-5); /sqrt(x)for(j=2; jk) couta ; i-;3. void trans(int x)char a10;int i=0,rem;do rem=x%16;x=x/16;if (rem0) couta i;coutendl;4. #includedouble f1(int n) double sign=1,s=1;for(int i=2;ia;coutf1(a)endl;5. double f1(double a, double b, char op)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論