C語言程序設(shè)計自測練習(xí)及參考答案._第1頁
C語言程序設(shè)計自測練習(xí)及參考答案._第2頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、aseforintB. defaultthenwhileC. boolclasslongD. gotoreturnchar6.能作為 C+程序的基本單位是()。A. 字符 B.語句7. 程序中主函數(shù)的名字為(A. mainB.MAIN&C+程序的基本模塊為(C.函數(shù) D.源程序文件)。C.MainD.任意標(biāo)識符)。2A. 表達式 B.標(biāo)識符 C.語句 D.函數(shù)9.可用作 C+語言用戶標(biāo)識符的一組標(biāo)識符是()。A voiddefin+WOB.a3_b3_123YNC.for-abcCaseD 2aDOsizeof10. 存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是()。A.0B.0C.“0”D.0

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

4、,26D.26設(shè) x 是一個 bool 型的邏輯量,y 的值為 10,則表達式 x&y 的值為()。A.1B.0C.與 x 值相同 D.與 x 值相反x0&x=10 的相反表達式為()。A.x10B.x10C.x=0|x0&x10 x0|y=5 的相反表達式為()。A.x=0|y!=5B.x=0&y!=5C.x0|y!=5D.x0&y=5設(shè) x 和 y 均為 bool 量,則 x&y 為真的條件是()。A.它們均為真 B.其中一個為真C.它們均為假 D.其中一個為假設(shè) x 和 y 均為 bool 量,則 x|y 為假的條件是()。A.它們均為真

5、B.其中一個為真C.它們均為假 D.其中一個為假字符串”a+b=12n的長度為()。A.6B.7C.8D.9假定下列 x 和 y 均為 int 型變量,則不正確的賦值為()。A.x+=y+B.x+=y+C.x=+yD.+x=+y下列的符號常量定義中,錯誤的定義是()。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;循環(huán)語句“for(inti=0;in;i+)couti*i;”中循環(huán)體執(zhí)行的次數(shù)為()。A.1B.n-1C.nD.n+1 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。for(inti=0;in;i+)if(in/

6、2)break;A.n/2B.n/2+1C.n/2-1D.n-1在下面循環(huán)語句中內(nèi)層循環(huán)體 S 語句的執(zhí)行總次數(shù)為()。for(inti=0;in;i+)for(intj=i;jn;j+)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/2在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。inti=0,s=0;while(s20)i+;s+=i;A.4B.5C.6D.7 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。 inti=0;doi+;while(i*i 10);A.4B.3C.5D.2當(dāng)處理特定問題時的循環(huán)次數(shù)已知時,通常采用()來解決。819

7、9.A.for 循環(huán) B.while 循環(huán)循環(huán)體至少被執(zhí)行一次的語句為(A.for 循環(huán) B.while 循環(huán)C.do 循環(huán) D.switch 語句)。C.do 循環(huán) D.任一種循環(huán)430. switch 語句能夠改寫為()語句。A.forB.ifC.doD.while31. do 語句能夠改寫為()語句。A.復(fù)合 B.ifC.switchD.while32. 在下面的一維數(shù)組定義中,哪一個有語法錯誤。()A.inta=1,2,3;B.inta10=0;C.inta;D.inta5;33. 在下面的字符數(shù)組定義中,哪一個有語法錯誤。()。A.chara20=

8、”abcdefg”;B.chara=”x+y=55.”;C.chara15;D.chara10=5;34. 在下面的二維數(shù)組定義中,正確的是()。A.inta5;B.inta5;C.inta3=1,3,5,2;D.inta(10);35. 假定一個二維數(shù)組的定義語句為“inta34=3,4,2,8,6;”,則元素 a12的值為()。A.2B.4C.6D.836. 假定一個二維數(shù)組的定義語句為“inta34=3,4,2,&6;”, 則元素 a21的值為()。A.0B.4C.8D.637. 若定義了函數(shù) double*function(),則函數(shù) function 的返回值為()。A.實數(shù)

9、型 B.實數(shù)的地址 C.指向函數(shù)的指針 D.函數(shù)的地址38. 以下說法中正確的是()。A. C+程序總是從第一個定義的函數(shù)開始執(zhí)行B. C+程序總是從 main 函數(shù)開始執(zhí)行C. C+函數(shù)必須有返回值,否則不能使用函數(shù)D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中39. 以下敘述中不正確的是()。A. 在一個函數(shù)中,可以有多條 return 語句B. 函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C. 函數(shù)必須有返回值D. 不同的函數(shù)中可以使用相同名字的變量40. 函數(shù)重載是指()。A. 兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同B. 兩個以上的函數(shù)取相同的名字和具有相

10、同的參數(shù)個數(shù),但形參的類型可以不同C. 兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D. 兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同41. 以下關(guān)于函數(shù)模板敘述正確的是()。A. 函數(shù)模板也是一個具體類型的函數(shù)B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C. 通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D. 用函數(shù)模板定義的函數(shù)沒有類型42. 下列()的調(diào)用方式是引用調(diào)用。5A.形參和實參都是變量 B.形參是指針,實參是地址值C.形參是引用,實參是變量 D.形參是變量,實參是地址值43. 為了提高程序的運行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇()。A.內(nèi)聯(lián)

11、函數(shù) B.重載函數(shù) C.遞歸函數(shù) D.函數(shù)模板44. 函數(shù)原型語句正確的是()。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);45. C+中函數(shù)返回值的類型是由()決定的。A.return 語句中表達式的類型 B.該函數(shù)定義時的類型C.調(diào)用函數(shù)時的調(diào)用語句 D.系統(tǒng)根據(jù)結(jié)果46. 以下函數(shù)的返回結(jié)果是()。intfunction(char*x)char*p=x;while(*p+);return(p-x-1);A.求字符串的長度 B.將字符串 x 連接到字符串 p 后面C.將字符串 x

12、復(fù)制到字符串 p 中 D.將字符串 x 反向存放47. 函數(shù)調(diào)用 func(expl,exp2),(exp3,exp4,exp5)中所含實參的個數(shù)為()個。A.1B.2C.4D.548. 設(shè)有如下函數(shù)定義intf(char*s)char*p=s;while(*p!=0)p+;return(p-s);在主函數(shù)中用 coutf(“good”)調(diào)用上述函數(shù),則輸出結(jié)果為()。A.3B.4C.5D.649. 以下正確的函數(shù)原型語句是()。A. doublefun(intx,inty)B. doublefun(intx;inty)C. doublefun(int,int);D. doublefun(in

13、tx,y);50. 以下正確的說法是()。A. 用戶調(diào)用標(biāo)準庫函數(shù)前,必須重新定義B. 用戶可以重新定義標(biāo)準庫函數(shù),若如此,該函數(shù)將失去原有含義C. 系統(tǒng)不允許用戶重新定義標(biāo)準庫函數(shù)D. 用戶調(diào)用標(biāo)準庫函數(shù)前,不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中二、填空題二、填空題1. C+語言是在語言的基礎(chǔ)上發(fā)展起來的。2. C+語言的編譯單位是擴展名為的文件。3. 行尾使用注釋的開始標(biāo)記符為。4. 多行注釋的開始標(biāo)記符和結(jié)束標(biāo)記符分別為和5.用于輸出表達式值的標(biāo)準輸出流對象是。66.用于從鍵盤上為變量輸入值的標(biāo)準輸入流對象是。7.一個完整程序中必須有一個名為的函數(shù)。8.一個函數(shù)的函數(shù)體就是

14、一條語句。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+頭文件和源程序文件的擴展名分別為和。18程序文件的編譯

15、錯誤分為和兩類。19._ 當(dāng)使用保留字作為函數(shù)類型時,該函數(shù)不返回任何值。20._當(dāng)函數(shù)參數(shù)表用保留字表示時,則表示該參數(shù)表為空。21. 從一條函數(shù)原型語句“intfunl(void);”可知,該函數(shù)的返回類型為,該函數(shù)帶有個參數(shù)。22. 當(dāng)執(zhí)行 cout 語句輸出 endl 數(shù)據(jù)項時,將使 C+顯示輸出屏幕上的光標(biāo)從當(dāng)前位置移動到的開始位置。23. 假定 x=5,y=6,則表達式 x+*+y 的值為。24. 假定 x=5,y=6,則表達式 x*y 的值為。25. 假定 x=5,y=6,則執(zhí)行表達式 y*=x+計算后,x 和 y 的值分別為和。26. 假定 x=5,y=6,則執(zhí)行表達式 y+=

16、x計算后,x 和 y 的值分別為和。27. C+常數(shù) 0 x145 對應(yīng)的十進制值為。28. C+常數(shù) 0345 對應(yīng)的十進制值為。29. 十進制常數(shù) 245 對應(yīng)的十六進制的 C+表示為。30. 十進制常數(shù) 245 對應(yīng)的八進制的 C+表示為。31. signedchar 類型的值域范圍是至之間的整數(shù)。32int 和 float 類型的數(shù)據(jù)分別占用_和個字節(jié)。33float 和 double 類型的數(shù)據(jù)分別占用_和_個字節(jié)34bool 和 char 類型的數(shù)據(jù)分別占用_和_個字節(jié)。35. unsignedshortint 和 int 類型的長度分別為和。36. 字符串”This、sabook

17、.n的長度為。37. 字符串”nThissapennn”的長度為。38. 在 C+中存儲字符串a(chǎn)bcdef至少需要個字節(jié)。39. 在 C+中存儲字符串”a+b=c至少需要個字節(jié)。40. 假定 x 和 y 為整型,其值分別為 16 和 5,則 x%y 和 x/y 的值分別為和。41. 假定 x 和 y 為整型,其值分別為 16 和 5,則 x/y 和 double(x)/y 的值分別為和。74假定 x 是個邏輯則x& true 的值為43假定 x 是個邏輯量,則x|true 的值為44假定 x 是個邏輯量,則x&false 的值為45假定 x 是個邏輯量,則x|false 的值為

18、46假定 x 是個邏輯量,則!x|false 的值為_47假定 x 是個邏輯量,則x&!x 的值為_。48假定 x 是一個邏輯量,則x|!x 的值為_。x+y49._數(shù)學(xué)算式片丄的 C+表達式為2xy50. 數(shù)學(xué)算式衛(wèi)旦的 C+表達式為。x+y151. 數(shù)學(xué)算式的 C+表達式為。ax2+by252. 設(shè) enumPrintstatusready,busy,error;則 coutbusy 的輸出結(jié)果是。53. 設(shè) enumPrintstatusready=2,busy,error;則 coutvoidmain()intf,f1,f2,i;cout”斐波那契數(shù)列:n”;f1=0;f2=1

19、;coutsetw(6)f1setw(6)f2;for(i=3;i=20;i+)f=(1);coutsetw(6)f;8if(2)coutendl;f1=f2;f2=(3)coutendl;(1)(2)(3)xi2計算f(-1)i+i的值。日i!#includevoidmain()doublex,p1=1,p2=1,s=0;inti,j=1;cout輸入 x 的值:;cinx;for(i=1;i=10;i+)p1*=_(1);p2*=(2);s+二 j*pl/p2;/j 的值為(-l)i+lj=(3);coutsendl;(1)(2)(3)3. 打印出 2 至 99 之間的所有素數(shù)(即不能被任

20、何數(shù)整除的數(shù))。#includeiostream.h#includemath.hvoidmain()inti,n;for(n=2;_(1)_;n+)inttemp 二 int(sqrt(n);/求出 n 的平方根并取整for(i=2;_(2)_;i+)if(n%i=0)_(3)_;if(itemp)coutn;coutn;9104. 采用輾轉(zhuǎn)相除法求出兩個整數(shù)的最大公約數(shù)。#includevoidmain()inta,b;cout請輸入兩個正整數(shù):;cinab;while(a=0|_(1)cout重新輸入:;cinab;while(b)intr;r=a%b;_(2)_;_(3)_;/分別修改

21、a 和 b 的值coutaendl;/輸出最大公約數(shù)(1)(2)(3)5. 把從鍵盤上輸入的一個大于等于 3 的整數(shù)分解為質(zhì)因子的乘積。如輸入 24 時得到的輸出結(jié)果為“2223”,輸入 50 時得到的輸出結(jié)果為“255”,輸入 37 時得到的輸出結(jié)果為“37”。#includeiostream.hvoidmain()intx;cout請輸入一個整數(shù),若小于 3 則重輸:;docinx;while(_(1)_);inti=2;dowhile(_(2)_)couti;x/=i;_(3)_;while(ix);if(x!=1)coutx;coutendl;(1)(2)(3)6. 下面函數(shù)是求兩個整

22、型參數(shù) a 和 b 的最小公倍數(shù)。intf2(inta,intb)(1)(2)(3)11inti=2,p=1;dowhile(a%i=0&_(1)_)p*=i;a/=i;b/=i;_(2)_;while(a=i&_(3)_);returnp*a*b;(1)(2)(3)7. 在輸出屏幕上打印出一個由字符*組成的等腰三角形,該三角形的高為 5 行,從上到下每行的字符數(shù)依次為 1,3,5,7,9。#includevoidmain()inti,j;for(i=1;_(1)_;i+)for(j=1;j=9;j+)if(j=5-i|_(2)_)cout;else_(3)_;coutendl

23、;(1)(2)(3)8. 統(tǒng)計字符串中英文字母個數(shù)的程序。#includeintcount(charstr);voidmain()chars180;couts1;cout”count=”count(s1)=a&stri=z|_(1)_)_(2)_;_(3)_;(2)(3)9. 主函數(shù)調(diào)用一個 fun 函數(shù)將字符串逆序。#include#include_(1)_;voidmain()chars80;cins;_(2)_;cout”逆序后的字符串:”sendl;voidfun(charss)intn=strlen(ss);for(inti=0;_(3);i+)charc=ssi;ssi二

24、ssnli;ssnli二 c;(2)(3)10. 從一個字符串中刪除所有同一個給定字符后得到一個新字符串并輸出#includeiostream.hconstintlen=20;voiddelstr(chara,charb,charc);voidmain()charstr1len,str2len;charch;cout輸入一個字符串:;cinstr1;cout輸入一個待刪除的字符:;cinch;delstr(str1,str2,ch);(1)(1)13coutstr2endl;voiddelstr(chara,charb,charc)intj=0;for(inti=0;_(1)_;i+)if(_

25、(2)_)bj+=ai;bj=_(2)_;(2)寫出程序運行結(jié)果寫出程序運行結(jié)果1.#include#includevoidmain()inta8=25,48,32,85,64,18,48,29;intmax,min;max=min=a0;for(inti=0;iai)max=ai;if(minai)min=ai;coutmax:maxendl;coutmin:minendl;2.#includevoidmain()inta,b;for(a=1,b=2;b50;)coutab;a=a+b;b=a+b;coutendl;coutabendl;3. #includeconstintM=3,N=4;

26、voidmain()inti,j,s=0;for(i=1;i=M;i+)for(j=1;j=N;j+)(1)四、四、(3)14s+=i*j;cout”s=”sendl;4. #includevoidmain()inta=2,b=5,c=0;if(a+b10)c=a*b;elsec=3*a+b;if(c=20)coutc*c;elsecout4+c-5;coutendl;a=a+b;b=a+b;c+=a+b;couta,b,c=a,b,cendl;5. #includevoidmain()intx=5;switch(2*x-3)case4:coutx;case7:cout2*x+1;case10:cout3*x-1;break;default:coutdefaultendl;coutswitchend.endl;6. #include#includeinta4=36,-5,73,8;voidmain()inti,y;for(i=0;i4;i+)if(ai0)y=1;elseif(ai10)y=ai*ai+3;elseif(ai60)y=4*ai-5;elsey=int(sqrt(ai);/sqrt(x)為取 x 的平方根函數(shù)

溫馨提示

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

評論

0/150

提交評論