C++語言程序設計復習_第1頁
C++語言程序設計復習_第2頁
C++語言程序設計復習_第3頁
C++語言程序設計復習_第4頁
C++語言程序設計復習_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 1 頁共 31 頁c+ 程序復習題一. 選擇題(每題 2 分,共 40 分)1.c+規(guī)定,在一個源程序中,main() 函數(shù)的位置() 。 a.必須在最開始 b.必須在最后 c. 可以任意 d.必須在系統(tǒng)調用的庫函數(shù)的后面2. 以下()是 c/c+合法的標識符。a.char 2 b.x c.int d.7bx 3. 下面的程序,對于輸入:2 9 15 ,輸出的結果是() 。 #include void main() int a; float b; cout”input a,b” ab; cout”a+b=”a+bendl; a.2 b.11 c.26 d.24 4. 下面關于編譯預處理命令

2、的說法中,正確的是() 。 a.一條文件包含命令能包含多個文件 b.文件包含命令不可以嵌套使用c.編譯 預處理命令是在編譯之前被處理的命令 d.編譯預處理命令中的“#”可以省略5.在以下關于c+語言的敘述中,正確的是()a if 語句結構中必須有else 語句bswitch 語句結構中必須有default 語句cc+程序必須有return 語句d c+中使用流來執(zhí)行標準的輸入輸出操作6. 下列不正確的變量定義方法是() 。 a.int a,&b=a; b. float a,*b=&a; c.int a(4),b(0); d. int a=b=5; 7. 下列運算符優(yōu)先級按由高到

3、低的順序排列正確的是() 。 a.*=. &.!=.% b.*=. %. &. != c.%. ! = .& .*= d. &. !=. %.= 8. 已知 x,y 為整型, z 為實型, ch 為字符型,下列表達式中合法的是() a.z=(y+x)+ b.x+y=z c.y=ch+x d.y=z%x 9. 若有變量定義”int a=7; ”,則下列語句組對應的輸出結果是() switch(a%5) 第 2 頁共 31 頁 case 0: couta+; case 1: cout+a; case 2: couta-; case 3: cout -a; defau

4、lt:cout”其它值” ; a. 其它值 b.5 c.7 d.75 其它值 10. 執(zhí)行下列程序段后,變量k的值為() for(k=0,m=1;m4;m+) for(n=1;nc,c!= n ) coutc+2; a.222 b. cde c.676869 d.333 12. 以下不能對二維數(shù)組a 初始化的語句是() a.int a2=1,2; b.int a23=1,2,3,4,5,6; c.int a23=1; d.int a23=1,2; 13. 已知有語句“ int a34=1,2,5,3,2,4,7,9,3,6,5,8,*p=&a00;” ,則表達式(*p+2)+*(p+2

5、)的值應為() 。 a.10 b.5 c.6 d.8 14. 要比較兩個字符數(shù)組a,b 中字符串是否相等,下面正確的是() 。 a.a=b b. strcmp(a,b)=0 b.strcpy(a,b) d.strcmp(a,b)=0 15. 若函數(shù)的類型和return語句中的表達式類型不一致,則() a.編譯時出錯b.運行時出現(xiàn)不確定結果 c.不會出錯,且返回值的類型以return語句中表達式的類型為準d.不會出錯, 且返回值的類型以函數(shù)類型為準。16. 下面函數(shù)說明正確的是() a.void f1 (int a=3,int b,int c); b.void f2 (int a,int b=3

6、,inc c); c.void f3(int a,int b,int c=3); d.void f4(int a,int b,int 3); 17. 下面程序的輸出結果是() #include int m=10; void f(int m,int &n) 第 3 頁共 31 頁 m=m+2;n=n+2; void main() int n=5; f(m,n); cout”m= ”m ”n=” ngetname() 21.c+源程序文件的擴展名為() a.cpp b.c c.dll d.exe 22. 以下()是 c+ 合法的表達式 a. a=1 ,a+ b. (x+y)+ c. a+b

7、=c d. 12.25%10 23. 以下程序的輸出結果是:()#include int fun(char *s) char *p=s; while (*p!=0) p+; return (p-s); void main() coutfun(abc)endl; a.0 b.1 c.2 d.324. 下面敘述中正確的是()a.for循環(huán)只能用于循環(huán)次數(shù)已經確定的情況b.for循環(huán)同 do-while語句一樣,先執(zhí)行循環(huán)體再判斷c. 不管 哪種形式的循環(huán)語句,都可以從循環(huán)體內轉到循環(huán)體外d.for循環(huán)體內不可以出現(xiàn)while 語句25. 使用()可以設置數(shù)據(jù)輸出的寬度。 a.setbase(int

8、 n) b.s etw(int n) c.setfill(int n) d.setprecision(int n) 第 4 頁共 31 頁26. 在 int a3=1,3,2,4,5,6,0中, a22的值是 ( ) a.3 b. 2 c. 6 d.4 27. 下面正確定義數(shù)組的語句是()aint x2=2,1,3,2 b. int x=2,1,3,2 c. int x2=2,1,3,2 d. int x2,2=2,1,3,2 28. 已知 char c; const char *pc=asdf ; ( )是正確的。a.pc= dfgh b.*pc=b c.*pc+=y d.pc=&c

9、 29. 若有變量定義”int a=7; ”,則下列語句組對應的輸出結果是() switch(a%5) case 0: couta+; case 1: cout+a; case 2: couta-; case 3: cout -a;break; default:cout”其它值” ; a.5 b.7 c.75 d.75其它值 30. 以下程序段的輸出結果是() for(i=4;i=10;i+) if(i%3=0) continue; couti; a.45 b. 45781 0 c.69 d.678910 31. 執(zhí)行下列語句后的輸出結果是() 。int hot=10; int &ra

10、d=hot; hot+=10; coutradendl; a.0 b.20 c.10 d.30 32. 若用數(shù)組名作為函數(shù)調用的實參,傳遞給形參的是。a.數(shù)組的首地 址 b.數(shù)組中第一個元素的值 c. 數(shù)組全部元素的值 d.數(shù)組元素的個數(shù)33. 定義如下變量和數(shù)組: int i; int x33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) coutxi2-i; 則下面語句的輸出結果是() 。 a.1 5 9 b.1 4 7 c.3 5 7 d.3 6 9 34. 將兩個字符串連接起來組成一個字符串時,選用的函數(shù)是。 a. strlen() b. strcap() c.

11、strcat() d. strcmp() 35. 若有以下程序段: int x12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a ,d,g; 第 5 頁共 31 頁則數(shù)值為4 的表達式是() 。 a. xg-c b. x4 c. x,d? - ,c? d. x ? d? -c36. 若函數(shù)的調用形式如下:f(x1,x2,x3),(y1,y2) 則函數(shù)形參個數(shù)是() 。a. 2 b. 3 c.4 d. 5 37. 有如下程序#include #include using namespace std; int main() coutsetprecision(3)fixe

12、dsetfill(*)setw(8); cout 12.345 34.567; return 0; 若程序的輸出是:*12.345*34.567 則程序中下劃線處遺漏的操作符是_。a.setprecision(3) b.fixed c.setfill(*) d.stew(8)38. 在私有繼承中,基類的公有成員將成為其派生類的() 。 a.公有 b.保護 c. 私有 d.不能訪問39. 下列哪個不是成員訪問限定符。a.public b.protected c.private d.static 40在下面關于函數(shù)的描述中錯誤的是()a在一個源文件中,如果函數(shù)定義在先,調用在后,則不必聲明該函數(shù)b

13、如果一個函數(shù)在一個源文件里定義,而調用在另一個源文件中,則必須在調用之前聲明該函數(shù)c函數(shù)的聲明應使用函數(shù)原型d在一個 源文件中,如果自定義函數(shù)調用在先,定義在后,則不必聲明該函數(shù)41. 若有 int a34=1,2,3,4,5,6,7,8,9,10,11,12; int (*q)4=a;*q=a0;則能夠正確表示數(shù)組元素a12的表達式是() 。 a.*(*q+1)2 b. *(*(q+5) c. (*q+1)+2 d. *(*(q+1)+2) 42. 類是 c+中的一種新的數(shù)據(jù)類型,下列有關類的說法不正確的是() 。a. 類是一種用戶自定義的數(shù)據(jù)類型b. 只有類中的成員函數(shù)才能存取類中的私有成

14、員c在類中,如果不做特別說明,所指的數(shù)據(jù)均為私有類型d. 在類中,如果不做特別說明,所有的成員函數(shù)均為公有類型43. 設 int x=1,3,5,7,9,11,13,*p=x;則不能正確引用數(shù)組元素的表達式是()第 6 頁共 31 頁 a.*(p-) b. *(-p) c.*(p+) d.*(+p) 44. 執(zhí)行下面程序段后,a 的值為() 。int a,b; for(b=1,a=1;b=10) break; if (a%2= =1) a+=5; continue; a-=3; a. 2 b. 6 c. 10 d. 8 45. 在下面的引用定義中,正確的是() 。a. int x,&y

15、; y=x; b. int x,&y=x ; c. int &y=x,x; d. float z; int x,y=&z; 46. 下面對模板的聲明正確的是_( ). a. template b. template c. template d. template 47. 已知一個類a的定義如下,則執(zhí)行“ a x(3) ;”語句后, x.a 和 x.b 的值分別為() class a int a,b ; public: a(int aa=1,int bb=0) a=aa;b=bb; a. 1和 0 b. 3 和 0c. 1和 3 d. 3和 0 48 c+ 源程序文件的擴

16、展名為()a. .cpp b. .obj c. .c d.exe 49. 下列變量名中, ()是合法的。a. double b. a+a c. china d. 5s 50. 下列符號能用作c+ 標識符是的() 。a. xyz/2 b. 2xsalec. x-sale d. x_sale 51.( )不是 c+的基本數(shù)據(jù)類型。a字符類型b數(shù)組類 型c整數(shù)類型d布爾類型52下列運算符中優(yōu)先級最高的是()a% b( )c ! d/第 7 頁共 31 頁53字符串常量“me ”的字符個數(shù)是() 。a4 b3c 2 d 154在 c+語言中, 080 是()a八進制數(shù)b十進制數(shù)c十六進制數(shù)d非法數(shù)55

17、整型變量i 定義后賦初值的結果是() 。int i=2.8*6 ; a 12 b16c17 d18 56如有 int m=31; 則表達式( m+*1/2 )的值是()a 0 b 15 c15.5 d 16 57在 c+語言中,自定義的標識符()a能使用關鍵字并且不區(qū)分大小寫b不能使用關鍵字并且不區(qū)分大小寫c能使用關鍵字并且區(qū)分大小寫d不 能使用關鍵字并且區(qū)分大小寫58下列 c+標點符號中表示一條語句結束的是()a # b/ c d ;59. 下列 c+標點符號中表示一條預處理命令開始的是()a #b/ c /* d &60定義如下變量:int i=2 ;int j=3 ;則 i/j的

18、值是()a 0.7 b 0.66667c0.66666. d 0 61已知 int a=2,a+=a-=a*a 的值是() 。a -4 b-2 c0d 462語句 n1=2,n2=+n1,n1=n2+; 執(zhí)行后變量n1,n2 的值分別為()a 3,4 b3,3 c 2,3 d 2,463下列程序段執(zhí)行后輸出結果為()char a=? a? ; cout” a=” a-32endl; a a=a ba=33c a=65d a=a-32 64 for(i=0,x=0; !x&i=3;i+)循環(huán)的次數(shù)為()a 4 b5 c1d 無限循環(huán)65若有如下程序段: int a=2,b=-1,c=2;

19、 if (ab) if (b0) c=0; else c+=1; cout” c=” cendl; 執(zhí)行后輸出結果是()a 2 b1 c 3 d 066有如下程序段:int i=10; switch(i) case 9: i+; 第 8 頁共 31 頁case 10: i+; case 11: i+; default: i+; 執(zhí)行后輸出結果是()a 11 b 12 c 13 d 14 67下列描述正確的是()a break 語句與 continue 語句完全一樣,可以相互代替。b用 break 語句可以提前終止整個循環(huán)c用 continue 語句可以提前終止整個循環(huán)d用 break 語句與

20、continue 語句都不能提前終止整個循環(huán)68以下 for 循環(huán)的執(zhí)行次數(shù)是()for (x=0,y=0 (y=123)&(x2); x+) a執(zhí)行 1 次b執(zhí) 行 2次c執(zhí)行 3 次d 無限次69為了避免嵌套的ifelse 語句的二義性,c 語言規(guī)定else 總是與()a縮排位置相同的if b在其之前未配對的if c在其之前未配對的最近的if d同一行上的if 70 break語句的作用是()a立即 跳出包含該break 語句的所在層的循環(huán)語句和switch 語句b立即跳出包含該break 語句的最小的各種循環(huán)語句c立即跳出包含該break 語句的 switch 語句d立即跳出包含

21、該break 語句的各層循環(huán)語句和switch 語句71下面程序段執(zhí)行完后,x 的值是()x=0 ; for (i=0 ; i90 ; i+) if (i) x+ ; a 0 b30 c89d 90 72 continue 語句的作用是()a結束包含該continue 語句的最小的各種循環(huán)語句b結束包含該continue 語句的各種循環(huán)語句c結束本次循環(huán),直接進行循環(huán)條件的判斷d循環(huán)執(zhí)行完后,結束循環(huán)73下列程序段循環(huán)()次int x=-10 ; while (+x) a 9 b10 c11 d無限74有如下程序段: . for (int i=1; i4; i+) if (i%2=0) con

22、tinue; couti ” ,” ; 執(zhí)行以下程序段的輸出結果是() 。第 9 頁共 31 頁a 1 b1,3,4 c1,3,d 2,4 75用邏輯表達式表示“大于10 而小于 20 的數(shù)” ,正確的是()a 10 x10| x10&x20d!(x=20) 76如果 switch 語句中的選擇表達式是字符型變量code,下面哪一項case子句是合法的()a case “ 3” : bcase ,3?: ccase 3 : d case=3: 77設 int a=10,b=11, c=12 ; (a+b)0 的值為() 。a true bfalse c與 n 的值相反d與 n 的值相同

23、80下列 do while 循環(huán)的循環(huán)次數(shù)是()int i=5 ; do couti-n; int an d const int n=10;int an; 88下面數(shù)組定義錯誤的是()a #define n 5 char an= “ good” 第 10 頁共 31 頁b const int n=5; char an= “ good” c int n=5; char an= “ good” ; dconst int n=5; char an+2= “ good” ; 89執(zhí)行下列語句:int c4=0,1,2,3; for(int i=0;i4;i+) ci=ci+i;則 c3的值是 ( )。

24、a 0 b4 c6 d8 90數(shù)組 int area4=1,2,3,4;執(zhí)行程序for (int i=1;i=4;i+) areai-1=1; 那么 area4的值是() 。a 4 b 3 c1 d不 確定值91對字符數(shù)組進行初始化,下列語句正確的是()a char a=” abcd” ; bchar a= ” abcd” ; cchar a4=” abcd” ; dchar a22= “ ab” ,” cd” ; 92下列關于指針運算的描述錯誤的是()a指針變量是用于存儲變量地址的變量b指針變 量是用于存儲變量值的變量c在一定條件下,指針變量可以為空值d可以使用指針變量來訪問數(shù)組93若已經定

25、義了a 為 int 型變量,則對指針變量p 的定義及初始化正確語句是() 。a int *p=a; bint p=a; c int *p=*a; dint * p=&a 94. 已知一運行正常的程序中有下面的語句,由此可知,變量a 和 b 的類型分別是()int *p2=&x,*p1=a;*p2=*b; a int 和 int bint * 和 int cint 和 int* dint *和 int * 95設有如下程序段,程序段運行后輸出的結果是() 。 int a=1, b=3, c=5; int *p1=&a,*p2=&b,*p=&c; *p=*p

26、1*(*p2); coutcendl; a1 b3 c5 d 15 96設有如下程序段:int x=8,*p=&x; cout*p+endl; 輸出的值為()a 8 b 9 c8 的地址d 9 的地址97設有定義語句: int *point,a=4 ;和 point=&a;下面均代表地址的一組選項是()a a, point b&a,*point cpoint , &a d a , *point 98設有定義語句:int a10,*p=a ;對數(shù)組元素正確使用的語句是()a ap bpa c*(p+2) dp+299. 設有定義語句:int a10= 0,1,2,

27、3,4,5,6,7,8,9 ,*p=a ;則數(shù)值不為3 的表達式是()a a3 bp3 c p+=2,*(p+) d p+=2,*(+p) 100設 int x=1,2,3,4,5,6 ; *p=x ;則數(shù)值為3 的表達式是()ap+=2,*+p bp+=2,*p+ cp+=3,*p d p+=2,+*p 第 11 頁共 31 頁101設 int x10=10 ,9,8,7,6,5, 4,3,2,1 ; *p=x ; 則數(shù)值為2 的表達式是()aa9 b*p8 c *(a+8) d p+8 101設有如下程序段: char *s=abcde; s+=2; cout*sendl; 輸出的值為()

28、a cde bc cc 的地址d無確定的輸出結果102設有定義語句:int *p4;則標志符p 是()a一個指向整型變量的指針b一個 指向整型的指針數(shù)組名c一個指針,它指向一個含有四個整型元素的一維數(shù)組d一個非法的定義語句103設有如下程序段:輸出的值為()int a33=9,8,7,6,5,4,3,2,1; int *p3; p1=a1; cout*(p1+2)endl; a 4b5 c6 d7 104c+ 中函數(shù)返回值的類型是由()a return 語句中的表達式類型所決定b調用該函數(shù)時的主調函數(shù)類型所決定c調用該函數(shù)時系統(tǒng)臨時決定d在定義該函數(shù)時所指定的函數(shù)類型所決定105以下敘述中正確

29、的是()a構成 c+程序的基本單位是函數(shù)b可以在一個函數(shù)中定義另一個函數(shù)c主函數(shù)必須放在其他函數(shù)之前d所有被調用的函數(shù)一定要在調用之前進行定義106以下正確的函數(shù)定義形式是()a int fun(int x; int y) bint fun(int x, int y) cint fun(int x, y) d int fun(int x ; ) 107若有函數(shù)原型int sum(int x, int y) ; 則使用語句coutsum(a, b) ; 調用該函數(shù)時,實參變量a和形參變量x 之間的數(shù)據(jù)傳遞方式為() 。a指針傳遞b引用傳遞c值 傳遞d變量傳遞108要求函數(shù)的功能是交換x 和 y

30、中的值,且通過正確調用返回交換結果。能實現(xiàn)正確交換功能的函數(shù)是() 。a void funa(int &x, int &y) i nt p; p=x; x=y; y=p; bvoid funb(int x, int y) int t; t=x; x=y; y=t; c void func(int *x, int *y) *x=*y; *y=*; d void funb(int x, int y) x=x+y ; y=x-y ; x=x-y ; 109關于引用下列說法正確的是()a引用是一 種特殊類型的變量,是另一個變量的別名b引用在函數(shù)調用中傳遞的是變量的值第 12 頁共 31

31、 頁c在聲明引用時,要給它另開辟內存單元d在聲明引用時,可以不進行初始化110在 c+ 函數(shù)頭定義中,若省略了返回值的數(shù)據(jù)類型,其默認的返回值的數(shù)據(jù)類型為()a int b void c float d double 111下面描述中,不正確的是() 。a在關鍵字private 后面聲明的成員,只允許本類中的函數(shù)訪問b在類的外部只能訪問類的公有成員c面向對象程序設計方法具有四個基本特征:抽象.封裝 .繼承 .多態(tài)性d函數(shù)的重載 體現(xiàn)了面向對象程序設計的繼承性112類 time 的構造函數(shù)名是()a class bpublic cprivate d time113類創(chuàng)建的對象稱為()a屬性b類

32、的實例c基類d派生類114下面描述中,不正確的是()a構造函數(shù)定義創(chuàng)建對象的方法,提供了初始化對象的一種簡便手段b析構函數(shù)完成對象被刪除前的一些清理工作c如果程序中未聲明構造函數(shù),則系統(tǒng)自動產生出一個缺省形式的構造函數(shù)d析 構函數(shù)允許重載,但析構函數(shù)不得返回任何值,即使關鍵字void 也不允許有。115以下哪項創(chuàng)建了名為dog 的 animal 對象()a animal “ dog” ; banimal dog; cdog “ animal ”ddog animal 116類 animal 的構造函數(shù)名是() 。a animal banimalconstructor cconstanimal

33、d以上任何一項都可作為構造函數(shù)名117以下哪項表明displaybreed() 函數(shù)是 animal 類的成員函數(shù)()a animal:displaybreed() banimal.displaybreed() cdisplaybreed():animal ddisplaybreed()&animal 118為了使類中的某個成員不能被類的對象通過成員選擇運算符訪問,則不能把該成員的訪問權限定義為()a public bprotected cprivate dstatic 119類的構造函數(shù)的作用是()a一般成員函數(shù)b類的初始化c對象的初始化d刪除對象120類具有哪四個基本特征()a抽象

34、隱藏繼承多態(tài)b抽象封裝繼承多態(tài)c抽象隱藏繼承封裝d重裝封裝繼承多態(tài)121由類創(chuàng)建的對象稱為()a屬性b類的 實例c基類d派生類122類的析構函數(shù)的作用是() 。a一般成員函數(shù)b類的初始化c對象的初始化d 刪除 對象123以下不正確的說法是() 。a在 c+中,一個程序中的函數(shù)名不一定是唯一的。b在 c+中定義函數(shù)時, 在返回值數(shù)據(jù)類型的前面加上關鍵字inline , 這種函數(shù)稱為內聯(lián)函數(shù)。c在 c+中不 允許有兩個及以上的函數(shù)使用同一個函數(shù)名第 13 頁共 31 頁d在定義函數(shù)時,還可以對形式參數(shù)進行初始化,即給該形式參數(shù)指定默認值。124以下正確的說法是()a全局 變量如果沒有指定初值,則其

35、初值為0 b靜態(tài)變量如果沒有指定初值,則其初值為0 c局部變量如果沒有指定初值,則其初值為0 d函數(shù)中的靜態(tài)變量在函數(shù)每次調用時都會重新設置初值125. 若程序中定義了以下函數(shù) double myadd(double a,double b) return (a+b) ; 并將其放在調用語句之后,則在調用之前應該對該函數(shù)進行說明,以下選項中錯誤的說明是a. double myadd(double a,b) ; b. double myadd(double,double); c. double myadd(double b,double a) ; d. double myadd(double x,

36、double y); 126. 若有以下的說明和語句, 則在執(zhí)行 for語句后 ,*(*(pt+1)+2)表示的數(shù)組元素是( ) int t33,*pt3,k; for(k=0;kname 128執(zhí)行下列程序段后, 變量 i 的值為() 。#define ma(x,y) (x)*(y) int i=5; i=ma(i,i+1)-7; a. 30 b. 23 c. 19 d. 1 129對以下結構定義: struct int len; char *str; *p; *p-str+中的 +加在() 。第 14 頁共 31 頁a. 指針 str上b. 指針 p 上 c. str所指的內容 d.以上均

37、不是130. 執(zhí)行下面程序段后,a 的值為() 。int a,b; for(b=1,a=1;b=10) break; if (a%2=1) a+=5; continue; a-=3; a. 2 b. 6 c. 10 d. 8 131以下選項中, ()是合法的 c+ 語言的長整型常量。a0l b 5712700 c0.05483874 d2.18159e+9 132有如下函數(shù)void sfun(int *p) *(+p)=0; 則執(zhí)行以下程序段后,結果是( ) int a2=5,5; sfun(a); couta0” , ”a1; a. 5 ,5 b. 0, 5 c. 5, 0 d. 0 ,0

38、133有以下函數(shù)char *fun(char *p) return p; 該函數(shù)的返回值是()a. 無確切的值b. 形參 p 中存 放的地址值c. 形參 p 自身的地址值d. 編譯有錯134下面程序的執(zhí)行結果是()#include 第 15 頁共 31 頁void main() char a= h, e, l , l , o, 0 ; int i,j; i=sizeof(a)/sizeof(char); j=strlen(a); couti b?(bc?1:0):0;功能等價的是a if(ab) &(bc) ) k=1; b if(ab) |(bc) ) k=1 else k=0; c

39、 if(ab) k=1; else if(bc) k=1; else k=0; 136下面各語句中,能正確進行賦字符串操作的語句是() a. char s5=abcde; b char s5=a,b,c,d,e; c. char *s; s=abcde; dchar *s; couts; 137. 以下程序的執(zhí)行結果是()int x,y; x=10;y=0; do x+=2;y+=x; coutx=x,y=y20) break; while(x=14); a. x=12 ,y=12 b.x=12,y=12 c.x=12;y=24 d.x=12,y=12x=14 ,y=12 x=14,y=26

40、x=16,y=28 x=16,y=28138. 下面程序段中正確的語句是()class aa int i; public: void aa(int); 第 16 頁共 31 頁 void aa(); void aa(int x)i=x; ; a. int i; b.void aa(int); c.void aa(int); d.void aa(int x) i=x; 說明:構造函數(shù)和析構函數(shù)不允許有參數(shù)和返回值,void 也不行。139設 int a=4,b=8;則+a*b 的結果是() a33 b40 c32 d41 140. 有以下定義,則此數(shù)組的元素中不正確的一個賦值結果是() 。 st

41、atic int a10=1,2,3,4,5; a. a10=2 b. a0=1 c. a3=4 d.a7=0 141. 執(zhí)行語句for(i=1;i+ 5的相反表達式為 x+y=5 。2 數(shù)學算式242bbaca的 c+ 表達式為 (b+sqrt(b*b-4*a*c)/(2*a)。3 已 知 語 句couts;的 輸 出 是 “apple ” , 則 執(zhí) 行 語 句 “cout=i & b=i); return p*a*b; 。10若 x = 5, y = 10, 則計算 y*=+x 表達式后, x + y的值是 60 。11. 生存期與存儲區(qū)域關系密切,一般存儲區(qū)域分為代碼區(qū)(cod

42、e area ). 數(shù)據(jù)區(qū)( data area).棧區(qū)( stack area)和堆區(qū)( heap area ) 。代碼區(qū)用來存放【1】 。與其它存儲區(qū)相對應的生存期分別為【2】. 【3】. 【4】 。 (靜態(tài)生存期. 局部生存期 . 動態(tài)生存期)12. 面向對象程序設計的特點是【 5】 .【6】 .【7】和多態(tài)性。抽象性 . 封裝性 . 繼承性13 (3*3+2.5*4)/2, 則表達式的值是 9.5。14若 a 是一個字符數(shù)組,則cina 表示從鍵盤上讀一個【9】到數(shù)組 a 中。 字符串15面向對象的模型中,最基本的概念是對象和【 10】。類16. 可以賦給指針的唯一整數(shù)是【11】 。n

43、ull17. c+ 語言中的函數(shù)分為三種。一是主函數(shù)main() ,二是系統(tǒng)提供的【12】 ,又稱庫函數(shù) ,三是用戶【13】 。自定義函數(shù)18. 設 a=3,b=4,c=5,(a*=!a)&(b+=c)|(c+);則 a= 0 ,b= 4 ,c= 6 19. 若 a 是 int型變量,則計算表達式a=25/3%3 后 a 的值是【 17】 。 220. 設 x,y,z均為 int型變量,且x=3,y=-4,z=5,請在下面對應的【】中寫出表達式的值。( x&y)= =(x|z) 1 !(xy)+(y!=z)|(x+y)&(y-z) 1 x+ -y+(+z) 1321.

44、在 c+中函數(shù)參數(shù)傳遞方式有值傳遞和地址傳遞 .引用傳遞。22.c+語言的標識符只能由_字母 _._ 數(shù)字 _和_下劃線 _三種字符組成,且打頭字符不能是_數(shù)字 _。23 c+ 程序的目標文件的擴展名是.obj。24在 c+程序中,使用輸入輸出流需要包含的頭文件是iostream.h。第 20 頁共 31 頁25當執(zhí)行 cin 時,從鍵盤上輸入每個數(shù)據(jù)后必須輸入一個空格 ,然后才可以接著輸入下一個數(shù)據(jù)。26轉義字符序列中的首字符是 字符。27空字 符串在內存中的存儲空間是 1 個字節(jié)。28. 以/* 開始 ,*/ 結束,在 /* 和*/ 之間的部分即為注釋 。29.c+語言的基本數(shù)據(jù)類型有in

45、t .float.double.char.bool五種。30功能:將若干個數(shù)按從小到大順序排序。#include using namespace std; void main() int i,j; double temp; double a11; cout輸入需排序的10 個數(shù): endl; for(i=1;iai; for(i=1;i=9;i+) for( 1 ) if( 2 ) temp=ai; 3 ; cout排序后的10 個數(shù)為: endl; for(j=1;j=10;j+) coutaj ; coutendl; (1) j=i+1; jaj (3) ai=aj;aj=temp 31.

46、 聲明類的成員為私有類型的關鍵字是 private。32對象通過成員運算符只能調用類的公有 (public )成員。33通過類定義對象時,對象會自動調用類的構造函數(shù)。34對象消亡時,類的析構函數(shù)會被自動調用。35在類 a的基礎上,通過增加成員可以產生新的類b。由類 a產生類 b的過程稱為派生,此時通過稱類a為了基類 ,類 b為派生類。36繼承方式關鍵字為private時,基類的公有成員在派生類中是私有成員。37 下列程序是用遞歸的方法計算fun(5)*10的值。其中 fun(k)=fun(k-1)*k, 當 k=0 時,fun(0)=3 。請?zhí)羁胀瓿沙绦颉?#include void main

47、() 【1】int fun(int);coutfun(5)*10endl; int fun( 【2】 ) int k 第 21 頁共 31 頁if(k=0) 【3】3 else return fun(k-1)*k; 38 設 a 的初值為3,則表達式 (int)(a+6.5)%2+(a=b=5) 的值是6 。四. 閱讀程序,寫出程序運行結果。 (每題 5 分,共 25 分)1.#include void main() int m,n=4,k; long int t,s=0; for(m=1;m=n;m+) for(t=1,k=1;k=m;k+) t*=m; s+=t; cout”s=”s; 寫

48、出該程序求解的表達式(3 分)及結果( 2 分) 。 288 2.以下程序的執(zhí)行結果是:#include void fun(int *s,int n1,int n2) int i,j,t; i=n1; j=n2; while (ij) t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i+; j-; void main() int a10=1,2,3,4,5,6,7,8,9,0,i,*p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0;i10;i+) cout*(a+i); 第 22 頁共 31 頁coutendl; 5 6 7

49、 8 9 0 1 2 3 43.有如下程序#include using namespace std; void main() int x=20; int &y=x; cout(x=y) ” “; cout(&x=&y)endl; 1 1 4.#include int count(double *a) double *p=a; while (*p!=0) p+; return (p-a); void main() double a=1.0,2.0,8.0,3.0,0.0,4.0,7.0; coutcount(a); 4 5.#include class a private

50、: int a,b; public: a() a=b=0; cout”con1 called.n”; a(int m) 第 23 頁共 31 頁 a=b=m; cout”con2 called.n”; a(int m,int n) a=m;b=n; cout”con3 called.n”; void print() cout”a=”a”b=”bendl; ; void main() a a1,a2(10),a3(10,20); a1.print(); a2.print(); a3.print(); con1 called. con2 called. con3 called. a=0 b=0 a

51、=10 b=10 a=10 b=20 6 寫出下列程序的結果 #define m 1.5 #define a(a) m*a void main() int x=5,y=6; couta(x+y)endl; 13.5 7. 寫出以下程序的運行結果。第 24 頁共 31 頁#include void main() char a=”abcdabcabfgacd ”; int i1=0,i2=0,i=0; while(ai) if (ai=a) i1+; if (ai=b) i2+; i+; cout i1 i2 endl; 4 3 8寫出以下程序的功能。#include template t min

52、(t a,int n) int i; t v = a0; for(i=1;i ai) v = ai; return v; 求數(shù)組中最小元素函數(shù)9. 以下程序的輸出結果是()14 #include int a=1; int f() 第 25 頁共 31 頁 static int i=0; a+=i; i+; return a; void main() int i,s=0; for(i=0;i4;i+) s+=f(); couts; 10. 有下列程序:#include int func(char s) int length=0; while (*(s+length) length+; retur

53、n length; void main() char a10,*ptr=a; cinptr; coutfunc(ptr)endl; 如果輸入字符串hello !并回車,則輸出結果是( 6 ) 。11. 以下程序的輸出結果是() #include class teample int a,b; public: teample(int x,int y) a=x;b=y; void disp() couta=a,b=bendl; ; void main() teample s(1,2); s.disp(); a=1,b=2 12. 有以下程序執(zhí)行后結果是(2041 2044)struct stu 第

54、26 頁共 31 頁 char name10; int num; ; void f1(struct stu c) struct stu b=lisiguo,2042; c=b; void f2(struct stu *c) struct stu b=sundan,2044; *c=b; main( ) struct stu a=yangsan,2041,b=wangyin,2043; f1(a) ;f2(&b) ; couta.num,b.num; 13#include void main() int a4,i,j,k; for(i=0;i4;i+) ai=1; k=3; for(i=

55、0;ik;i+) for(j=0;jk;j+) aj=ai+2; couta1 a3endl; 結果: 11 1 14#include #include using namespace std; void main() int s33,i,j,k; for(i=0;i3;i+) for(j=0;j3;j+) sij=i-j; for(i=0;i2;i+) for(j=i+1;j3;j+) k=sij;sij=sji;sji=k; 第 27 頁共 31 頁 for(i=0;i3;i+) for(j=0;j3;j+) coutsetw(4)sij; coutendl; 0 1 2 -1 0 1 -

56、2 -1 0 15#include #include using namespace std; void main() int a23,j,k; for(k=0;k3;k+) for(j=0;j2;j+) ajk=(j+1)*(k+1); for(j=0;j2;j+) for(k=0;k3;k+) cout*ajk; coutendl; *1*2*3 *4*5*6 16. 比較難#include using namespace std; void main() int a10,i,j,pos=1; for(i=0;iai; for(i=1;i10;i+) for(j=0; ji; j+) /*后一個數(shù)與前幾個數(shù)比較 */ if (ai=aj) break; if ( i=j ) apos=ai;pos+; /*po

溫馨提示

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

評論

0/150

提交評論