c復(fù)習(xí)題及答案_第1頁
c復(fù)習(xí)題及答案_第2頁
c復(fù)習(xí)題及答案_第3頁
c復(fù)習(xí)題及答案_第4頁
c復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、選擇題1. 在每個(gè)C+程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為      A     。A. main           B. MAIN           C. name          &#

2、160;D. function2. 若a,b均為int型變量,為了將10賦給a,將20賦給b,則對(duì)應(yīng)以下cin語句的正確輸入方式為 B 。(<CR>代表回車換行,代表空格)。 cin >> a >> b; A1020<CR> B10_20<CR> C10,20<CR> D20_10<CR>3. 在以下關(guān)于C+語言的注釋的敘述中,不正確的是 C 。 AC+程序中,注釋可用"/*"、"*/"形式表示,也可用"/"形式表示 BC+編譯器在編譯一個(gè)程序時(shí),將跳

3、過注釋,不對(duì)其進(jìn)行處理 CC+編譯器在編譯一個(gè)程序時(shí),可發(fā)現(xiàn)注釋中的單詞拼寫錯(cuò)誤 D程序中注釋的多少不會(huì)影響所生成的可執(zhí)行文件的長度4. 以下敘述不正確的是 C 。 A在C+程序中,嚴(yán)格區(qū)分大小寫字母 B一個(gè)C+源程序有且僅有一個(gè)main函數(shù) C在C+程序中,注釋只能位于一條語句的后面 D一個(gè)C+程序總是從main函數(shù)開始執(zhí)行5. C+語言對(duì)C語言做了很多改進(jìn),C+語言相對(duì)于C語言的最根本的變化是 D A增加了一些新的運(yùn)算符B允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C規(guī)定函數(shù)說明符必須用原型D引進(jìn)了類和對(duì)象的概念6. C+是 C A. 面向?qū)ο蟮某绦蛟O(shè)計(jì)語言B. 結(jié)構(gòu)化程序設(shè)計(jì)語言C. 既是面向?qū)ο蟮?/p>

4、程序設(shè)計(jì)語言又是結(jié)構(gòu)化程序設(shè)計(jì)語言D. 非結(jié)構(gòu)化程序設(shè)計(jì)語言7. 下列合法的標(biāo)識(shí)符為 D A. abde+ B. #KDJF C. 67KDJ D. DK3_8. 關(guān)于字符串和字符的關(guān)系正確的是 C A. “A”與A是相同的B. 字符串是常量,字符是變量C. “A”與A是不同的if (x>y)z=x; s=z*z;elsez=y;s=1/(z*z);if (x>y)z=x; s=z*z;elsez=y;s=1/(z*z);D. “A ”與“A”是相同的9. 下面關(guān)于語句的說法正確的是 B A. 下面這兩段程序的執(zhí)行效果是一致的B. 空語句是只有一個(gè)分號(hào)的語句,它其實(shí)什么也不干C.

5、語句的構(gòu)成不一定需要分號(hào)D. 語句的書寫對(duì)程序的運(yùn)行不起作用,因此可以隨便寫都可以10. 以下各標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符組為 D 。A. PAd,P#d,b-b,abc,_0123,ssipedB. cin,a10,CPP,float,del_word,signedC. void,max,hiy,<fr>,list,*jerD. a,temp,_isw,INT,keep,wind11. 在VC+中,以下語句的輸出為 D 。 short int k= -1; cout << k << ',' << (unsigned short)

6、 k <<endl; A-1,-1 B-1,32767 C-1,32768 D-1,6553512. 若給出以下程序,其輸出為 B 。 #include <iostream> using namespace std; int main ( ) int a=4,b=7;cout << (a=a+1,b+a,b+1) << endl;return 0; A5 B8 C11 D程序有錯(cuò)誤,無法運(yùn)行13. 字符串“”EOF= -61”的長度是 A 。A 8 B 9 C 12 D 非法字符串14. 數(shù)學(xué)式在C+程序中對(duì)應(yīng)正確的表達(dá)式為 B 。 Asqrt(

7、sin(x)>0?sin(x):-sin(x) Bsqrt(fabs(sinx) Csqrt(sqrt(sinx*sinx) Dfabs(sqrt(sin(x)15. 下列 A 是C+語言的有效標(biāo)識(shí)符?A_No1BNo.1 C12345 Dint16. C+語言中,表示一條語句結(jié)束的標(biāo)號(hào)是 B A# B; C/ D17. 每個(gè)C+程序中都必須有且僅有一個(gè) C A類B預(yù)處理命令 C主函數(shù)D語句18. 下列數(shù)據(jù)類型不是C+語言基本數(shù)據(jù)類型的是 D 。A字符型 B整型 C實(shí)型 D數(shù)組19. 下列字符列中,可作為C+語言程序自定義標(biāo)識(shí)符是 B 。 Aswitch Bfile Cbreak Ddo

8、 20. 運(yùn)算符 +、<=、=、% 中,優(yōu)先級(jí)最低的運(yùn)算符是 C 。 A + B<= C= D% 21. 下列字符列中,可以作為“字符串常量”的是 B 。 A ABC Bxyz Cuvw D a 22. 設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m = a= =b)|(n=c= =d)后,m,n的值是 D 。 A0,0 B 0,1 C 1,0 D 1,123. 字符串"vmx43np102q"的長度是 A 。A 8 B 10 C 17 D 16 24.  在C+語言中,自定義的標(biāo)識(shí)符 D 。A能使用關(guān)鍵字并且不區(qū)分大小寫B(tài)不能使用關(guān)鍵字并且不區(qū)分大小寫

9、C能使用關(guān)鍵字并且區(qū)分大小寫D不能使用關(guān)鍵字并且區(qū)分大小寫25. 設(shè)有代碼“int a = 5;”,則執(zhí)行了語句“a + = a - = a*a;”后,變量a的值是 C 。A3 B 0 C -40 D 1226. 設(shè)a為5,執(zhí)行下列代碼后,b的值不為2的是 C 。Ab = a/2 Bb = 6-(-a) Cb = a%2 Db = a < 3 ? 3: 227. 設(shè)x和y均為bool量,則x && y為真的條件是     A        。A. 它們均為真

10、60;   B. 其中一個(gè)為真     C. 它們均為假     D. 其中一個(gè)為假28. 若給定條件表達(dá)式(m)?(a+): (a-),則其中表達(dá)式m C 。 A. 和(m= =0)等價(jià) B. 和(m= =1)等價(jià) C. 和(m!=0)等價(jià) D. 和(m!=1)等價(jià)29. 在C+語言的if語句中,用作判斷的表達(dá)式為 D 。 A. 關(guān)系表達(dá)式 B. 邏輯表達(dá)式 C. 算術(shù)表達(dá)式 D. 任意表達(dá)式30. 設(shè)i和k都是int類型,則以下for循環(huán)語句 B 。 for ( i=0, k= -1; k=1; i+

11、, k+ ) cout << "*n" A. 判斷循環(huán)結(jié)束的條件不合法 B. 是無限循環(huán) C. 循環(huán)體一次也不執(zhí)行 D. 循環(huán)體只執(zhí)行一次31. 若有以下語句,則輸出結(jié)果為 A 。 int a=2,b=1; cout << a>b?"a大于b":"a小于b" << endl; A. a大于b B. a小于b C. 1 D. 輸出語句有錯(cuò)32. int k=10;while(k=0) k=k-1;則下面描述正確的是 C 。A. while循環(huán)執(zhí)行10次 B. 循環(huán)是無限循環(huán)C. 循環(huán)體語句一次也

12、不執(zhí)行 D. 循環(huán)體語句執(zhí)行一次33. int a=1,b=2,c=2,t;while(a<b) t=a;a=b;b=t;c-;cout<<a<<”,”<<b<<”,”<<c;運(yùn)行結(jié)果為 D 。A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,134. int x=-1;do x=x*x;while(!x);下列說法正確的是 C 。A. 是死循環(huán) B. 循環(huán)執(zhí)行兩次C. 循環(huán)執(zhí)行一次 D. 有語法錯(cuò)誤35.  以下能正確計(jì)算1*2*3*10的程序段是 C 。A.   &#

13、160; do i=1;s=1; B. do i=1;s=0;s=s*i; i+; s=s*i;i+; while(i<=10); while(i<=10);C. i=1;s=1; D. i=1;s=0; do s=s*i; dos=s*i;i+; i+;while(i<=10); while(i<=10);36. 以下描述正確的是 C 。A. 由于do-while循環(huán)中循環(huán)體語句只是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句B. do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào)C. 在do-while循環(huán)體中,一定要有能使whi

14、le后面表達(dá)式的值變?yōu)榱悖ā凹佟保┑牟僮鱀. do-while循環(huán)中,根據(jù)情況可以省略while37. C+中while和do-while循環(huán)的主要區(qū)別是 A 。A. do-while的循環(huán)體至少無條件執(zhí)行一次B. while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格C. do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D. do-while的循環(huán)體不能是復(fù)合語句38. 下面有關(guān)for循環(huán)的正確描述是 D 。A. for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B. for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式C. for循環(huán)中,不能用break語句跳出循環(huán)體D. for循環(huán)的循環(huán)體語句中,可以包含多條語

15、句,但必須用花括號(hào)括起來39. 對(duì)for(表達(dá)式1; ;表達(dá)式3)可理解為 B 。A. for(表達(dá)式1;0;表達(dá)式3) B. for(表達(dá)式1;1;表達(dá)式3)C. for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D. or(表達(dá)式1;表達(dá)式3;表達(dá)式3)40. for(i=2;i= =0;) printf(“%d”,I-);循環(huán)執(zhí)行的次數(shù)是 B 。A. 無限次 B. 0次 C. 1次 D. 2次41. 在C+編程語言中,以下正確的描述是 B 。A. continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行B. 只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句C. 在循壞體內(nèi)使用break語句或contin

16、ue語句的作用相同D. 從多層循環(huán)嵌套中退出,只能使用goto語句42. 下面程序段 D 。for(t=1;t<=100;t+) cin>>x; if(x<0) continue; cout<<t;A. 當(dāng)x<0時(shí)整個(gè)循環(huán)結(jié)束 B. x>=0時(shí)什么也不輸出C. cout永遠(yuǎn)也不執(zhí)行 D. 最多允許輸出100個(gè)非負(fù)整數(shù)43. 定義一個(gè)函數(shù)實(shí)現(xiàn)交換x和y的值,并將結(jié)果正確返回。能夠?qū)崿F(xiàn)此功能的是 C 。A. swap(int x, int y) int t; t=x; x=y; y=t; B. swap(int *x, int *y) int t;

17、t=x; x=y; y=t; C. swap(int *x, int *y) int t; t= *x; *x = *y; *y=t; D. swap(int *x, int *y) int *t; t=x; x=y; y=t; 44. 說明語句"int (*p) ( );"的含義是 C 。A. p是一個(gè)指向一維數(shù)組的指針變量 B. p是指針變量, 指向一個(gè)整型數(shù)據(jù)C. p是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型 D. 以上都不對(duì)45. 設(shè)有說明int (*p) 4 ; 其中的標(biāo)識(shí)符p是 C 。A. 4個(gè)指向整型變量的指針變量 B. 指向4個(gè)整型變量的函數(shù)指針C. 一

18、個(gè)指向具有4個(gè)整型元素的一維數(shù)組的指針D. 具有4個(gè)指向整型變量的指針元素的一維指針數(shù)組46. 若有如下聲明,下列說法錯(cuò)誤的是 C 。struct em char a; char b; A. struct是結(jié)構(gòu)體類型關(guān)鍵字 B. em是結(jié)構(gòu)體類型名 C. em 是用戶聲明的結(jié)構(gòu)體變量 D. a,b是結(jié)構(gòu)體成員名47. 若有下列定義,則對(duì)結(jié)構(gòu)體變量的成員引用錯(cuò)誤的是 C 。struct date int year;int month; int day;struct student int no;char name16;date birthday; stud;A. stud.no B. stud.

19、name C. stud.birthday D. 48. 下列敘述中,不正確的是 B 。A. 類的構(gòu)造函數(shù)可以重載 B. 類的析構(gòu)函數(shù)可以重載C. 一個(gè)類可以不定義構(gòu)造函數(shù) D. 一個(gè)類可以不定義析構(gòu)函數(shù)49. 已知宏定義: #define N 3 #define Y(n) (N+1)*n) (N+1)*5+1)執(zhí)行語句z=2*(N+Y(5+1); 后,變量z的值是 B 。 A. 42 B. 48 C. 52 D. 出錯(cuò)50. 類的構(gòu)造函數(shù)的作用是 C A)一般成員函數(shù)的初始化B)類的初始化C)對(duì)象的初始化D)刪除類創(chuàng)建的對(duì)象51. 下列說法正確的是 B A)內(nèi)置函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代

20、碼插入每個(gè)調(diào)用該函數(shù)的地方B)內(nèi)置函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方C)類的內(nèi)置函數(shù)必須在類體內(nèi)定義D)類的內(nèi)置函數(shù)必須在類體外通過加關(guān)鍵字inline定義二、填空題1. 程序的三種基本的控制結(jié)構(gòu)是: 順序結(jié)構(gòu) 、 選擇結(jié)構(gòu) 、 選擇結(jié)構(gòu) 2. 假定一個(gè)結(jié)構(gòu)類型定義為:“struct  D int  a ;  union int  b ; double  c ; ; D  * d2 ; ;” ,則該類型的大小為       20 &#

21、160;     字節(jié)。3. C+語言中的每條基本語句以      ;       作為結(jié)束符,每條復(fù)合語句以           作為結(jié)束符。4. 關(guān)系表達(dá)式x+y>5的相反表達(dá)式為         x+y<=5 &

22、#160;               。5. 下面的程序段中循環(huán)體的執(zhí)行次數(shù)是 3 。a=10;b=0;dob+=2;a-=2+b; while(a>=0);6. 下面程序段的運(yùn)行結(jié)果為 * 。x=2;docout<<“*”;x-; while(!x=0);7. 定義內(nèi)置函數(shù)的方法是在函數(shù)的返回值類型之前增加關(guān)鍵字 inline 。8. 假定a為一個(gè)整型數(shù)組名,則元素a4的字節(jié)地址為    

23、60; a+16        。9. 假定一個(gè)一維數(shù)組的定義為“char  a8 ;”,則該數(shù)組所含元素的個(gè)數(shù)為    8  ,所占存儲(chǔ)空間的字節(jié)數(shù)為    32        。10. 已知int a32=3, 2, 1; 則表達(dá)式“a00/a01/a02”的值是 1 。11. 若用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,則實(shí)際上傳遞給形參的是 數(shù)組首地址

24、 。12. 如果一個(gè)函數(shù)無返回值,定義它時(shí)函數(shù)類型應(yīng)是 void 。13. 預(yù)處理命令以 # 開頭。14. 假定a是一個(gè)二維數(shù)組,則aij的指針訪問方式為            *(ai+j)    或  *(*(a+i)+j)    。15. C+在編譯時(shí),可以將所調(diào)用函數(shù)的代碼直接嵌入到主調(diào)函數(shù)中,而不是將流程轉(zhuǎn)出去。這種嵌入到主調(diào)函數(shù)中的函數(shù)稱為 內(nèi)置函數(shù) 。16. 使用內(nèi)置函數(shù)可以節(jié)省運(yùn)行時(shí)間,但卻

25、增加了 目標(biāo)函數(shù) 的長度。17. C+允許用同一函數(shù)名定義多個(gè)函數(shù),這些函數(shù)的參數(shù)個(gè)數(shù)和參數(shù)類型不同。這就是 函數(shù)的重載 。18. 利用C+編程語言可以建立一個(gè)通用函數(shù),其函數(shù)類型和形參類型不具體指定,用一個(gè)虛擬的類型來代表。這個(gè)通用函數(shù)就稱為 函數(shù)模板 。19. 對(duì)一個(gè)類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的         初始化表         實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的   

26、0;    函數(shù)體            實(shí)現(xiàn)。20. 假定AB為一個(gè)類,則執(zhí)行“AB  a10;”語句時(shí),系統(tǒng)自動(dòng)調(diào)用該類的構(gòu)造函數(shù)的次數(shù)為           10            。 三、填空完成下面的程序1

27、. #include <iostream> using namespace std; int main( ) int a, b, c, x; cin>>a; cout<<"a="<<a<<endl; cin>>b; cout<<"b="<<b<<endl; cin>>c; cout<<"c="<<c<<endl; if (a=b&&b=c) cout<<

28、"the three numbers are eauql"<<endl; else if(a>b && a>c) x=a; else if (b>c) x=b;else x=c; cout<<"the greatest number is:"<<x<<endl; return 0; 2. 下面程序段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán),請(qǐng)?zhí)羁胀瓿沙绦?。int n=0,c;c=getchar( );while( c!='n' ) if( c

29、>='A'&&c<='Z'|c>='a'&&c<='z' ) n+; c=getchar( );3. 雞、兔共有30只,腳共有90個(gè),下面程序段是計(jì)算雞兔各有多少只,x代表有多少只雞,y代表有多少只兔子,請(qǐng)?zhí)羁胀瓿沙绦?。for(x=1;x<=29;x+) y=30-x; if( 2*x+4*y=90 ) cout<<x<<" "<<y; 4. 下面的程序是求2個(gè)或3個(gè)正整數(shù)中的最大數(shù),用帶有默認(rèn)參數(shù)的函數(shù)實(shí)現(xiàn)。請(qǐng)?zhí)?/p>

30、空完成程序。#include <iostream>using namespace std;int main()int max(int a,int b, int c=0 ); int a,b,c,m1,m2; cin>>a>>b>>c; m1= max(a,b,c); m2= max(a,b); cout<<"a,b,c三個(gè)正整數(shù)中的最大數(shù)為:"<<m1<<endl; cout<<"a,b兩個(gè)正整數(shù)中的最大數(shù)為:"<<m2<<endl;

31、return 0;int max(int a, int b, int c)if(b>a) a=b; if(c>a) a=c; return a;四、給出下列程序運(yùn)行后的輸出結(jié)果1. # include <iostream>using namespace std;void SB(char ch) switch(ch) case 'A': case 'a':        cout <<"well!" break; case 'B&#

32、39;: case 'b':         cout <<"good!" break; case 'C': case 'c':         cout <<"pass!" break;   default:        

33、cout <<"bad!" break;    int main( ) char a1='B',a2='c',a3='f'SB(a1);SB(a2);SB(a3);SB('A');cout <<endl;return 0;答案:good!  pass!  bad!  well!2. #include<iostream>using namespace std;int main()int a,b; for(a=1,b=1

34、;a<=100;a+) if(b>=20) break; if(b%3= =1) b+=3;continue; b- =5;cout<<a<<endl; return 0;答案:83. #include<iostream>using namespace std;main( )int i,j,x=0; for(i=0;i<2;i+) x+; for(j=0;j<=3;j+) if (j%2) continue; x+; x+; cout<<“x=”<<x<<endl; 答案:x=84. #includ

35、e<iostream>using namespace std;main( )int i; for(i=1;i<=5;i+) if(i%2) cout<<“*”; else continue;cout<<“#”; cout<<“$n”; 答案:*#*#*#$5. #include<iostream>using namespace std;void main( ) int I,j,a=0; for(I=0;I<2;I+) for(j=0;j<4;j+) if(j%2) break; a+; a+; cout<<

36、;a<<endl;答案:46. 運(yùn)行以下程序時(shí),從鍵盤鍵入right?請(qǐng)給出回車后運(yùn)行的結(jié)果。#include<iostream>using namespace std;void main()char c; while(c=getchar()!='?') putchar(+c);答案:sjhiu7. #include<iostream.h>void main( )int I; for(I=1;I<=5;I+) switch(I%2) case 0:I+; cout<<"#"break; case 1:I+

37、=2; cout<<"*" default: cout<<"n" 答案:* #8. #include <iostream>using namespace std;int a=5; int main ( ) int a=10, b=20; int a=0,b=0; for (int i=1; i<6; i+) a+=i ; b+=a; cout <<a<<' '<<b<<endl;return 0;答案:10  209. #include<iostream>using namespace std;int k=1;void f(int m)m+=k; k+=m; char k='B' cout<< k - &

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論