版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C++面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)題一、單項(xiàng)選擇題1.C++源程序文件的默認(rèn)擴(kuò)展名為(A)。A.cppB.exeC.objD.lik2.由C++源程序文件編譯而成的目標(biāo)文件的默認(rèn)擴(kuò)展名為(C)。A.cppB.exeC.objD.lik3.由C++目標(biāo)文件連接而成的可執(zhí)行文件的默認(rèn)擴(kuò)展名為(B)。A.cppB.exeC.objD.lik4.C++程序從上機(jī)到得到結(jié)果的幾個操作步驟依次是(B)。A.編譯、編輯、連接、運(yùn)行B.編輯、編譯、連接、運(yùn)行C.編譯、運(yùn)行、編輯、連接D.編輯、運(yùn)行、編輯、連接5.以下標(biāo)識符中不全是關(guān)鍵字的是(B)。A.caseforintB.defaultthenwhileC.boolclasslongD.gotoreturnchar6.能作為C++程序的基本單位是(C)。A.字符B.語句C.函數(shù)D.源程序文件7.程序中主函數(shù)的名字為(A)。A.mainB.MAINC.MainD.任意標(biāo)識符8.C++程序的基本模塊為(D)。A.表達(dá)式B.標(biāo)識符C.語句D.函數(shù)9.可用作C++語言用戶標(biāo)識符的一組標(biāo)識符是(B)。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof10.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(D)。A.0B.‘0’C.“0”D.0.011.程序運(yùn)行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用(D)符號作為分隔符。A.空格或逗號B.逗號或回車C.逗號或分號D.空格或回車12.設(shè)”inta=12;”,則執(zhí)行完語句”a+=a*a;”后,a的值是(C)。A.12B.144C.156D.28813.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式的表達(dá)式是(D)。A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c14.設(shè)x是一個bool型的邏輯量,y的值為10,則表達(dá)式x&&y的值為(C)。A.1B.0C.與x值相同D.與x值相反15.x>0&&x<=10的相反表達(dá)式為(A)。A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>1016.x>0||y==5的相反表達(dá)式為(B)。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==517.設(shè)x和y均為bool量,則x&&y為真的條件是(A)。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假18.設(shè)x和y均為bool量,則x||y為假的條件是(C)。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假19.字符串”a+b=12\n”的長度為(B)。A.6B.7C.8D.920.假定下列x和y均為int型變量,則不正確的賦值為(B)。A.x+=y++B.x++=y++C.x=++yD.++x=++y21.下列的符號常量定義中,錯誤的定義是(C)。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;22.循環(huán)語句“for(inti=0;i<n;i++)cout<<i*i<<’’;”中循環(huán)體執(zhí)行的次數(shù)為(C)。A.1B.n-1C.nD.n+123.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為(B)。for(inti=0;i<n;i++)if(i>n/2)break;A.n/2B.n/2+1C.n/2-1D.n-124.在下面循環(huán)語句中內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為(D)。for(inti=0;i<n;i++)for(intj=i;j<n;j++)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/225.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為(C)。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.726.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為(A)。inti=0;doi++;while(i*i<10);A.4B.3C.5D.227.當(dāng)處理特定問題時的循環(huán)次數(shù)已知時,通常采用(A)來解決。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.switch語句28.循環(huán)體至少被執(zhí)行一次的語句為(C)。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.任一種循環(huán)29.switch語句能夠改寫為(B)語句。A.forB.ifC.doD.while30.do語句能夠改寫為(D)語句。A.復(fù)合B.ifC.switchD.while31.在下面的一維數(shù)組定義中,哪一個有語法錯誤。(C)A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];32.在下面的二維數(shù)組定義中,正確的是(C)。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10);33.假定一個二維數(shù)組的定義語句為“staticinta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為(C)。A.2B.4C.6D.834.假定一個二維數(shù)組的定義語句為“staticinta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為(A)。A.0B.4C.8D.635.以下說法中正確的是(B)。A.C++程序總是從第一個定義的函數(shù)開始執(zhí)行B.C++程序總是從main函數(shù)開始執(zhí)行C.C++函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中36.以下敘述中不正確的是(C)。A.在一個函數(shù)中,可以有多條return語句B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)必須有返回值D.不同的函數(shù)中可以使用相同名字的變量37.函數(shù)重載是指(A)。A.兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同B.兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同C.兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D.兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同38.以下關(guān)于函數(shù)模板敘述正確的是(C)。A.函數(shù)模板也是一個具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型39.下列(C)的調(diào)用方式是引用調(diào)用。A.形參和實(shí)參都是變量B.形參是指針,實(shí)參是地址值C.形參是引用,實(shí)參是變量D.形參是變量,實(shí)參是地址值40.為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇(A)。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板41.函數(shù)原型語句正確的是(B)。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);42.C++中函數(shù)返回值的類型是由(B)決定的。A.return語句中表達(dá)式的類型B.該函數(shù)定義時的類型C.調(diào)用函數(shù)時的調(diào)用語句D.系統(tǒng)根據(jù)結(jié)果43.函數(shù)調(diào)用不可以(D)。A.出現(xiàn)在一個表達(dá)式中B.出現(xiàn)在執(zhí)行語句中C.作為一個函數(shù)的實(shí)參D.作為一個函數(shù)的形參44.以下正確的描述是(B)。A.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套45.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(A)。A.數(shù)組的首地址B.數(shù)組中第一個元素的值C.數(shù)組全部元素的值D.數(shù)組元素的個數(shù)46.以下正確的描述是(C)。A.不允許設(shè)置參數(shù)的默認(rèn)值B.設(shè)置參數(shù)的默認(rèn)值只能在定義函數(shù)時設(shè)置C.設(shè)置參數(shù)的默認(rèn)值時,應(yīng)該從最右邊的參數(shù)設(shè)置D.設(shè)置參數(shù)的默認(rèn)值時,應(yīng)該全部參數(shù)都設(shè)置47.采用重載函數(shù)的目的是(D)。A.實(shí)現(xiàn)共享B.減少空間C.提高速度D.使用方便,提高可讀性48.以下敘述中正確的是(B)。A.使用#define可以為常量定義一個名字,該名字在程序中可以再賦另外的值B.使用const定義的常量名有類型之分,其值在程序運(yùn)行時是不可改變的C.在程序中使用內(nèi)聯(lián)函數(shù)使程序的可讀性變差D.在定義函數(shù)時可以在形參表的任何位置給出缺省形參值49.下面的標(biāo)識符中,(C)是文件級作用域。A.函數(shù)形參B.語句標(biāo)號C.外部靜態(tài)類標(biāo)識符D.自動類標(biāo)識符50.C++語言的編譯系統(tǒng)對宏命令的處理是(D)。A.在程序運(yùn)行時進(jìn)行B.在程序連接時進(jìn)行C.和C++程序的其它語句同時進(jìn)行編譯D.在對源程序中其它成分正式編譯之前進(jìn)行51.當(dāng)#include后面的文件名用雙引號括起來時,尋找被包含文件的方式是(B)。A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當(dāng)前邏輯盤上的所有目錄52.當(dāng)#include后面的文件名用尖括號括起來時,尋找被包含文件的方式是(A)。A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當(dāng)前邏輯盤上的所有目錄53.關(guān)于局部變量,下面說法正確的是(C)。A.定義該變量的程序文件中的函數(shù)都可以訪問B.定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問C.定義該變量的復(fù)合語句中的定義處以下的任何語句都可以訪問D.定義該變量的函數(shù)中的定義處以上的任何語句都可以訪問54.文件包含命令中被包含的文件的擴(kuò)展名(C)。A.必須是.hB.不能是.hC.可以是.h或.cppD.必須是.cpp55.預(yù)處理命令在程序中都是以(B)符號開頭的。A.*B.#C.&D.@56.設(shè)有定義“staticintdata[5][6];”,設(shè)該數(shù)組在靜態(tài)存儲區(qū)中的起始地址為十進(jìn)制的100,若每個int型數(shù)占4個字節(jié),則數(shù)組元素data[2][3]的地址為(D)。A.115B.124C.130D.16057.下列對引用的陳述中不正確的是(C)。A.每一個引用都是其所引用對象的別名,因此必須初始化B.形式上針對引用的操作實(shí)際上作用于它所引用的對象C.一旦定義了引用,一切針對其所引用對象的操作只能通過該引用間接進(jìn)行D.不需要單獨(dú)為引用分配存儲空間58.關(guān)于封裝,下列說法中不正確的是(D)。A.通過封裝,對象的全部屬性和操作結(jié)合在一起,形成一個整體B.通過封裝,一個對象的實(shí)現(xiàn)細(xì)節(jié)被盡可能地隱藏起來(不可見)C.通過封裝,每個對象都成為相對獨(dú)立的實(shí)體D.通過封裝,對象的屬性都是不可見的59.面向?qū)ο蠓椒ǖ亩鄳B(tài)性是指(C)。A.一個類可以派生出多個特殊類B.一個對象在不同的運(yùn)行環(huán)境中可以有不同的變體C.針對一消息,不同的對象可以以適合自身的方式加以響應(yīng)D.一個對象可以是由多個其他對象組合而成的60.軟件產(chǎn)品在需求發(fā)生變化、運(yùn)行環(huán)境發(fā)生變化或發(fā)現(xiàn)軟件產(chǎn)品本身的錯誤或不足時進(jìn)行相應(yīng)的軟件更新的難易程度叫做軟件的(A)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.正確性61.軟件產(chǎn)品可被全部或部分地再用于新的應(yīng)用的能力叫做軟件的(B)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.正確性62.軟件產(chǎn)品與其他軟件產(chǎn)品組合成一個整體的難易程度叫做軟件的(C)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.正確性63.軟件產(chǎn)品準(zhǔn)確執(zhí)行軟件需求規(guī)格說明書中所規(guī)定的任務(wù)的能力叫做軟件的(D)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.正確性64.假定AB為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為__C______。A.AB&(ABx);B.AB(ABx)C.AB(AB&x);D.AB(AB*x)65.對于結(jié)構(gòu)中定義的成員,其隱含訪問權(quán)限為____A______。publicB.protectedC.privateD.static66.下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是(D)
A.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);B.構(gòu)造函數(shù)在定義類對象時自動執(zhí)行
C.構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù);D.構(gòu)造函數(shù)不可以重載67.定義析構(gòu)函數(shù)時,應(yīng)該注意(C)A.其名與類名完全相同B.返回類型是void類型C.無形參,也不可重載D.函數(shù)體中必須有delete語句68.友元的作用是(A)A.提高程序的運(yùn)用效率B.加強(qiáng)類的封裝性;C.實(shí)現(xiàn)數(shù)據(jù)的隱藏性;D.增加成員函數(shù)的種類;69.21.有如下類聲明:
classFoo{
intbar;
};
則Foo類的成員bar是(C)
A.公有數(shù)據(jù)成員
B.公有成員函數(shù)
C.私有數(shù)據(jù)成員
D.私有成員函數(shù)70.34.類的析構(gòu)函數(shù)是一個對象被(B)時自動調(diào)用的A.建立 B.撤消 C.賦值 D.引用71.(D)不是構(gòu)造函數(shù)的特征A. 構(gòu)造函數(shù)的函數(shù)名與類名相同;B. 構(gòu)造函數(shù)可以重載;C. 構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D. 構(gòu)造函數(shù)必須指定類型說明。二、填空題1.C++語言是在__C____語言的基礎(chǔ)上發(fā)展起來的。2.C++語言的編譯單位是擴(kuò)展名為___.cpp_____的__程序_____文件。3.行尾使用注釋的開始標(biāo)記符為____//____。4.多行注釋的開始標(biāo)記符和結(jié)束標(biāo)記符分別為_/*________和___*/_____。5.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對象是_cout_____。6.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對象是___cin___。7.一個完整程序中必須有一個名為__main____的函數(shù)。8.一個函數(shù)的函數(shù)體就是一條__復(fù)合_____語句。9.當(dāng)執(zhí)行cin語句時,從鍵盤上輸入每個數(shù)據(jù)后必須接著輸入一個_空白_____符,然后才能繼續(xù)輸入下一個數(shù)據(jù)。10.在C++程序中包含一個頭文件或程序文件的預(yù)編譯命令為__#include______。11.程序中的預(yù)處理命令是指以__#___字符開頭的命令。12.一條表達(dá)式語句必須以___分號___作為結(jié)束符。13.在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是___用戶(或編程者)____定義的頭文件。14.使用#include命令可以包含一個頭文件,也可以包含一個_程序___文件。15.一個函數(shù)定義由_函數(shù)頭____和__函數(shù)體____兩部分組成。16.若一個函數(shù)的定義處于調(diào)用它的函數(shù)之前,則在程序開始可以省去該函數(shù)的_原型(或聲明)____語句。17.C++頭文件和源程序文件的擴(kuò)展名分別為___.h___和___.cpp___。18.程序文件的編譯錯誤分為___警告(warning)____和__致命(error)___兩類。19.當(dāng)使用__void____保留字作為函數(shù)類型時,該函數(shù)不返回任何值。20.當(dāng)函數(shù)參數(shù)表用__void____保留字表示時,則表示該參數(shù)表為空。21.從一條函數(shù)原型語句“intfun1(void);”可知,該函數(shù)的返回類型為__int____,該函數(shù)帶有_0___個參數(shù)。22.當(dāng)執(zhí)行cout語句輸出endl數(shù)據(jù)項(xiàng)時,將使C++顯示輸出屏幕上的光標(biāo)從當(dāng)前位置移動到_____下一行___的開始位置。23.假定x=5,y=6,則表達(dá)式x++*++y的值為____35______。24.假定x=5,y=6,則表達(dá)式x--*--y的值為_____25_____。25.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)*=x++計(jì)算后,x和y的值分別為___6_______和___30_______。26.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)+=x--計(jì)算后,x和y的值分別為____4______和____11______。27.C++常數(shù)0x145對應(yīng)的十進(jìn)制值為_____325_____。28.C++常數(shù)0345對應(yīng)的十進(jìn)制值為_____229_____。29.十進(jìn)制常數(shù)245對應(yīng)的十六進(jìn)制的C++表示為____0xf5______。30.十進(jìn)制常數(shù)245對應(yīng)的八進(jìn)制的C++表示為____0365______。31.signedchar類型的值域范圍是__-128______至__+127______之間的整數(shù)。32.int和float類型的數(shù)據(jù)分別占用__4_____和____4____個字節(jié)。33.float和double類型的數(shù)據(jù)分別占用____4_____和____8____個字節(jié)。34.bool和char類型的數(shù)據(jù)分別占用____1_____和_____1___個字節(jié)。35.unsignedshortint和int類型的長度分別為_____2____和___4_____。36.字符串”This\’sabook.\n”的長度為_____15_____。37.字符串”\nThis\’sapen\n\n”的長度為_____15_____。38.在C++中存儲字符串”abcdef”至少需要____7____個字節(jié)。39.在C++中存儲字符串”a+b=c”至少需要____6____個字節(jié)。40.假定x和y為整型,其值分別為16和5,則x%y和x/y的值分別為____1____和___3_____。41.假定x和y為整型,其值分別為16和5,則x/y和double(x)/y的值分別為____3______和_____3.2____。42.假定x是一個邏輯量,則x&&true的值為____x_____。43.假定x是一個邏輯量,則x||true的值為_____true(或1)____。44.假定x是一個邏輯量,則x&&false的值為_____false(或0)____。45.假定x是一個邏輯量,則x||false的值為____x______。46.假定x是一個邏輯量,則!x||false的值為____!x______。47.假定x是一個邏輯量,則x&&!x的值為_____false(或0)_____。48.假定x是一個邏輯量,則x||!x的值為____true(或1)_____。49.數(shù)學(xué)算式的C++表達(dá)式為______(x+y)/(2*x*y)______。50.數(shù)學(xué)算式的C++表達(dá)式為____3*x*y/(x+y)_______。51.數(shù)學(xué)算式的C++表達(dá)式為____1/(a*x*x+b*y*y)____。52.設(shè)enumPrintstatus{ready,busy,error};則cout<<busy的輸出結(jié)果是_1____。53.設(shè)enumPrintstatus{ready=2,busy,error};則cout<<busy的輸出結(jié)果是__3____。54.常數(shù)-4.205和6.7E-9分別具有____4______和_____2_____位有效數(shù)字。55.枚舉類型中的每個枚舉值都是一個_____枚舉常量_____,它的值為一個___整數(shù)______。56.常數(shù)100和3.62的數(shù)據(jù)類型分別為____int____和___double_____。57.若x=5,y=10,則計(jì)算y*=++x表達(dá)式后,x和y的值分別為_6___和___60___。58.假定x和ch分別為int型和char型,則sizeof(x)和sizeof(ch)的值分別為___4___和__1____。59.假定x=10,則表達(dá)式x<=10?20:30的值為__20____。60.表達(dá)式sqrt(81)和pow(6,3)的值分別為___9___和__216____。61.對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的初始化表實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的函數(shù)體實(shí)現(xiàn)。62.在switch語句中,每個語句標(biāo)號所含關(guān)鍵字case后面的表達(dá)式必須是整型_常量__。63.在if語句中,每個else關(guān)鍵字與它前面同層次并且最接近的____if____關(guān)鍵字相配套。64.作為語句標(biāo)號使用的C++保留字case和default只能用于____switch___語句的定義體中。65.執(zhí)行switch語句時,在進(jìn)行作為條件的表達(dá)式求值后,將從某個匹配的標(biāo)號位置起向下執(zhí)行,當(dāng)碰到下一個標(biāo)號位置時__不停止____執(zhí)行。66.若while循環(huán)的“頭”為“while(i++<=10)”,并且i的初值為0,同時在循環(huán)體中不會修改i的值,則循環(huán)體將被重復(fù)執(zhí)行____11__次后正常結(jié)束。67.若do循環(huán)的“尾”為“while(++i<10)”,并且i的初值為0,同時在循環(huán)體中不會修改I的值,則循環(huán)體將被重復(fù)執(zhí)行___10___次后正常結(jié)束。68.當(dāng)在程序中執(zhí)行到___break_____語句時,將結(jié)束本層循環(huán)類語句或switch語句的執(zhí)行。69.當(dāng)在程序中執(zhí)行到____continut____語句時,將結(jié)束所在循環(huán)語句中循環(huán)體的一次執(zhí)行。70.在程序中執(zhí)行到___return__語句時,將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。71.在程序執(zhí)行完___主(或main)__函數(shù)后,將結(jié)束整個程序的執(zhí)行過程,返回到操作系統(tǒng)下的C++集成開發(fā)窗口。72.元素類型為int的數(shù)組a[10]共占用__40_____字節(jié)的存儲空間。73.元素類型為double的二維數(shù)組a[4][6]共占用_192__字節(jié)的存儲空間。74.元素類型為char的二維數(shù)組a[10][30]共占用__300___字節(jié)的存儲空間。75.存儲字符’a’和字符串”a”分別需要占用___1___和__2____個字節(jié)。76.空串的長度為__0___,存儲它需要占用____1___個字節(jié)。77.字符串”\’a\’xy=4\n”的長度為__8____。78.假定對二維數(shù)組a[3][4]進(jìn)行初始化的數(shù)據(jù)為{{3,5,6},{2,8},{7}},則a[1][1]和a[2][3]分別被初始化為___8____和___0_____。79.在C++語言中,一個函數(shù)由函數(shù)頭和__函數(shù)體______組成。80.重載一個函數(shù)的條件是:該函數(shù)必須在參數(shù)的個數(shù)或參數(shù)的__類型____上與其它同名函數(shù)有所不同。81.如果一個函數(shù)只允許同一文件中的函數(shù)調(diào)用,則應(yīng)在該函數(shù)定義前加上___static____C++保留字。82.定義一個函數(shù)模板要用到的第一個修飾符是___template___。83.如果一個函數(shù)直接或間接地調(diào)用自身,這樣的調(diào)用稱為____遞歸_____調(diào)用。84.已知intcubin(intn){returnn*n*n;}和doublecubin(doublen){returnn*n*n;}是一個函數(shù)模板的兩個實(shí)例,假定類型參數(shù)用T表示,則該函數(shù)模板的定義是_____template<classT>Tcubin(Tn){returnn*n*n;}______。85.對于無返回值函數(shù),定義函數(shù)時要用____void_____修飾函數(shù)類型。86.如果一個函數(shù)中有多個默認(rèn)參數(shù),則默認(rèn)參數(shù)必須全部處在形參表的__右邊或(后面)___部分。87.調(diào)用系統(tǒng)函數(shù)時,要先使用#include命令包含該系統(tǒng)函數(shù)的原型語句所在的__頭文件__。88.程序的編譯是以___文件____為單位進(jìn)行的。89.C++程序運(yùn)行時的內(nèi)存空間可以分成全局?jǐn)?shù)據(jù)區(qū),堆區(qū),棧區(qū)和__代碼區(qū)(程序區(qū))__。90.全局變量和靜態(tài)局部變量具有靜態(tài)生存期,存放在內(nèi)存的___全局?jǐn)?shù)據(jù)_______區(qū)中。91.局部變量具有局部生存期,存放在內(nèi)存的___棧______區(qū)中。92.若二維數(shù)組a有m列,設(shè)a[0][0]位于數(shù)組的第一個位置上,則計(jì)算任一元素a[i][j]在數(shù)組中位置序號的公式為___i*m+j+1_________。93.若有定義“doublea[3][5];”,則a數(shù)組中行下標(biāo)和列下標(biāo)的最大值分別為___2_和__4__。94.當(dāng)定義一個結(jié)構(gòu)體變量時,系統(tǒng)分配給該變量的內(nèi)存大小等于各成員所需內(nèi)存大小的總和。95.假定對數(shù)組a[]進(jìn)行初始化的數(shù)據(jù)為{2,7,9,6,5,7,10},則a[2]和a[5]分別被初始化為9和7。96.在C++語言中,&作為雙目運(yùn)算符時表示的是按位與,而作為單目運(yùn)算時表示的是引用。97.C++語言規(guī)定,調(diào)用一個函數(shù)時,實(shí)參數(shù)變量與形參數(shù)變量之間的數(shù)據(jù)傳遞是值。98.結(jié)構(gòu)體變量中的成員的引用一般形式:結(jié)構(gòu)變量名.成員名。三、程序填空,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的內(nèi)容填寫到程序下面相應(yīng)標(biāo)號的后面。1、打印出100到200之間的所有素?cái)?shù)(即除1和它本身再沒有其他約數(shù)的數(shù))。#include<iostream.h>#include<math.h>voidmain(){inti,j;for(i=100;i<=200;i++){inttemp=int(sqrt(i));for(j=2;(1);j++)if(i%j==0)(2);if((3))cout<<i<<'';}cout<<'\n';}(1)j<=temp(2)break(3)j>temp2、斐波那契數(shù)列的第1和第2個數(shù)分別為0和1,從第三個數(shù)開始,每個數(shù)等于其前兩個數(shù)之和。求斐波那契數(shù)列中的前20個數(shù),要求每行輸出5個數(shù)。#include<iostream.h>voidmain(){intf,f1,f2,i;cout<<”斐波那契數(shù)列:\n”;f1=0;f2=1;cout<<setw(6)<<f1<<setw(6)<<f2;for(i=3;i<=20;i++){f=______(1)______;cout<<setw(6)<<f;if(_____(2)______)cout<<endl;f1=f2;f2=____(3)_______;}cout<<endl;}(1)f1+f2(2)i%5==0(3)f3、計(jì)算的值。#include<iostream.h>voidmain(){ doublex,p1=1,p2=1,s=0; inti,j=1; cout<<"輸入x的值:"; cin>>x; for(i=1;i<=10;i++){ p1*=___(1)_____; p2*=____(2)____; s+=j*p1/p2;//j的值為(-1)i+1 j=____(3)____; } cout<<s<<endl;}(1)x(2)i(3)-j4、采用輾轉(zhuǎn)相除法求出兩個整數(shù)的最大公約數(shù)。#include<iostream.h>voidmain(){inta,b; cout<<"請輸入兩個正整數(shù):"; cin>>a>>b; while(a<=0||(1)){cout<<"重新輸入:";cin>>a>>b;} while(b){ intr;r=a%b; (2);(3);//分別修改a和b的值 } cout<<a<<endl;//輸出最大公約數(shù)}(1)b<=0(2)a=b(3)b=r5、把從鍵盤上輸入的一個大于等于3的整數(shù)分解為質(zhì)因子的乘積。如輸入24時得到的輸出結(jié)果為“2223”,輸入50時得到的輸出結(jié)果為“255”,輸入37時得到的輸出結(jié)果為“37”。#include<iostream.h>voidmain(){ intx; cout<<"請輸入一個整數(shù),若小于3則重輸:"; docin>>x;while(___(1)___); inti=2; do{ while(___(2)___){ cout<<i<<''; x/=i; } ___(3)___; }while(i<x); if(x!=1)cout<<x; cout<<endl;}(1)x<3(或x<=2)(2)x%i==0(3)i++6、下面函數(shù)是求兩個整型參數(shù)a和b的最小公倍數(shù)。intf2(inta,intb){ inti=2,p=1; do{ while(a%i==0&&___(1)___){ p*=i;a/=i;b/=i; } ___(2)___; }while(a>=i&&___(3)___); returnp*a*b;}(1)b%i==0(2)i++(或++i)(3)b>=i7、在輸出屏幕上打印出一個由字符’*’組成的等腰三角形,該三角形的高為5行,從上到下每行的字符數(shù)依次為1,3,5,7,9。#include<iostream.h>voidmain(){ inti,j; for(i=1;___(1)___;i++){ for(j=1;j<=9;j++) if(j<=5-i||___(2)___)cout<<’’; else___(3)___; cout<<endl; }}(1)i<=5(2)j>=5+i(3)cout<<’*’8、統(tǒng)計(jì)字符串中英文字母個數(shù)的程序。#include<iostream.h>intcount(charstr[]);voidmain(){chars1[80];cout<<”Enteraline:”;cin>>s1;cout<<”count=”<<count(s1)<<endl;}intcount(charstr[]){intnum=0;//給統(tǒng)計(jì)變量賦初值for(inti=0;str[i];i++)if(str[i]>=’a’&&str[i]<=’z’||___(1)___)___(2)___;___(3)___;}(1)str[i]>=’A’&&str[i]<=’Z’(2)num++(3)returnnum9、主函數(shù)調(diào)用一個fun函數(shù)將字符串逆序。#include<iostream.h>#include<string.h>___(1)___;voidmain(){chars[80];cin>>s;___(2)___;cout<<”逆序后的字符串:”<<s<<endl;}voidfun(charss[]){intn=strlen(ss);for(inti=0;___(3)____;i++){charc=ss[i];ss[i]=ss[n–1–i];ss[n–1–i]=c;}}(1)voidfun(charss[])(2)fun(s)(3)i<n/210、從鍵盤上輸入一個正整數(shù),然后把它轉(zhuǎn)換成的二進(jìn)制數(shù)的每一位存放到一維數(shù)組中,最后輸出該二進(jìn)制數(shù)。注意二進(jìn)制數(shù)的存放是按照從低位到高位的次序進(jìn)行的。#include<iostream.h>voidmain(){ intx;cout<<"輸入一個整數(shù):";cin>>x;inta[20],k=0,r;do{ r=x%2;a[k++]=r;x=___(1)___; }while(___(2)___);for(--k;k>=0;k--)___(3)___;cout<<endl;}(1)x/2(2)x!=0(3)cout<<a[k]11、對數(shù)組a[n]按升序進(jìn)行的選擇排序算法voidSelectSort(inta[],___(1)___){ inti,j,k; for(i=1;i<n;i++){//進(jìn)行n-1次選擇和交換k=i-1; for(j=i;j<n;j++) if(a[j]<a[k])___(2)___; intx=a[i-1];a[i-1]=a[k];___(3)___; }}(1)intn(2)k=j(3)a[k]=x四、寫出程序運(yùn)行結(jié)果1.#include<iostream.h>#include<stdlib.h>voidmain(){ inta[8]={25,48,32,85,64,18,48,29};intmax,min; max=min=a[0]; for(inti=0;i<8;i++){if(max>a[i])max=a[i]; if(min<a[i])min=a[i]; } cout<<"max:"<<max<<endl; cout<<"min:"<<min<<endl;}答案:max:85min:182.#include<iostream.h>voidmain(){ inta,b;for(a=1,b=2;b<50;){ cout<<a<<''<<b<<''; a=a+b; b=a+b; } cout<<endl; cout<<a<<''<<b<<''<<endl;}答案:1235813213455893.#include<iostream.h>constintM=3,N=4;voidmain(){ inti,j,s=0; for(i=1;i<=M;i++) for(j=1;j<=N;j++) s+=i*j; cout<<”s=”<<s<<endl;}答案:s=604.#include<iostream.h>voidmain(){ inta=2,b=5,c=0; if(a+b>10)c=a*b;elsec=3*a+b; if(c<=20)cout<<c*c;elsecout<<4+c-5; cout<<endl; a=a+b;b=a+b;c+=a+b; cout<<"a,b,c="<<a<<','<<b<<','<<c<<endl;}答案:121a,b,c=7,12,305.#include<iostream.h>voidmain(){intx=5; switch(2*x-3){ case4:cout<<x<<’’; case7:cout<<2*x+1<<’’; case10:cout<<3*x-1<<’’;break; default:cout<<"default"<<endl; } cout<<"switchend."<<endl;}答案:1114switchend.6.#include<iomanip.h>#include<math.h>inta[4]={36,-5,73,8};voidmain(){inti,y; for(i=0;i<4;i++){ if(a[i]<0)y=1; elseif(a[i]<10)y=a[i]*a[i]+3; elseif(a[i]<60)y=4*a[i]-5; elsey=int(sqrt(a[i]));//sqrt(x)為取x的平方根函數(shù) cout<<setw(5)<<a[i]<<setw(5)<<y; }}答案:36139-517388677.#include<iostream.h>inta[8]={36,25,20,43,12,70,66,35};voidmain(){ ints0,s1,s2; s0=s1=s2=0; for(inti=0;i<8;i++){ switch(a[i]%3){ case0:s0+=a[i];break; case1:s1+=a[i];break; case2:s2+=a[i];break; } } cout<<s0<<’’<<s1<<’’<<s2<<endl;}答案:114138559.#include<iomanip.h>constintM=20;voidmain(){ intc2,c3,c5; c2=c3=c5=0; for(inti=1;i<=M;i++){ if(i%2==0)c2++; if(i%3==0)c3++; if(i%5==0)c5++; } cout<<c2<<''<<c3<<''<<c5<<endl;}答案:106410.#include<iomanip.h>voidmain(){inti,j; for(i=0;i<5;i++){ for(j=i;j<5;j++)cout<<’*’; cout<<endl; }}答案:***************11.#include<iostream.h>voidmain(){for(inti=1,s=0;i<20;i++){ if(i%2==0||i%3==0)continue; cout<<i<<’’; s+=i; } cout<<s<<endl;}答案#include<iostream.h>constintT=6;voidmain(){ inti,j; for(i=1;i<=T;i+=2) for(j=2;j<=T;j+=2){ if(i+j<T)cout<<’+’; elsecout<<’*’;}}答案:++*+*****12.#include<iostream.h>voidmain(){inta,b,c=0; for(a=1;a<4;a++) for(b=6;b>1;b-=2){ if((a+b)%2==0)c+=a+b;elsec+=a*b; if(b==2)cout<<a<<’’<<b<<’’<<c<<endl; }}答案:12122230326613.#include<iostream.h>constintB=2;voidmain(){intp=1,s=1; while(s<50){ p*=B; s+=p; } cout<<"s="<<s<<endl;}答案:s=6314.#include<iostream.h>voidmain(){ intx=24,y=88; inti=2,p=1; do{ while(x%i==0&&y%i==0){ p*=i; x/=i; y/=i; } i++; }while(x>=i&&y>=i); cout<<p*x*y<<endl;}答案:26415.#include<iomanip.h>constintN=3;voidmain(){ inta[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}}; intb[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}}; inti,j,c[N][N]; for(i=0;i<N;i++)//計(jì)算矩陣C for(j=0;j<N;j++) c[i][j]=a[i][j]+b[i][j]; for(i=0;i<N;i++){//輸出矩陣C for(j=0;j<N;j++) cout<<setw(5)<<c[i][j];cout<<endl; }}答案:101-640-36-6-916.#include<iostream.h>inta=5;voidmain(){ intb=a+20; inta=10; cout<<a<<''<<b<<endl; {inta=0,b=0; for(inti=1;i<6;i++){ a+=i;b+=a; } cout<<a<<''<<b<<endl; } cout<<a<<''<<b<<endl;}答案:10251535102517.#include<iostream.h>intf1(intx,inty){ x=x+y;y=x+y; cout<<"x="<<x<<",y="<<y<<endl; returnx+y;}voidmain(){ intx=5,y=8; intz=f1(x,y); cout<<"x="<<x<<",y="<<y; cout<<",z="<<z<<endl;}答案:x=13,y=21x=5,y=8,z=3418.#include<iostream.h>voidf2(int&x,int&y){ intz=x;x=y;y=z;}voidf3(int*x,int*y){ intz=*x;*x=*y;*y=z;}voidmain(){ intx=10,y=26;cout<<"x,y="<<x<<","<<y<<endl; f2(x,y);cout<<"x,y="<<x<<","<<y<<endl;f3(&x,&y);cout<<"x,y="<<x<<","<<y<<endl;x++;y--; f2(y,x);cout<<"x,y="<<x<<","<<y<<endl;}答案:x,y=10,26x,y=26,10x,y=10,26x,y=25,1119.#include<iostream.h>voidf4(inta[],intn,int&s){ s=0; for(inti=0;i<n;i++)s+=a[i];}voidmain(){ intb[8]={4,8,6,9,2,10,7,12}; intx;f4(b,5,x); cout<<x<<''; inty;f4(b+3,4,y); cout<<y<<''; cout<<x+y<<endl;}答案:29285720.#include<iostream.h>voidmain(){ inta[8]={36,25,48,14,55,40,50,24}; intb1,b2; b1=b2=a[0]; for(inti=1;i<8;i++) if(a[i]>b1){b2=b1;b1=a[i];}elseif(a[i]>b2)b2=a[i]; cout<<b1<<''<<b2<<endl;}答案:555021.#include<iostream.h>voidmain(){chara[]="abcdabcabfgacd"; inti1=0,i2=0,i=0; while(a[i]){ if(a[i]==’a’)i1++; if(a[i]==’b’)i2++; i++;} cout<<i1<<’’<<i2<<’’<<i<<endl;}答案:431422.#include<iostream.h>classA{public: A(); A(inti,intj); ~A(){cout<<"Donstructor.\n";} voidprint();private: inta,b;};A::A(){ a=b=10;cout<<"Defaultconstructor.\n";}A::A(inti,intj){a=i,b=j;cout<<"Constructor.\n";}voidA::print(){cout<<"a="<<a<<",b="<<b<<endl;}voidmain(){ Am,n(15,18); m.print(); n.print();}答:DefaultconstructorConstructora=10,b=10a=15,b=18DestructorDestructor23.#include<iostream.h>classAA{public:AA(inti,intj) {A=i;B=j;cout<<"Constructor\n";} AA(AA&obj) {A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n";} ~AA() {cout<<"Destructor\n";} voidprint() {cout<<"A="<<A<<",B="<<B<<endl;}private:intA,B; };voidmain(){AAa1(2,3);AAa2(a1); a2.print(); AA*pa=newAA(5,6); pa->print();deletepa;}答:ConstructorCopy_ConstructorA=3,B=5ConstructorA=5,B=6DestructorDestructorDestructor24、#include<iostream.h>classAA{public:AA(inti,intj) {A=i;B=j;cout<<"Constructor\n";} AA(AA&obj) {A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n";} ~AA() {cout<<"Destructor\n";} voidprint() {cout<<"A="<<A<<",B="<<B<<endl;}private:intA,B; };voidmain(){AAa1(2,3);AAa2(a1); a2.print(); AA*pa=newAA(5,6); pa->print();deletepa;}25.#include<iostream.h>classA{public: A(); A(inti,intj); ~A(){cout<<"Destructor.\n";} voidprint();private: inta,b;};A::A(){ a=5;b=10;cout<<"Defaultconstructor.\n";}A::A(inti,intj){a=i,b=j;cout<<"Constructor.\n";}voidA::print(){cout<<"a="<<a<<",b="<<b<<endl;}voidmain(){ Aobj1,obj2(15,18); obj1.print(); obj2.print();}26.#include<iostream.h>classsample{ inti; doubled;public: voidsetdata(intn){i=n;} voidsetdata(doublex){d=x;} voiddisp() { cout<<”i=”<<i<<”,d=”<<d<<endl; }};voidmain(){ samples; s.setdata(10); s.setdata(15.6); s.disp();}答案:27.#include<iostream.h>double&fn(constdouble&pd){ staticdoublead=32; ad+=pd; cout<<”fnbeingcalled…thevalueis:”<<pd<<endl; returnad;}voidmain(){ doublea=345.6; double&pa=fn(a); cout<<pa<<endl;a=55.5;fn(a);cout<<pa<<endl;}答案:五、指出程序或函數(shù)的功能1.#include<iostream.h>voidmain(){ inti,s=0; for(i=2;i<=30;i+=2)s+=i*i; cout<<"s="<<s<<endl;}計(jì)算并輸出22+42+62+...+302的值。2.#include<iostream.h>#include<stdlib.h>#include<math.h>voidmain(){inti=10,a; while(i>0){ a=rand()%90+10; intj,k=int(sqrt(a)+1e-5);
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年電力系統(tǒng)運(yùn)維安全規(guī)程
- 南城縣工創(chuàng)發(fā)展集團(tuán)有限公司招聘考試備考試題及答案解析
- 2025年南安小學(xué)語文教招筆試及答案
- 2025年周三面試事業(yè)編武漢考試及答案
- 2026年安全事故的警鐘建筑工程案例
- 2026年工程項(xiàng)目中的環(huán)境友好型設(shè)計(jì)
- 2025年永年區(qū)事業(yè)單位考試真題及答案
- 2025年鹽源人事考試及答案
- 2025年機(jī)械類秋招筆試題庫及答案
- 2026年特殊教育支持策略培訓(xùn)
- DB34T 4506-2023 通督調(diào)神針刺療法應(yīng)用指南
- 02-輸電線路各階段設(shè)計(jì)深度要求
- 《認(rèn)識時鐘》大班數(shù)學(xué)教案
- 新疆維吾爾自治區(qū)伊犁哈薩克自治州2023-2024學(xué)年八年級下學(xué)期期中數(shù)學(xué)試題
- T-CI 178-2023 高大邊坡穩(wěn)定安全智能監(jiān)測預(yù)警技術(shù)規(guī)范
- THHPA 001-2024 盆底康復(fù)管理質(zhì)量評價指標(biāo)體系
- 傷口的美容縫合減少瘢痕的形成
- MSOP(測量標(biāo)準(zhǔn)作業(yè)規(guī)范)測量SOP
- 顱鼻眶溝通惡性腫瘤的治療及護(hù)理
- 人教版四年級《上冊語文》期末試卷(附答案)
- 四川山體滑坡地質(zhì)勘察報(bào)告
評論
0/150
提交評論