版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
高級語言程序設(shè)計》一、判斷題(錯誤的在后面寫“F”,正確的寫“T”,每題1分)程序是描述算法的編程工具?;瘜⒑瘮?shù)模板與某個具體數(shù)據(jù)類型連用,就產(chǎn)生了模板函數(shù),稱這個過程為函數(shù)模板實例化.C++語言中,用來為對象初始化的特殊成員函數(shù)稱為構(gòu)造函數(shù);用于在對象撤銷時執(zhí)行一些清理任務(wù)的特殊成員函數(shù)稱為析構(gòu)函數(shù).逐條翻譯并執(zhí)行的翻譯程序稱為編譯程序把所有類組織在一個樹形結(jié)構(gòu)中,這時所有類,不管它們之間的差別有多大,都有一個共同的相關(guān)類,這種結(jié)構(gòu)被稱為類樹。類群是由一些彼此密切相關(guān)的類和類族組成的.如果在定義一個類時,該類繼承了多個基類的特征,那么這個繼承關(guān)系稱為多重繼承。不同對象可以調(diào)用相同名稱的函數(shù),并可導(dǎo)致完全相同的行為的現(xiàn)象稱為多態(tài)性.形式參數(shù)表是用括號分隔的變量說明列表,變量稱為函數(shù)的形式參數(shù),有時也簡稱為形參。9?.在C++語言中,只要在聲明函數(shù)原型時形式參數(shù)的個數(shù)或者對應(yīng)的類型不同,兩個或更多的函數(shù)就可以共用同一個名字。這種在同一作用域中允許多個函數(shù)使用同一函數(shù)名的措施被稱為重載。C++的作用域分辨:可以迫使編譯器“看到”當前作用域的外層部分,存取那些被隱藏的名字。這是由作用域分辨操作符實現(xiàn)的,這一過程叫做作用域分辨。11.說明函數(shù)原型時不需要指明每個函數(shù)參數(shù)的名字,只需要說明每個參數(shù)的類型和返回值類型就可以了。12.所有的表達式都有值。13.程序的編譯是以文件為單位的,因此將程序分到多個文件中可以減少每次對程序修改所帶來的編譯工作量。14.類的靜態(tài)數(shù)據(jù)成員需要在定義每個類的對象時進行初始化。15.基類中被說明為protected和private的成員只能被其派生類的成員函數(shù)訪問,不能被其它的函數(shù)訪問。當將一個類S定義為另一個類A的友元類時,類S的所有成員函數(shù)都可以直接訪問類A的所有成員。當函數(shù)的返回值是數(shù)組類型的,傳遞的是數(shù)組第一個元素的地址。如果派生類的成員函數(shù)的原型與基類中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個函數(shù)自動繼承基類中虛函數(shù)的特性。字符串’heHo,worl在內(nèi)存中存放時,占用11個字節(jié)的空間。用new動態(tài)申請的內(nèi)存空間,必須用delete來釋放。變量必須先定義或說明,后說明.23、常量不能作為左值使用.23、頭文件中一般存放著變量和常量的定義、函數(shù)的原型以及類的定義。24、類的友元函數(shù)可以直接訪問該類的所有成員。25、派生類的成員函數(shù)可以直接訪問基類的所有成員。26、一個類可以作為另一個類的友元類.27、函數(shù)的參數(shù)和返回值類型可以是簡單數(shù)據(jù)類型,也可以是指什、引用、數(shù)組和類.28、在基類中被說明為虛函數(shù)的類的成員函數(shù)必須在每個派生類中說明為虛函數(shù),才能具有多態(tài)的特征。29、下面兩個語句是等價的:charstr[]=”hello,world”;charstr[11]=”hello,world”;30、 用new動態(tài)申請的內(nèi)存是在堆中分配的,而不是在棧中分配的。靜態(tài)聯(lián)編所支持的多態(tài)性稱為編譯時的多態(tài)性。如果一個類中至少有一個實函數(shù),則稱這個類為抽象類。33。 用于在對象消失時執(zhí)行一些清理任務(wù)的函數(shù)叫虛函數(shù)。C++源程序文件的缺省擴展名為cpp35。 由C++源程序文件編譯而成的目標文件的缺省擴展名為lik36。 由C++目標文件連接而成的可執(zhí)行文件的缺省擴展名為obj37。 編寫C++程序一般需經(jīng)過的幾個步驟依次是編輯、編譯、連接、調(diào)試38。 標識符defaultthenwhile全是保留字能作為C++程序的基本單位是語句程序中主函數(shù)的名字為任意標識符二、填空題(每題3分)TOC\o"1-5"\h\z1。假定x=5,y=6,則執(zhí)行表達式y(tǒng)+二x--計算后,x和y的值分別為 和2。 C++常數(shù)0x145對應(yīng)的十進制值為 。3。 C++常數(shù)0345對應(yīng)的十進制值為 .4。 十進制常數(shù)245對應(yīng)的十六進制的C++表示為 .5。 十進制常數(shù)245對應(yīng)的八進制的C++表示為 。6。 signedchar類型的值域范圍是 至 之間的整數(shù)。7。 int和float類型的數(shù)據(jù)分別占用 和 個字節(jié)。&float和double類型的數(shù)據(jù)分別占用 和 個字節(jié)。bool和char類型的數(shù)據(jù)分別占用 和 個字節(jié)。11TOC\o"1-5"\h\zunsignedshortint和int類型的長度分別為 和 。字符串“This、'sabook.\n”的長度為 。字符串、'\nThis\'sapen\n\n”的長度為 。在C++中存儲字符串“abcdef”至少需要 個字節(jié).在C++中存儲字符串“a+b=c〃至少需要 個字節(jié).假定x和y為整型,其值分別為16和5,則x%y和x/y的值分別為 和 .若while循環(huán)的“頭"為”while(i++〈=10)”,并且i的初值為0,同時在循環(huán)體中不會修改i的值,則循環(huán)體將被重復(fù)執(zhí)行 次后正常結(jié)束。若do循環(huán)的“尾〃為〃while(++i〈10)〃,并且i的初值為0,同時在循環(huán)體中不會修改i的值,則循環(huán)體將被重復(fù)執(zhí)行 次后正常結(jié)束.當在程序中執(zhí)行到 語句時,將結(jié)束本層循環(huán)類語句或switch語句的執(zhí)行。當在程序中執(zhí)行到 語句時,將結(jié)束所在循環(huán)語句中循環(huán)體的一次執(zhí)行。在程序中執(zhí)行到 語句時,將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。在程序執(zhí)行完 函數(shù)調(diào)用后,將結(jié)束整個程序的執(zhí)行過程,返回到C++集成開發(fā)窗口.元素類型為int的數(shù)組a[10]共占用 字節(jié)的存儲空間。元素類型為double的二維數(shù)組a[4][6]共占用 字節(jié)的存儲空間。元素類型為char的二維數(shù)組a[10][30]共占用 字節(jié)的存儲空間。存儲字符'a'和字符串〃a〃分別需要占用 和 個字節(jié)??沾拈L度為 ,存儲它需要占用 個字節(jié)。TOC\o"1-5"\h\z字符串”\'a\'xy=4\n〃的長度為 .字符串”a:\\xxk\\數(shù)據(jù)〃的長度為 。用于存儲一個長度為n的字符串的字符數(shù)組的長度至少為 。若a是一個字符數(shù)組,則從鍵盤上向該數(shù)組輸入一個字符串的表達式為—。C++是將源程序 ,然后再執(zhí)行,這種翻譯程序稱為編譯程序。聯(lián)合的若干數(shù)據(jù)成員使用地址 ,占據(jù)的內(nèi)存是聯(lián)合中占內(nèi)存最大的數(shù)據(jù)成員所占用的內(nèi)存。作用域分辨操作符的一般形式為類名::類標識符,作用域分辨不僅可用于類中,而且可以用在 時。將關(guān)鍵詞const寫在 之后, , 之前,說明該函數(shù)是一個const成員函數(shù)。C++是在 的基礎(chǔ)上,引入面向?qū)ο蟾拍疃鴶U充形成的混合型面向?qū)ο笳Z言。在動態(tài)聯(lián)編中,直到 時才能確定調(diào)用哪個函數(shù)。靜態(tài)聯(lián)編是在程序編譯時進行的。類型轉(zhuǎn)換函數(shù) 帶有參數(shù),當被派生類繼承并被說明為 時,可以定義多個轉(zhuǎn)換函數(shù)。繼承是 的一個特點,繼承支持 類概念.C++的 規(guī)則能保證編譯器調(diào)用正確的成員函數(shù).在C++中,聲明構(gòu)造函數(shù)和析構(gòu)函數(shù)時, 使用const或volatile關(guān)鍵詞.41。只能用類運算符來重載的運算符是: , , , 。應(yīng)該養(yǎng)成將所有extern說明放到 中去的習(xí)慣,對于自己編寫的函數(shù),必須自己給出 說明。結(jié)構(gòu)是 ,的一種特例,其中成員在缺省情況下是 。當使用delete刪除一個對象時‘delete隱含著對 函數(shù)的一次調(diào)用,如果這個函數(shù)為虛函數(shù),則這個調(diào)用采用 聯(lián)編。const放在函數(shù)前面使常量成員返回 。如果定義一個const對象,則只能訪問該對象的const成員函數(shù)。在面向?qū)ο蟮某绦蛟O(shè)計中,一切都是圍繞著 展開的。析構(gòu)造函數(shù)是和 同名的函數(shù)。48.指向基類的對象的指針變量也可以指向 的對象。49.若多繼承時,多個基類中擁有一個同名的成員,則 用調(diào)整訪問權(quán)限確定對該成員的訪問50.多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于 派生類時所指定的各基類的順序。51.構(gòu)造函數(shù)___①___被繼承,析構(gòu)函數(shù) ② 被繼承。52.___①___繼承情況下,派生類中對基類成員的訪問會出現(xiàn)二義性.解決二義性的方法是 ② 、___③___和___④___53.垂直訪問時,保護成員的訪問控制權(quán)限與 成員相同.54.派生類可以調(diào)用其 中不具備的數(shù)據(jù)和操作。55.利用繼承能夠?qū)崿F(xiàn) 。這種實現(xiàn)縮短了程序的開發(fā)時間,促使開發(fā)人員復(fù)用已經(jīng)測試和調(diào)試好的高質(zhì)量軟件。56.當撤消一個含有基類和子對象成員的派生類對象時,將首先完成___①___的析構(gòu)函數(shù)定義體的執(zhí)行,接著完成 ② 的析構(gòu)函數(shù)定義體的執(zhí)行,最后完成___③___的析構(gòu)函數(shù)定義體的執(zhí)行.57.如果類Alpha繼承了類Beta,則類Alpha稱為 ① 類,類Beta稱為 ② 類58.對基類數(shù)據(jù)成員的初始化必須在派生類構(gòu)造函數(shù)中的 處執(zhí)行。在派生類中使用基類的成員,可以顯示地使用 來使用基類成員當將基類指針轉(zhuǎn)換為派生類指針時,由于編譯器認為這種操作是危險的,所以必須要使用多繼承可以視為是___①___的擴展,派生類及其基類可用一個___②___表示。62。 繼承是___①___的一個特點,繼承支持___②___類概念。TOC\o"1-5"\h\z63?若需要定義一個標識符常量,并且使C++能夠進行類型檢查,則應(yīng)在定義語句的開始使用保留字 。邏輯表達式x>3&&xvlO的相反表達式為 .邏輯表達式a〉blib==5的相反表達式為 .假定一個二維數(shù)組的定義為”chara[5][6];",則該數(shù)組所含元素的個數(shù)為 ,所占存儲空間的字節(jié)數(shù)為 變量分為全局和局部兩種, 變量沒有賦初值時,將由系統(tǒng)自動置為0.假定a是一個一維數(shù)組,則a[i]對應(yīng)的存儲地址(以字節(jié)為單位)為 假定一個結(jié)構(gòu)類型的定義為”structA{inta,b;A*c;};”,則該類型的大小為 字節(jié).TOC\o"1-5"\h\z假定要訪問一個結(jié)構(gòu)指針p所指對象中的b指針成員所指的對象,則表示方法為 。三、單選題(每題2分,在下列各題的備選答案中,選出一個正確答案并將其號碼填寫在題目后面的括號內(nèi).)1。 C++源程序文件的缺省擴展名為( )。cpp B.exe C.obj D。lik2。 由C++源程序文件編譯而成的目標文件的缺省擴展名為( )。A。 cpp B.exe C.obj D.lik3。 由C++目標文件連接而成的可執(zhí)行文件的缺省擴展名為()。cpp B.exe C。obj D。lik4。 編寫C++程序一般需經(jīng)過的幾個步驟依次是( )?編譯、編輯、連接、調(diào)試
B。 編輯、編譯、連接、調(diào)試編譯、調(diào)試、編輯、連接編輯、調(diào)試、編輯、連接)。)。)。)。C.函數(shù)D。源程序文件C。MainD。任意標識符C.語句D.函數(shù)caseforintdefaultthenwhileC。 boolclasslongD。 gotoreturnchar6。 能作為C++程序的基本單位是(A。 字符 B。語句7。 程序中主函數(shù)的名字為( ).A。 main B.MAIN8。 C++程序的基本模塊為( )。A。表達式B。標識符9.可用作C++語言用戶標識符的一組標識符是()。A。voiddefine+WORDB.a3_b3_123YNC。for—abcCaseD.2aDOsizeof10.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是()0B?!?' C?!?” D。0.011。 程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用()符號作為分隔符。A??崭窕蚨禾?B.逗號或回車 C.逗號或分號D??崭窕蚧剀?2。 設(shè)”inta=12;”,則執(zhí)行完語句"a+=a*a;”后,a的值是( )。A。 12B.144C.156D。288113。 假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式丁abc的表達式是()。A。1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)c D。1。0/a/b/cTOC\o"1-5"\h\z設(shè)”inta=15,b=26;",則"cout〈〈(a,b);”的輸出結(jié)果是( )。A。15B。26,15C。15,26D.26設(shè)x是一個bool型的邏輯量,y的值為10,則表達式x&&y的值為( )。A。1 B。0 C.與x值相同Do與x值相反16。x〉0&&x<=10的相反表達式為().A。x〈=0I|x>10 B.x<=0&&x〉10C.x<=0I|x〈=10 D。x>0&&x〉1017。x>0|Iy==5的相反表達式為()。TOC\o"1-5"\h\zA.x<=0|Iy!=5 B.x<=0&&y!=5C.x>0|Iy!=5 D.x>0&&y==5設(shè)x和y均為bool量,則x&&y為真的條件是( )。A.它們均為真 B.其中一個為真C.它們均為假 D。其中一個為假設(shè)x和y均為bool量,則xIIy為假的條件是( ).A。它們均為真 B.其中一個為真Co它們均為假 D.其中一個為假字符串”a+b=12\n〃的長度為()。TOC\o"1-5"\h\zAo6 B.7 Co8 Do9假定下列x和y均為int型變量,則不正確的賦值為( )oA.x+=y++ B.x++=y++ C.x=++y D。++x=++y下列的符號常量定義中,錯誤的定義是( )。A.constM=10; B.constintM=20;C.constcharch; D。constboolmark=true;循環(huán)語句“for(inti=0;i〈n;i++)cout〈〈i*i〈〈’’;”中循環(huán)體執(zhí)行的次數(shù)為( )。A。1B。n-1C.nD.n+1在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。for(inti=0;i〈n;i++)if(i>n/2)break;A。n/2B。n/2+1C.n/2-1D.n—125o在下面循環(huán)語句中內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為()ofor(inti=0;i〈n;i++)for(intj=i;j〈n;j++)S;A.n2 B.(n+1)/2Con(n—1)/2 D.n(n+1)/226o在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( )?inti=0,s=0;while(s〈20){i++; s+=i;}A.4B.5Co6Do727o在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( )?inti=0;doi++;while(i*i〈10);Ao4B.3C.5D.228o當處理特定問題時的循環(huán)次數(shù)已知時,通常采用( )來解決。A.for循環(huán) Bowhile循環(huán)Codo循環(huán)Doswitch語句29.循環(huán)體至少被執(zhí)行一次的語句為( )oAofor循環(huán) B.while循環(huán)Codo循環(huán)Do任一種循環(huán)30.switch語句能夠改寫為( )語句。A.for Boif CodoDowhile31.do語句能夠改寫為( )語句。Ao復(fù)合 B.if C.switchDowhile32o在下面的一維數(shù)組定義中,哪一個有語法錯誤.( )A.inta□二{1,2,3}; B.inta[10]={0};C.inta[]; D.inta[5];在下面的字符數(shù)組定義中,哪一個有語法錯誤。()oA.chara[20]=〃abcdefg〃; B.chara[]=〃x+y=55.〃;Cochara[15];Dochara[10]='5';在下面的二維數(shù)組定義中,正確的是( )oA.inta[5][]; Bointa[][5];C.inta[][3]={{1,3,5},{2}};Dointa[](10);35o假定一個二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};",則元素a[1][2]的值為()o
A.2Bo4Co636.假定一個二維數(shù)組的定義語句為A.2Bo4Co636.假定一個二維數(shù)組的定義語句為“int的值為()。D。8a[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]A.0Bo4C.8D.6若定義了函數(shù)double大function(),則函數(shù)function的返回值為( )。Ao實數(shù)型B.實數(shù)的地址C.指向函數(shù)的指針D.函數(shù)的地址以下說法中正確的是()oC++程序總是從第一個定義的函數(shù)開始執(zhí)行C++程序總是從main函數(shù)開始執(zhí)行CoC++函數(shù)必須有返回值,否則不能使用函數(shù)DoC++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中以下敘述中不正確的是()oAo在一個函數(shù)中,可以有多條return語句函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套函數(shù)必須有返回值Do不同的函數(shù)中可以使用相同名字的變量函數(shù)重載是指()oA.兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同Bo兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同Co兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同Do兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同以下關(guān)于函數(shù)模板敘述正確的是().Ao函數(shù)模板也是一個具體類型的函數(shù)Bo函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念Co通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)用函數(shù)模板定義的函數(shù)沒有類型下列( )的調(diào)用方式是引用調(diào)用。Ao形參和實參都是變量 Bo形參是指針,實參是地址值形參是引用,實參是變量 D.形參是變量,實參是地址值為了提高程序的運行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇()Ao內(nèi)聯(lián)函數(shù)B.重載函數(shù)Co遞歸函數(shù)Do函數(shù)模板0445.46.47。函數(shù)原型語句正確的是(A.intFunction(voida);C.intFunction(a);C++中函數(shù)返回值的類型是由函數(shù)原型語句正確的是(A.intFunction(voida);C.intFunction(a);C++中函數(shù)返回值的類型是由(A.return語句中表達式的類型C.調(diào)用函數(shù)時的調(diào)用語句
以下函數(shù)的返回結(jié)果是()ointfunction(char*x){char*p=x;while(*p++);)oBovoidFunction(int);D.voidint(doublea);決定的.B.該函數(shù)定義時的類型Do系統(tǒng)根據(jù)結(jié)果return(p-x-1);}}A.CoBo將字符串Bo將字符串x連接到字符串p后面將字符串x復(fù)制到字符串p中Do將字符串x反向存放函數(shù)調(diào)用func((expl,exp2),(exp3,exp4,exp5))中所含實參的個數(shù)為( )個.
Ao1Bo2C.4D.5設(shè)有如下函數(shù)定義intf(char大s){char*p=s;while(*p!='\0')p++;return(p-s);}在主函數(shù)中用cout〈〈f(“good〃)調(diào)用上述函數(shù),則輸出結(jié)果為()oAo3 B.4 Co5 D.649o以下正確的函數(shù)原型語句是( )odoublefun(intx,inty)doublefun(intx;inty)Codoublefun(int,int);Dodoublefun(intx,y);50o以下正確的說法是( ).用戶調(diào)用標準庫函數(shù)前,必須重新定義用戶可以重新定義標準庫函數(shù),若如此,該函數(shù)將失去原有含義Co系統(tǒng)不允許用戶重新定義標準庫函數(shù)Do用戶調(diào)用標準庫函數(shù)前,不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中函數(shù)調(diào)用不可以( )oAo出現(xiàn)在一個表達式中出現(xiàn)在執(zhí)行語句中作為一個函數(shù)的實參作為一個函數(shù)的形參以下正確的描述是( ).Ao函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套Bo函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套Co函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套Do函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是().Ao數(shù)組的首地址 Bo數(shù)組中第一個元素的值數(shù)組全部元素的值 D.數(shù)組元素的個數(shù)54o以下錯誤的描述是()oAo被調(diào)用函數(shù)中可以不用return語句被調(diào)用函數(shù)中可以用多個return語句Co被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù)以下正確的描述是( )oA.不允許設(shè)置參數(shù)的默認值Bo設(shè)置參數(shù)的默認值只能在定義函數(shù)時設(shè)置設(shè)置參數(shù)的默認值時,應(yīng)該設(shè)置右邊的參數(shù)Do設(shè)置參數(shù)的默認值時,應(yīng)該全部參數(shù)都設(shè)置56。 采用重載函數(shù)的目的是( )o
57.5859.60.6162.636465666768.69。A。實現(xiàn)共享 B。減少空間提高速度 Do使用方便,提高可讀性將兩個字符串連接起來組成一個字符串時,選用()函數(shù).strlen()Bostrcap()Costrcat()Dostrcmp()以下敘述中正確的是( )oAo使用#define可以為常量定義一個名字,該名字在程序中可以再賦另外的值使用const定義的常量名有類型之分,其值在程序運行時是不可改變的在程序中使用內(nèi)聯(lián)函數(shù)使程序的可讀性變差在定義函數(shù)時可以在形參表的任何位置給出缺省形參值下面的標識符中,()是文件級作用域.A.函數(shù)形參B。語句標號C.外部靜態(tài)類標識符D.自動類標識符以下敘述不正確的是().Ao宏替換不占用運行時間 B.宏名無類型宏替換只是字符替換 Do宏名必須用大寫字母表示C++語言的編譯系統(tǒng)對宏命令的處理是()?Ao在程序運行時進行Bo在程序連接時進行Co和C++程序的其它語句同時進行編譯在對源程序中其它成分正式編譯之前進行當#include后面的文件名用雙引號括起來時,尋找被包含文件的方式是()。直接按系統(tǒng)設(shè)定的標準方式搜索目錄先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標準方式搜索目錄僅僅搜索源程序所在目錄搜索當前邏輯盤上的所有目錄當#include后面的文件名用尖括號括起來時,尋找被包含文件的方式是()oAo直接按系統(tǒng)設(shè)定的標準方式搜索目錄先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標準方式搜索目錄Co僅僅搜索源程序所在目錄搜索當前邏輯盤上的所有目錄在下面存儲類中,( )對象的可見性與生存期不一致。Ao外部類Bo自動類C.內(nèi)部靜態(tài)類 D.寄存器類在下面存儲類中,( )的對象不是局部變量。外部靜態(tài)類Bo自動類Co函數(shù)形參 D.寄存器類關(guān)于局部變量,下面說法正確的是()oAo定義該變量的程序文件中的函數(shù)都可以訪問定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問Co定義該變量的復(fù)合語句中的定義處以下的任何語句都可以訪問Do定義該變量的函數(shù)中的定義處以上的任何語句都可以訪問文件包含命令中被包含的文件的擴展名()oAo必須是。hBo不能是。hCo可以是。h或.cppD.必須是.cpp預(yù)處理命令在程序中都是以( )符號開頭的。A.* B.# C.&D。@設(shè)array為一個數(shù)組,則表達式sizeof(array)/sizeof(array[0])的結(jié)果為( )。A.array數(shù)組首地址
Boarray數(shù)組中元素個數(shù)Coarray數(shù)組中每個元素所占的字節(jié)數(shù)Doarray數(shù)組占的總字節(jié)數(shù)70o用new運算符創(chuàng)建一個含10個元素的一維整型數(shù)組的正確語句是()。A.int*p=newa[10];Boint*p=newfloat[10];int*p=newint[10];D.int*p=newint[10]={1,2,3,4,5}TOC\o"1-5"\h\z下列給字符數(shù)組賦初值時,正確的是( )oAochars1[]=”abcdef”; B.chars2[4]=”abcd";chars3[2][3]={“abc”,"xyz”}; D.chars4[4][]={‘a(chǎn)','x','s','t'};72o設(shè)有定義“staticintdata[5][6];”設(shè)該數(shù)組在靜態(tài)存儲區(qū)中的起始地址為十進制的100,若每個int型數(shù)占4個字節(jié),則數(shù)組元素data[2][3]的地址為( ).Ao115 B.124 C.130 Do16073o假定變量m定義為“intm=7;”,則定義變量p的正確語句為()。Aointp=&m; B.int*p=&m; Coint&p=*m;Doint*p=m;假定k是一個double類型的變量,則關(guān)于變量p的正確定義語句為()。A.doublep=&k; B.int*p=&k;C.double&p=*k; Dochar*p=”Thankyou!”;變量s的定義為“char*s=”Helloworld!”;”要使變量p指向s所指向的同一個字符串,則應(yīng)選?。ǎ﹐Aochar*p=s;Bochar*p=&s;C.char*p;p=*s;D.char*p;p=&s;76o關(guān)于void指針,下列說法正確的是()oAovoid指針就是未指向任何數(shù)據(jù)的指針B.void指針就是已定義而未初始化的指針Co指向任何類型數(shù)據(jù)的指針可直接賦值給一個void指針void指針值可直接賦給一個非void指針77.假定一條定義語句為“inta[10],x,*pa=a;",若要把數(shù)組a中下標為3的元素值賦給x,則不正確的語句為()oA.x=pa[3]; Box=*(a+3); C.x=a[3]; Dox=*pa+3;78o假定有定義“intb[10];int大pb;”則不正確的賦值語句為()?A.pb=b; Bopb=&b[0];C.*pb=newint; Dopb=b[5];79o假定p是具有double類型的指針變量,則表達式++p使p的值(以字節(jié)為單位)增加().A.1 B.4 C.sizeof(double) Dosizeof(p)80o假定p指向的字符串為”string",則cout〈〈p+3的輸出結(jié)果為( )。A.stringB.ring CoingDoiA.stringB.ring CoingDoi問答題(每題10分)1.為什么稱C++語言是混合型面向?qū)ο蟮恼Z言?2o下面是一個聯(lián)合的定義:ClassCU{union{intivalue;floatfvalue;}//};這是一個什么聯(lián)合的說明?它說明ivalue和fvalue具有什么關(guān)系?什么是C++的多態(tài)性?如何通過抽象形成“類"的概念?類的概念來自于什么過程?下面是類C的定義:classC:publicA,privateB{private:intc;public:voidsetC(intx,inty){c=x;setB(y);}voidshowC(){showB();cout〈c<<endl;}};討論類C屬于何種方式的繼承及其派生方法對訪問基類成員的影響.C++的流庫預(yù)定義了哪幾個流?與這幾個流所聯(lián)結(jié)的具體設(shè)備是什么?在使用C++時,是否應(yīng)仍然保持C語言的習(xí)慣及思維方式?為什么?C++中有哪些機制可以實現(xiàn)命名常量?簡述模板類的動態(tài)特征。10.簡述靜態(tài)成員的特性,然后就作用域與全局變量進行比較?用指針或引用調(diào)用虛函數(shù)與通過對象訪問虛函數(shù)的區(qū)別是?12。 多重繼承的構(gòu)造順序一般可分為4步,下面給出這4個步驟:13。 在C++中,應(yīng)該使用什么語句來動態(tài)分配和釋放內(nèi)存?下面的程序的正確的輸出結(jié)果是什么?#include〈iostream。h>#include<string.h>classbase{public:virtualchar*fun(void)const=0;};char*base::fun(void)const{return”base";}classderived1:virtualpublicbase{public:char*fun(void)const{return”derived1”;}};classderived2:virtualpublicbase{public:char*fun(void)const{return"derived2”;};classsubderived:publicderivedl,publicderived2{public:char*fun(void)const{char*pch;pch=newchar[strlen(derivedl::fun())+strlen(derived2::fun())+l];strcpy(pch,derivedl::fun());strcat(pch,derived2::fun());returnpch;}};voidmain(void){base*pb;pb=newderivedl;cout〈<pb—>fun()<<endl;pb=newderived2;cout〈〈pb->fun()<〈endl;pb=newsubderived;cout<<pb->fun()〈〈endl;}目前推薦的C++標準十分虛構(gòu)造函數(shù)?友元運算符@obj會被C++編譯器解釋為什么?寫出下面程序的運行結(jié)果。#include<iostream。h>#include<iomanip.h〉voidprint(floata[],intcount,intwidth);voidmain(void){floatf[2]={1.0f,10。0f};cout<<"Defaultnumericformat:”〈<endl;print(f,2,10);cout〈〈"Settingios::showpoint:”〈〈endl;cout。setf(ios::showpoint);print(f,2,10);cout。unsetf(ios::showpoint);cout<〈”Settingios::scientific:"〈〈endl;cout。setf(ios::scientific);print(f,2,10);cout.unsetf(ios::scientific);}voidprint(floata[],intcount,intwidth){for(inti=0;i<count;i++){cout.width(width);cout<<a[i]<<endl;}}一個const對象是否能訪問所有成員函數(shù)?私有與保護之間的區(qū)別是什么?20、 在C++中,封裝是借助于什么達到的?21、 C++可通過什么建立類庫?22、 用于類中虛成員函數(shù)說明的關(guān)鍵字是什么?23、 完成下面的類定義。ClassMyClass{public:MyClass(){x=0;} ① intGetNum( ② my);private:intx;};intGetNum( ② my){ returnmy。x;}24。在下面程序的橫線處填上適當?shù)恼Z句,使類型該程序執(zhí)行結(jié)果為10。#include<iostream。h>classMyClass{pub1ic: ① //為x置值 ② //取x值private:intx;};voidmain(){Myclassmy(10);Cout<〈my.GetNum()〈<end;}25。下面的類中定義了一個關(guān)于星期的枚舉類型,請完成下面的程序。ClassMyClass{public:enumWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat};Weekweek;}voidfun(MyClass&my){ ① = ② ; 〃將對象my的week賦值為所定義的枚舉類型//值為3的枚舉量}26。下列程序?qū),y和z按從小到大的順序排列,在劃線處填入正確的內(nèi)容。Template〈classT>voidorder( ① ){ ② if(x〉y){a=x;x=y;y=a;}if(y〉z){a=y;y=z;z=a;}if(x〉y){a=x;x=y;y=a;}}27。什么是數(shù)據(jù)封裝?28什么叫做支配規(guī)則?29。為什么引入函數(shù)模板和類模板?30?在使用C++時,是否應(yīng)仍然保持C語言的習(xí)慣及思維方式?為什么?C++中有哪些機制可以實現(xiàn)命名常量?簡述模板類的動態(tài)特征。簡述靜態(tài)成員的特性,然后就作用域與全局變量進行比較?用指針或引用調(diào)用虛函數(shù)與通過對象訪問虛函數(shù)的區(qū)別是?仔細閱讀下面的程序,給出正確的輸出結(jié)果。#include〈iostream。h〉enumnote{middleA,middleB,middleC,middleD};classinstrument{public:voiddisplay(note)const{cout〈<"instrument::display"<〈endl;}};classpiano:publicinstrument{public:voiddisplay(note)const{cout〈〈”piano::display"〈<endl;}};classguitar:publicinstrument{public:voiddisplay(note)const{cout〈<”guitar::display"〈〈endl;}};voidtone(instrument&i){i.display(middleC);}voidmain(void){guitarguitar1;tone(guitar1);pianopiano1;tone(piano1);}仔細閱讀下面的程序,分析程序使用何種運算符重載,它的用法可以與程序中的哪種構(gòu)造函數(shù)的用法做比較,并給出程序的輸出結(jié)果。#include<iostream.h〉classbase{intlength;intwidth;inthight;public:base(){length=width=hight=1;cout<<”Construcingbaseobjectdefault"〈<endl;base(int,int,int);base(base&);intsurface(void);intvolume(void);base&operator=(constbase&BB);};base::base(inta,intb,intc){length=a;width=b;hight=c;cout〈〈"Constructingbaseobjectbybase(。。.)!"vvendl;}base::base(base&B){length=B.length;width=B.width;hight=B。hight;cout〈〈"Constructingbaseobjectbybase(base&)!”<〈endl;}base&base::operator=(constbase&BB){length=BB.length;width=BB。width;hight=BB。hight;cout〈<”Constructingbaseobjectbyoperator”〈〈endl;return*this;}intbase::surface(void){return2*(length*width+length*hight+width*hight);}intbase::volume(void){returnlength*width*hight;}voidmain(void){baseA;cout〈<”cubeA:surface=”〈〈A.surface()〈<”volume=”〈<A.volume()<<endl;baseB(10,10,10);cout〈〈"cubeB:surface="<〈B。surface()<〈"volume="<<B.volume()〈〈endl;A=B;cout<<”cubeA(B):surface="<<A。surface()〈〈”volume="<〈A.volume()<〈endl;baseC(A);cout<〈”cubeC(A):surface="〈〈C.surface()<<”volume=”〈〈C。volume()<<endl;}閱讀程序,給出正確的輸出結(jié)果。#include〈iostream。h〉classbase{public:virtualintfun(void)const{cout〈<”base::fun"〈<endl;return10;}};classdivide:publicbase{public:intfun(void)const{cout〈〈"divide::fun"<〈endl;return20;}};voidmain(void){divided;base*b1=&d;base&b2=d;baseb3;b1-〉fun();b2。fun();b3.fun();}38。下面這個程序使用了靜態(tài)成員變量,仔細閱讀程序然后給出正確的輸出結(jié)果#include〈iostream.h>#include〈stdlib.h〉classroom{intwidth;intheight;intlength;public:room(int,int,int);intgetW(void)const{returnwidth;}intgetH(void)const{returnheight;}intgetL(void)const{returnlength;}intfloorarea(void){returnlength*width;}voiddisplay(void);room&operator+= (int);};room::room(intl=0,intw=0,inth=0){length=l;width=w;height=h;}voidroom::display(void){cout<〈”Theroom'slengthis:”<<length〈〈endl;cout<<”Theroom'swidthis:"<<width〈<endl;cout<<”Theroom'sheightis:"<〈height〈〈endl;}room&room::operator+= (inthh){height+=hh;return*this;}classbuilding{staticroomroomaray[5];staticintheightaray[5];building(){for(inti=1;i〈=5;i++){heightaray[i]+=i;}}voidaddheight(void);voidprint(void);};voidbuilding::addheight(void){for(inti=0;i〈5;i++){roomaray[i]+=i+1;}}voidbuilding::print(void){for(inti=0;i〈5;i++){cout<〈"The"〈〈i〈〈”throom'sinfomationsuchas:”〈<endl;roomaray[i]。display();}}intbuilding::heightaray[5]={0,0,0,0,0};roombuilding::roomaray[5]={room(10,4,3),room(10,4,3),room(10,4,3),room(10,4,3),room(10,4,3)};voidmain(void){buildingbd;bd。print();cout<〈”Doyouwanttoaddtherooms?(y/n)"〈〈endl;charch;cin>〉ch;if(ch=='y'){bd。addheight();bd.print();}elseif(ch=='n')exit(1);elseexit(1);}39。 下面這一程序是關(guān)于多重繼承時構(gòu)造函數(shù)的調(diào)用順序問題,給出正確的輸出結(jié)果并說明原因.#include<iostream。h〉classbase{public:intb;base(){b=0;}};classdivide1:virtualpublicbase{intb1;dividel(){b=10;}};classdivide2:virtualpublicbase{intb2;public:divide2(){b=20;}};classsubdivide:publicdivide1,publicdivide2{intd;};voidmain(void){subdivided;inti=d.b;cout<<i<〈endl;}注意下面程序中析構(gòu)函數(shù)的調(diào)用順序,假設(shè)該長方體的長寬高分別是10、6、8,仔細閱讀程序并給出正確的輸出結(jié)果。#includeviostream。h>classrectangle{intwidth,height;public:rectangle(intw=0,inth=0):width(w),height(h){}intgetwidth(void)const{returnwidth;}voidsetwidth(intw){width=w;}intgetheight(void)const{returnheight;}voidsetheight(inth){height=h;}intsurface(void){returnwidth*height;}?rectangle(void){cout〈〈"?rectangle"vvendl;}};classcuboid{rectangleside1,side2,side3;public:cuboid(rectangles1,rectangles2,rectangles3):side1(s1),side2(s2),side3(s3){}intgetsurface(void){return2*(side1.surface()+side2。surface()+side3.surface());}intgetvolume(void){inta[3];a[0]=side1.getwidth();a[1]=side1.getheight();a[2]=((side2。getwidth()==side3。getwidth())I|(side2。getwidth()=side3.getheight()))?(side2.getwidth()):(side2。getheight());returna[0]*a[1]*a[2];}voidprint(void)const{cout〈v”Thecuboid's3sidessuchas:”〈vendl;cout〈〈”sideI:"〈〈side1.getwidth()v〈”,"v〈side1。getheight()〈〈endl;cout〈v"sidell: "<〈side2.getwidth()vv","〈vside2。getheight()vvendl;cout〈<”sideIII:"〈〈side3。getwidth()<<","<〈side3.getheight()<〈endl;}~cuboid(void){cout〈〈"?cuboid"〈vendl;}};voidmain(void){coutv〈"pleaseinputlength,width,height:"〈〈endl;intl,w,h;cin〉>l〉>w>>h;rectangles1(l,w),s2(l,h),s3(w,h);cuboidcb(s1,s2,s3);cb。print();cout〈v"Surfaceis:"vvcb.getsurface()〈vendl;cout〈v"Volumeis: "〈vcb。getvolume()〈vendl;}分析下面的程序,說明它演示的概念并給出輸出結(jié)果。#includeviostream。h〉classMemoryManage{public:MemoryManage(){cout〈〈"Allocatingmemory!:-)"vvendl;}~MemoryManage(){cout〈〈"Dellocatingmemory! :—("vvendl;}};voidmain(){cout〈〈"Iamsurethememoryisenoghifyouarenottoofat! :-0"v〈endl;MemoryManageMM;cout〈v"Whatdoyouthinkofourmemoryservice:-8"vvendl;}分析下面程序的作用及測試結(jié)果。#includeviostream。h〉classtest{private:inti;floatf;charch;public:test(){}test(inta,floatb,charc){i=a;f=b;ch=c;}friendostream&operator〈〈(ostream&stream,testobj);friendistream&operator〉〉(istream&t_stream,test&obj);};ostream&operatorv〈(ostream&stream,testobj){stream〈〈obj。i〈v",";stream〈vobj。fvv",";stream〈〈obj.ch<〈endl;returnstream;}istream&operator>〉(istream&t_stream,test&obj){cout〈<”Inputasifch:”;t_stream?obj。i;t_stream>〉obj.f;t_stream>〉obj。ch;returnt_stream;}voidmain(){testB(45,8.5,'W');cout〈〈B;testA;cin>>A;cout<〈A;}43。請寫出程序的輸出#include〈iostream.h>classPoint{public:Point(inta){X=a;cout<〈Xvvendl;}Point(Point&p){X=p。X;cout〈vXv〈endl;}VoidSetx(inta){X=a;}?Point(){coutvvXv〈endl;}private:intX;}voidmain(){Pointp1(1),p2(p1);P2。Sex(2);Pointp3=p2;}#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(x>a[i])max=a[i];if(x〈a[i])min=a[i];}cout〈〈"max:”〈〈max〈〈endl;cout〈〈"min:”〈〈min〈〈endl;#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;}#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;}#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;}48.#include〈iomanip。h〉voidmain(){inti,j;for(i=0;i〈5;i++){for(j=i;j〈5;j++)cout〈〈'*';cout〈〈endl;}}#include〈iostream。h>voidmain(){for(inti=l,s=0;i〈20;i++) {if(i%2==0I|i%3==0)continue;cout〈〈i〈〈'';s+=i;}cout〈〈s〈〈endl;}#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}}51。 #include〈iostream.h〉constintB=2;voidmain(){intp=1,s=1;while(s〈50){p*=B;s+=p;}cout〈〈"s="〈〈s〈〈endl;}#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;53。 #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++) //計算矩陣Cfor(j=0;j<N;j++)c[i][j]=a[i][j]+b[i][j];for(i=0;i<N;i++) { //輸出矩陣Cfor(j=0;j〈N;j++)cout〈〈setw(5)〈〈c[i][j];cout〈〈endl;}}54。 #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;}55。 #include〈iostream。h>intf1(intx,inty){x=x+y;y=x+y;cout〈〈"x="〈〈x〈〈",y=”〈〈y〈〈endl;returnx+y;}運行結(jié)果:voidmain(){intx=5,y=8;intz=f1(x,y);cout〈<”x=”<<x<〈",y=”〈<ycout〈<",z=”<〈z〈<endl;}56。#include〈iostream.h56。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#include〈iostream.h>voidf4(inta[],intn,int&s){s=0;for(inti=0;i〈n;i++)s+=a[i];}voidmain(){intb[8]={4,&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;}#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;}59。 #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;}運行結(jié)果:4314#include〈iostream。h>voidmain(){inta[10]={76,83,54,62,40,75,90,92,77,84}intb[4]={60,70,90,101};intc[4]={0};for(inti=0;i〈10;i++){intj=0;while(a[i]>=b[j])j++;c[j]++;}}61.for(i=0;i〈4;i++)cout〈〈c[i]〈cout〈〈}61.#include<iostream。h〉#include〈string。h>voidmain(){chara[5][10]={"student”,”worker”,"soldier",”cadre","peasant"};chars1[10],s2[10];strcpy(s1,a[0]);strcpy(s2,a[0]);for(inti=1;i〈5;i++){if(strcmp(a[i],s1)〉0)strcpy(s1,a[i]);if(strcmp(a[i],s2)〈0)strcpy(s2,a[i]);cout<〈s1<〈''<〈s2〈<endl}建立普通的基類Building,用來存儲一座樓房的層數(shù)、房間數(shù)以及它的總平方米數(shù)。建立派生類House,繼承Building,并存儲下面的內(nèi)容:臥室與浴室的數(shù)量。另外,建立派生類office,繼承Building,并存儲滅火器與電話的數(shù)目.設(shè)計一個程序,按照如下格式顯示文本。例如,要求顯示文本C++和ProgrammingLanguage時,屏幕輸出如下:C++***ProgrammingLanguane********************64.大學(xué)里有這樣幾類人員:學(xué)生、教師、職員和在職讀書的教師.給出這幾類人員的類描述。答案《C++程序設(shè)計》一、判斷題(錯誤的在后面寫“F”,正確的寫“T”,每題1分)程序是描述算法的編程工具。T將函數(shù)模板與某個具體數(shù)據(jù)類型連用,就產(chǎn)生了模板函數(shù),稱這個過程為函數(shù)TOC\o"1-5"\h\z模板實例化. TC++語言中,用來為對象初始化的特殊成員函數(shù)稱為構(gòu)造函數(shù);用于在對象撤銷時執(zhí)行一些清理任務(wù)的特殊成員函數(shù)稱為析構(gòu)函數(shù)。 T逐條翻譯并執(zhí)行的翻譯程序稱為編譯程序. F把所有類組織在一個樹形結(jié)構(gòu)中,這時所有類,不管它們之間的差別有多大,都有一個共同的相關(guān)類,這種結(jié)構(gòu)被稱為類樹.類群是由一些彼此密切相關(guān)的類和類族組成的。F如果在定義一個類時,該類繼承了多個基類的特征,那么這個繼承關(guān)系稱為多TOC\o"1-5"\h\z重繼承。 T不同對象可以調(diào)用相同名稱的函數(shù),并可導(dǎo)致完全相同的行為的現(xiàn)象稱為多態(tài)性。 F形式參數(shù)表是用括號分隔的變量說明列表,變量稱為函數(shù)的形式參數(shù),有時也簡稱為形參。 F9?.在C++語言中,只要在聲明函數(shù)原型時形式參數(shù)的個數(shù)或者對應(yīng)的類型不同,兩個或更多的函數(shù)就可以共用同一個名字。這種在同一作用域中允許多個函數(shù)使用同一函數(shù)名的措施被稱為重載. TC++的作用域分辨:可以迫使編譯器“看到”當前作用域的外層部分,存取那些被隱藏的名字。這是由作用域分辨操作符實現(xiàn)的,這一過程叫做作用域分辨.T11.說明函數(shù)原型時不需要指明每個函數(shù)參數(shù)的名字,只需要說明每個參數(shù)的類型和返回值類型就可以了。T12.所有的表達式都有值。F13.程序的編譯是以文件為單位的,因此將程序分到多個文件中可以減少每次對程序修改所帶來的編譯工作量。T類的靜態(tài)數(shù)據(jù)成員需要在定義每個類的對象時進行初始化。F基類中被說明為protected和private的成員只能被其派生類的成員函數(shù)訪問,不能被其它的函數(shù)訪問.F當將一個類S定義為另一個類A的友元類時,類S的所有成員函數(shù)都可以直接訪問類A的所有成員。T當函數(shù)的返回值是數(shù)組類型的,傳遞的是數(shù)組第一個元素的地址。F如果派生類的成員函數(shù)的原型與基類中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個函數(shù)自動繼承基類中虛函數(shù)的特性。T字符串'hello,wor在內(nèi)存中存放時,占用11個字節(jié)的空間。F用new動態(tài)申請的內(nèi)存空間,必須用delete來釋放。T變量必須先定義或說明,后使用。T23、常量不能作為左值使用。T23、 頭文件中一般存放著變量和常量的定義、函數(shù)的原型以及類的定義。F24、 類的友元函數(shù)可以直接訪問該類的所有成員。T25、 派生類的成員函數(shù)可以直接訪問基類的所有成員。F26、 一個類可以作為另一個類的友元類。T27、 函數(shù)的參數(shù)和返回值類型可以是簡單數(shù)據(jù)類型,也可以是指什、引用、數(shù)組和類。F28、 在基類中被說明為虛函數(shù)的類的成員函數(shù)必須在每個派生類中說明為虛函數(shù),才能具有多態(tài)的特征.F29、 下面兩個語句是等價的:Fcharstr[]=”hello,world";charstr[11]=”hello,world";30、用new動態(tài)申請的內(nèi)存是在堆中分配的,而不是在棧中分配的.TOC\o"1-5"\h\z靜態(tài)聯(lián)編所支持的多態(tài)性稱為編譯時的多態(tài)性。 T如果一個類中至少有一個實函數(shù),則稱這個類為抽象類。 F用于在對象消失時執(zhí)行一些清理任務(wù)的函數(shù)叫虛函數(shù). F34。 C++源程序文件的缺省擴展名為cpp T35。 由C++源程序文件編譯而成的目標文件的缺省擴展名為lik F36。 由C++目標文件連接而成的可執(zhí)行文件的缺省擴展名為obj F37。 編寫C++程序一般需經(jīng)過的幾個步驟依次是編輯、編譯、連接、調(diào)試 T38。 標識符defaultthen while全是保留字 F39。 能作為C++程序的基本單位是語句 T40。 程序中主函數(shù)的名字為任意標識符 F二、填空題(每題3分)1。假定x=5,y=6,則執(zhí)行表達式y(tǒng)+二x計算后,x和y的值分別為 和4112。 C++常數(shù)0x145對應(yīng)的十進制值為 .3253。 C++常數(shù)0345對應(yīng)的十進制值為 。2294。 十進制常數(shù)245對應(yīng)的十六進制的C++表示為 。0xF5(F大小寫均可)5。 十進制常數(shù)245對應(yīng)的八進制的C++表示為 。0365(F大小寫均可)6。 signedchar類型的值域范圍是 至 之間的整數(shù)。—128+1277.int和float類型的數(shù)據(jù)分別占用44__和 ___個字節(jié)。8。float和double類型的數(shù)據(jù)分別占用48 和__ 個字節(jié).9。bool和char類型的數(shù)據(jù)分別占用___和 __個字節(jié).TOC\o"1-5"\h\z11unsignedshortint和int類型的長度分別為 和 。24字符串、'This\'sabook。\n"的長度為 .15字符串“\nThis\'sapen\n\n”的長度為 .15在C++中存儲字符串“abcdef”至少需要 個字節(jié).7在C++中存儲字符串“a+b=c〃至少需要 個字節(jié)。6假定x和y為整型,其值分別為16和5,則x%y和x/y的值分別為 和 13若while循環(huán)的“頭"為”while(i++〈=10)",并且i的初值為0,同時在循環(huán)體中不會修改i的值,則循環(huán)體將被重復(fù)執(zhí)行 次后正常結(jié)束。11若do循環(huán)的“尾”為〃while(++i〈10)〃,并且i的初值為0,同時在循環(huán)體中不會修改i的值,則循環(huán)體將被重復(fù)執(zhí)行 次后正常結(jié)束.10當在程序中執(zhí)行到 語句時,將結(jié)束本層循環(huán)類語句或switch語句的執(zhí)行。break當在程序中執(zhí)行到 語句時,將結(jié)束所在循環(huán)語句中循環(huán)體的一次執(zhí)行。continue在程序中執(zhí)行到 語句時,將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。return在程序執(zhí)行完 函數(shù)調(diào)用后,將結(jié)束整個程序的執(zhí)行過程,返回到C++集成開發(fā)窗口。主(或main)元素類型為int的數(shù)組a[10]共占用 字節(jié)的存儲空間。40元素類型為double的二維數(shù)組a[4][6]共占用 字節(jié)的存儲空間。192元素類型為char的二維數(shù)組a[10][30]共占用 字節(jié)的存儲空間。300存儲字符'a'和字符串〃a"分別需要占用 和 個字節(jié)。12空串的長度為 ,存儲它需要占用 個字節(jié)。01TOC\o"1-5"\h\z字符串”\'a\'xy=4\n〃的長度為 。7字符串”a:\\xxk\\數(shù)據(jù)〃的長度為 。11用于存儲一個長度為n的字符串的字符數(shù)組的長度至少為 。n+1若a是一個字符數(shù)組,則從鍵盤上向該數(shù)組輸入一個字符串的表達式―.cin〉>aC++是將源程序 ,然后再執(zhí)行,這種翻譯程序稱為編譯程序。一次翻譯成目標程序聯(lián)合的若干數(shù)據(jù)成員使用地址 ,占據(jù)的內(nèi)存是聯(lián)合中占內(nèi)存最大的數(shù)據(jù)成員所占用的內(nèi)存。同一作用域分辨操作符的一般形式為類名::類標識符,作用域分辨不僅可用于類中,而且可以用在 時。函數(shù)調(diào)用將關(guān)鍵詞const寫在 之后, , 之前,說明該函數(shù)是一個const成員函數(shù).函數(shù)頭 函數(shù)體C++是在 的基礎(chǔ)上,引入面向?qū)ο蟾拍疃鴶U充形成的 混合型面向?qū)ο笳Z言。標準C語言36。在動態(tài)聯(lián)編中,直到 時才能確定調(diào)用哪個函數(shù)。靜態(tài)聯(lián)編是在程序編譯時進行的。程序運行37.類型轉(zhuǎn)換函數(shù)個轉(zhuǎn)換函數(shù)。 帶有參數(shù),當被派生類繼承并被說明為 不能 虛函數(shù)__時,可以定義多38.繼承是 _ 的一個特點,繼承支持__ 類概念。對象 層次39.C++的__規(guī)則能保證編譯器調(diào)用正確的成員函數(shù)。作用域40。在C++中,聲明構(gòu)造函數(shù)和析構(gòu)函數(shù)時,__使用const或volatile關(guān)鍵詞。不
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年江蘇省連云港市中考英語試題含解析
- 連云港繼續(xù)教育《心理健康與心理調(diào)適》
- 央企績效考核辦法
- Unit4 Growing up單元練習(xí)(含答案)2024-2025學(xué)年牛津譯林版英語九年級上冊
- 高中物理第三章電磁感應(yīng)第三節(jié)交變電流課件新人教版選修1-
- 2014-2020年電力半導(dǎo)體模塊和組件行業(yè)咨詢報告
- 2010-2012年水性聚氨酯市場運營及預(yù)測分析報告
- 高考地理一輪復(fù)習(xí)工業(yè)地域的形成與發(fā)展后達標檢測新人教版11
- 2024至2030年中國光纖壁畫數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國PE塑料桶行業(yè)投資前景及策略咨詢研究報告
- 干休所門診部工作計劃
- 阿爾茨海默病的癥狀與治療方法
- 教科版五年級下冊第一單元生物與環(huán)境
- 2024年國家工作人員學(xué)法考法知識考試題庫500題(含答案)
- 麻醉藥靶點的新發(fā)現(xiàn)和藥理機制
- 廣告宣傳物料投標方案(技術(shù)方案)
- Power BI大數(shù)據(jù)財務(wù)報表智能可視化分析 課程標準
- 白內(nèi)障護理學(xué)習(xí)教案
- 30題高分子材料工程師崗位常見面試問題含HR問題考察點及參考回答
- 小班語言《會響的小路》課件
- 中移動首屆算力網(wǎng)絡(luò)大賽考試題庫(含答案)
評論
0/150
提交評論