c c++筆試題匯總 軟件工程師學(xué)習(xí)用_第1頁
c c++筆試題匯總 軟件工程師學(xué)習(xí)用_第2頁
c c++筆試題匯總 軟件工程師學(xué)習(xí)用_第3頁
c c++筆試題匯總 軟件工程師學(xué)習(xí)用_第4頁
c c++筆試題匯總 軟件工程師學(xué)習(xí)用_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、*1.求下下面函數(shù)的的返回值(微微軟)int ffunc(x)int ccounttx = 0;whilee(x)counttx +;x = xx&(x-1);returrn coountxx; 假定x = 99999。 答答案:8思路:將xx轉(zhuǎn)化為22進(jìn)制,看看含有的11的個(gè)數(shù)。2. 什么么是“引用”?申明和和使用“引用”要注意哪哪些問題?答:引用就就是某個(gè)目目標(biāo)變量的的“別名”(aliias),對(duì)對(duì)引用的操操作與對(duì)變變量直接操操作效果完完全相同。申明一個(gè)個(gè)引用的時(shí)時(shí)候,切記記要對(duì)其進(jìn)進(jìn)行初始化化。引用聲聲明完畢后后,相當(dāng)于于目標(biāo)變量量名有兩個(gè)個(gè)名稱,即即該目標(biāo)原原名稱和引引用名,不不能再把

2、該該引用名作作為其他變變量名的別別名。聲明明一個(gè)引用用,不是新新定義了一一個(gè)變量,它它只表示該該引用名是是目標(biāo)變量量名的一個(gè)個(gè)別名,它它本身不是是一種數(shù)據(jù)據(jù)類型,因因此引用本本身不占存存儲(chǔ)單元,系系統(tǒng)也不給給引用分配配存儲(chǔ)單元元。不能建建立數(shù)組的的引用。!33. 將“引用”作為函數(shù)數(shù)參數(shù)有哪哪些特點(diǎn)?(1)傳遞遞引用給函函數(shù)與傳遞遞指針的效效果是一樣樣的。這時(shí)時(shí),被調(diào)函函數(shù)的形參參就成為原原來主調(diào)函函數(shù)中的實(shí)實(shí)參變量或或?qū)ο蟮囊灰粋€(gè)別名來來使用,所所以在被調(diào)調(diào)函數(shù)中對(duì)對(duì)形參變量量的操作就就是對(duì)其相相應(yīng)的目標(biāo)標(biāo)對(duì)象(在在主調(diào)函數(shù)數(shù)中)的操操作。(2)使用用引用傳遞遞函數(shù)的參參數(shù),在內(nèi)內(nèi)存中并沒沒

3、有產(chǎn)生實(shí)實(shí)參的副本本,它是直直接對(duì)實(shí)參參操作;而而使用一般般變量傳遞遞函數(shù)的參參數(shù),當(dāng)發(fā)發(fā)生函數(shù)調(diào)調(diào)用時(shí),需需要給形參參分配存儲(chǔ)儲(chǔ)單元,形形參變量是是實(shí)參變量量的副本;如果傳遞遞的是對(duì)象象,還將調(diào)調(diào)用拷貝構(gòu)構(gòu)造函數(shù)。因此,當(dāng)當(dāng)參數(shù)傳遞遞的數(shù)據(jù)較較大時(shí),用用引用比用用一般變量量傳遞參數(shù)數(shù)的效率和和所占空間間都好。(3)使用用指針作為為函數(shù)的參參數(shù)雖然也也能達(dá)到與與使用引用用的效果,但但是,在被被調(diào)函數(shù)中中同樣要給給形參分配配存儲(chǔ)單元元,且需要要重復(fù)使用用*指針針變量名的形式進(jìn)進(jìn)行運(yùn)算,這這很容易產(chǎn)產(chǎn)生錯(cuò)誤且且程序的閱閱讀性較差差;另一方方面,在主主調(diào)函數(shù)的的調(diào)用點(diǎn)處處,必須用用變量的地地址作為實(shí)

4、實(shí)參。而引引用更容易易使用,更更清晰。4. 在什什么時(shí)候需需要使用“常引用”?如果既要利利用引用提提高程序的的效率,又又要保護(hù)傳傳遞給函數(shù)數(shù)的數(shù)據(jù)不不在函數(shù)中中被改變,就就應(yīng)使用常常引用。常常引用聲明明方式:cconstt 類型標(biāo)標(biāo)識(shí)符 &引用名=目標(biāo)變量量名;例1int aa ;constt intt &raa=a;ra=1; /錯(cuò)錯(cuò)誤a=1; /正確確例2strinng fooo( );void bar(striing & s);那么下面的的表達(dá)式將將是非法的的:bar(ffoo( );bar(helllo woorld);原因在于ffoo( )和hhelloo worrld串串都會(huì)產(chǎn)生生

5、一個(gè)臨時(shí)時(shí)對(duì)象,而而在C+中,這些些臨時(shí)對(duì)象象都是coonst類類型的。因因此上面的的表達(dá)式就就是試圖將將一個(gè)coonst類類型的對(duì)象象轉(zhuǎn)換為非非consst類型,這這是非法的的。引用型參數(shù)數(shù)應(yīng)該在能能被定義為為consst的情況況下,盡量量定義為cconstt 。!55. 將“引用”作為函數(shù)數(shù)返回值類類型的格式式、好處和和需要遵守守的規(guī)則?格式:類型型標(biāo)識(shí)符 &函數(shù)名名(形參列列表及類型型說明) /函函數(shù)體 好處:在內(nèi)內(nèi)存中不產(chǎn)產(chǎn)生被返回回值的副本本;(注意意:正是因因?yàn)檫@點(diǎn)原原因,所以以返回一個(gè)個(gè)局部變量量的引用是是不可取的的。因?yàn)殡S隨著該局部部變量生存存期的結(jié)束束,相應(yīng)的的引用也會(huì)會(huì)失效

6、,產(chǎn)產(chǎn)生runntimee errror!注意事項(xiàng):(1)不能能返回局部部變量的引引用。這條條可以參照照Effeectivve C+1的Iteem 311。主要原原因是局部部變量會(huì)在在函數(shù)返回回后被銷毀毀,因此被被返回的引引用就成為為了無所所指的引引用,程序序會(huì)進(jìn)入未未知狀態(tài)。(2)不能能返回函數(shù)數(shù)內(nèi)部neew分配的的內(nèi)存的引引用。這條條可以參照照Effeectivve C+1的Iteem 311。雖然不不存在局部部變量的被被動(dòng)銷毀問問題,可對(duì)對(duì)于這種情情況(返回回函數(shù)內(nèi)部部new分分配內(nèi)存的的引用),又又面臨其它它尷尬局面面。例如,被被函數(shù)返回回的引用只只是作為一一個(gè)臨時(shí)變變量出現(xiàn),而而沒有

7、被賦賦予一個(gè)實(shí)實(shí)際的變量量,那么這這個(gè)引用所所指向的空空間(由nnew分配配)就無法法釋放,造造成memmory leakk。(3)可以以返回類成成員的引用用,但最好好是connst。這這條原則可可以參照EEffecctivee C+1的的Itemm 30。主要原因因是當(dāng)對(duì)象象的屬性是是與某種業(yè)業(yè)務(wù)規(guī)則(bbusinness rulee)相關(guān)聯(lián)聯(lián)的時(shí)候,其其賦值常常常與某些其其它屬性或或者對(duì)象的的狀態(tài)有關(guān)關(guān),因此有有必要將賦賦值操作封封裝在一個(gè)個(gè)業(yè)務(wù)規(guī)則則當(dāng)中。如如果其它對(duì)對(duì)象可以獲獲得該屬性性的非常量量引用(或或指針),那那么對(duì)該屬屬性的單純純賦值就會(huì)會(huì)破壞業(yè)務(wù)務(wù)規(guī)則的完完整性。(4)流操操

8、作符重載載返回值申申明為“引用”的作用:流操作符,這兩個(gè)個(gè)操作符常常常希望被被連續(xù)使用用,例如:coutt helllo eendl;因此這這兩個(gè)操作作符的返回回值應(yīng)該是是一個(gè)仍然然支持這兩兩個(gè)操作符符的流引用用??蛇x的的其它方案案包括:返返回一個(gè)流流對(duì)象和返返回一個(gè)流流對(duì)象指針針。但是對(duì)對(duì)于返回一一個(gè)流對(duì)象象,程序必必須重新(拷拷貝)構(gòu)造造一個(gè)新的的流對(duì)象,也也就是說,連連續(xù)的兩個(gè)個(gè)操作作符實(shí)際上上是針對(duì)不不同對(duì)象的的!這無法法讓人接受受。對(duì)于返返回一個(gè)流流指針則不不能連續(xù)使使用操操作符。因因此,返回回一個(gè)流對(duì)對(duì)象引用是是惟一選擇擇。這個(gè)唯唯一選擇很很關(guān)鍵,它它說明了引引用的重要要性以及無無

9、可替代性性,也許這這就是C+語言中中引入引用用這個(gè)概念念的原因吧吧。賦值操操作符=。這個(gè)操作作符象流操操作符一樣樣,是可以以連續(xù)使用用的,例如如:x = j = 10;或者(xx=10)=1000;賦值操操作符的返返回值必須須是一個(gè)左左值,以便便可以被繼繼續(xù)賦值。因此引用用成了這個(gè)個(gè)操作符的的惟一返回回值選擇。例3i nccludee int &put(int n);int vvals10;int eerrorr=-1;void mainn()put(00)=100; /以putt(0)函函數(shù)值作為為左值,等等價(jià)于vaals00=100;put(99)=200; /以putt(9)函函數(shù)值作為

10、為左值,等等價(jià)于vaals99=200;coutvalls0;cout=0 & nn=9 ) reeturnn vallsn;else cooutsubbscriipt eerrorr; rreturrn errror; (5)在另另外的一些些操作符中中,卻千萬萬不能返回回引用:+-*/ 四則運(yùn)算算符。它們們不能返回回引用,EEffecctivee C+1的的Itemm23詳細(xì)細(xì)的討論了了這個(gè)問題題。主要原原因是這四四個(gè)操作符符沒有siide eeffecct,因此此,它們必必須構(gòu)造一一個(gè)對(duì)象作作為返回值值,可選的的方案包括括:返回一一個(gè)對(duì)象、返回一個(gè)個(gè)局部變量量的引用,返返回一個(gè)nnew分配

11、配的對(duì)象的的引用、返返回一個(gè)靜靜態(tài)對(duì)象引引用。根據(jù)據(jù)前面提到到的引用作作為返回值值的三個(gè)規(guī)規(guī)則,第22、3兩個(gè)個(gè)方案都被被否決了。靜態(tài)對(duì)象象的引用又又因?yàn)?a+b) = (c+dd)會(huì)永永遠(yuǎn)為trrue而導(dǎo)導(dǎo)致錯(cuò)誤。所以可選選的只剩下下返回一個(gè)個(gè)對(duì)象了。!66. “引用”與多態(tài)的的關(guān)系?引用是除指指針外另一一個(gè)可以產(chǎn)產(chǎn)生多態(tài)效效果的手段段。這意味味著,一個(gè)個(gè)基類的引引用可以指指向它的派派生類實(shí)例例。例4Classs A; Classs B : Cllass A.; B b; A& ref = b;7. “引引用”與指針的的區(qū)別是什什么?指針通過某某個(gè)指針變變量指向一一個(gè)對(duì)象后后,對(duì)它所所指向的

12、變變量間接操操作。程序序中使用指指針,程序序的可讀性性差;而引引用本身就就是目標(biāo)變變量的別名名,對(duì)引用用的操作就就是對(duì)目標(biāo)標(biāo)變量的操操作。此外外,就是上上面提到的的對(duì)函數(shù)傳傳ref和和poinnter的的區(qū)別。8. 什么么時(shí)候需要要“引用”?流操作符、賦值操操作符=的的返回值、拷貝構(gòu)造造函數(shù)的參參數(shù)、賦值值操作符=的參數(shù)、其它情況況都推薦使使用引用。以上 2-8 參考考:htttp:/blogg.csddn.neet/wffwd/aarchiive/22006/05/330/76635511.asppx9. 結(jié)構(gòu)構(gòu)與聯(lián)合有有和區(qū)別?1. 結(jié)構(gòu)構(gòu)和聯(lián)合都都是由多個(gè)個(gè)不同的數(shù)數(shù)據(jù)類型成成員組成,

13、但在任任何同一時(shí)時(shí)刻, 聯(lián)聯(lián)合中只存存放了一個(gè)個(gè)被選中的的成員(所所有成員共共用一塊地地址空間), 而結(jié)構(gòu)構(gòu)的所有成成員都存在在(不同成成員的存放放地址不同同)。 2. 對(duì)于于聯(lián)合的不不同成員賦賦值, 將將會(huì)對(duì)其它它成員重寫寫, 原來來成員的值值就不存在在了, 而而對(duì)于結(jié)構(gòu)構(gòu)的不同成成員賦值是是互不影響響的。10. 下下面關(guān)于“聯(lián)合”的題目的的輸出?a)i nccludee unionnint ii;char x2;a;void mainn()a.x00 = 10;a.x11 = 1;printtf(%d,aa.i);答案:2666 (低低位低地址址,高位高高地址,內(nèi)內(nèi)存占用情情況是Oxx01

14、0AA)b)main()unionn /*定義一個(gè)個(gè)聯(lián)合*/int ii;strucct /*在聯(lián)合合中定義一一個(gè)結(jié)構(gòu)*/char firsst;char secoond;halff;numbber;numbeer.i=0 x42241; /*聯(lián)合合成員賦值值*/printtf(%c%cn, numbber.hhalf.firsst, mmumbeer.haalf.sseconnd);numbeer.haalf.ffirstt=a; /*聯(lián)合中結(jié)結(jié)構(gòu)成員賦賦值*/numbeer.haalf.sseconnd=bb;printtf(%xn, nuumberr.i);getchh();答案: AA

15、B (00 x41對(duì)對(duì)應(yīng)A,是低位位;Ox442對(duì)應(yīng)B,是是高位)6261 (nummber.i和nuumberr.hallf共用一一塊地址空空間)11. 已已知strrcpy的的函數(shù)原型型:chaar *sstrcppy(chhar *strDDest, connst cchar *strrSrc)其中sttrDesst 是目目的字符串串,strrSrc 是源字符符串。不調(diào)調(diào)用C+/C 的的字符串庫庫函數(shù),請(qǐng)請(qǐng)編寫函數(shù)數(shù) strrcpy。答案:char *strrcpy(charr *sttrDesst, cconstt chaar *sstrSrrc)if ( strDDest = NNU

16、LL | sstrSrrc = NULLL)returrn NUULL ;if ( strDDest = sstrSrrc)returrn sttrDesst ;char *temmpptrr = sstrDeest ;whilee( (*strDDest+ = *strrSrc+) != 0);returrn teemppttr ;!112. 已已知Strring類類定義如下下:classs Strringpubliic:Strinng(coonst charr *sttr = NULLL); / 通用用構(gòu)造函數(shù)數(shù)Strinng(coonst Striing &anotther); / 拷貝

17、構(gòu)構(gòu)造函數(shù) Strring(); / 析構(gòu)構(gòu)函數(shù)Strinng & operraterr =(cconstt Strring &rhss); / 賦值值函數(shù)privaate:char *m_ddata; / 用于保存存字符串;嘗試寫出類類的成員函函數(shù)實(shí)現(xiàn)。答案:Strinng:SStrinng(coonst charr *sttr)if ( str = NNULL ) /strllen在參參數(shù)為NUULL時(shí)會(huì)會(huì)拋異常才才會(huì)有這步步判斷m_datta = new charr1 ;m_datta0 = 0 ;elsem_datta = new charrstrrlen(str) + 11;strc

18、ppy(m_dataa,strr); Strinng:SStrinng(coonst Striing &anotther)m_datta = new charrstrrlen(anotther.m_daata) + 1;strcppy(m_dataa,othher.mm_datta);Strinng& SStrinng:ooperaator =(coonst Striing &rhs)if ( thiss = &rhss)returrn *tthis ;delette m_daata; /刪除除原來的數(shù)數(shù)據(jù),新開開一塊內(nèi)存存m_datta = new charrstrrlen(rhs.m_da

19、ata) + 1;strcppy(m_dataa,rhss.m_ddata);returrn *tthis ;Strinng:Striing()delette m_daata ;13. .h頭文件件中的iffndeff/deffine/endiif 的作作用?答:防止該該頭文件被被重復(fù)引用用。14. i nccludee 與 i nccludee fiile.hh的區(qū)別別?答:前者是是從Staandarrd Liibrarry的路徑徑尋找和引引用fille.h,而而后者是從從當(dāng)前工作作路徑搜尋尋并引用ffile.h。15.在CC+ 程程序中調(diào)用用被C 編編譯器編譯譯后的函數(shù)數(shù),為什么么要加ex

20、xternn “C”?首先,作為為exteern是CC/C+語言中表表明函數(shù)和和全局變量量作用范圍圍(可見性性)的關(guān)鍵鍵字,該關(guān)關(guān)鍵字告訴訴編譯器,其其聲明的函函數(shù)和變量量可以在本本模塊或其其它模塊中中使用。通常,在模模塊的頭文文件中對(duì)本本模塊提供供給其它模模塊引用的的函數(shù)和全全局變量以以關(guān)鍵字eexterrn聲明。例如,如如果模塊BB欲引用該該模塊A中中定義的全全局變量和和函數(shù)時(shí)只只需包含模模塊A的頭頭文件即可可。這樣,模模塊B中調(diào)調(diào)用模塊AA中的函數(shù)數(shù)時(shí),在編編譯階段,模模塊B雖然然找不到該該函數(shù),但但是并不會(huì)會(huì)報(bào)錯(cuò);它它會(huì)在連接接階段中從從模塊A編編譯生成的的目標(biāo)代碼碼中找到此此函數(shù)ex

21、terrn CC是連接接申明(llinkaage ddeclaaratiion),被exttern C修修飾的變量量和函數(shù)是是按照C語語言方式編編譯和連接接的,來看看看C+中對(duì)類似似C的函數(shù)數(shù)是怎樣編編譯的:作為一種面面向?qū)ο蟮牡恼Z言,CC+支持持函數(shù)重載載,而過程程式語言CC則不支持持。函數(shù)被被C+編編譯后在符符號(hào)庫中的的名字與CC語言的不不同。例如如,假設(shè)某某個(gè)函數(shù)的的原型為:void foo( intt x, int y );該函數(shù)被CC編譯器編編譯后在符符號(hào)庫中的的名字為_foo,而而C+編編譯器則會(huì)會(huì)產(chǎn)生像_foo_int_int之之類的名字字(不同的的編譯器可可能生成的的名字不同同

22、,但是都都采用了相相同的機(jī)制制,生成的的新名字稱稱為“manggled namee”)。_foo_int_int 這樣的名名字包含了了函數(shù)名、函數(shù)參數(shù)數(shù)數(shù)量及類類型信息,CC+就是是靠這種機(jī)機(jī)制來實(shí)現(xiàn)現(xiàn)函數(shù)重載載的。例如如,在C+中,函函數(shù)voiid fooo( iint xx, innt y )與vooid ffoo( int x, ffloatt y )編譯生成成的符號(hào)是是不相同的的,后者為為_fooo_intt_flooat。同樣地,CC+中的的變量除支支持局部變變量外,還還支持類成成員變量和和全局變量量。用戶所所編寫程序序的類成員員變量可能能與全局變變量同名,我我們以.來區(qū)分分。而本質(zhì)

23、質(zhì)上,編譯譯器在進(jìn)行行編譯時(shí),與與函數(shù)的處處理相似,也也為類中的的變量取了了一個(gè)獨(dú)一一無二的名名字,這個(gè)個(gè)名字與用用戶程序中中同名的全全局變量名名字不同。未加exttern C聲聲明時(shí)的連連接方式假設(shè)在C+中,模模塊A的頭頭文件如下下:/ 模塊塊A頭文件件modduleAA.h#ifnddef MMODULLE_A_H#defiine MMODULLE_A_Hint ffoo( int x, iint yy );#endiif在模塊B中中引用該函函數(shù):/ 模塊塊B實(shí)現(xiàn)文文件mooduleeB.cpppi nccludee mooduleeA.hfoo(22,3);實(shí)際上,在在連接階段段,連接器

24、器會(huì)從模塊塊A生成的的目標(biāo)文件件moduuleA.obj中中尋找_ffoo_iint_iint這樣樣的符號(hào)!加exteern C聲明明后的編譯譯和連接方方式加exteern C聲明明后,模塊塊A的頭文文件變?yōu)椋? 模塊塊A頭文件件modduleAA.h#ifnddef MMODULLE_A_H#defiine MMODULLE_A_Hexterrn CC innt fooo( iint xx, innt y );#endiif在模塊B的的實(shí)現(xiàn)文件件中仍然調(diào)調(diào)用fooo( 2,3 ),其其結(jié)果是:(1)模塊塊A編譯生生成fooo的目標(biāo)代代碼時(shí),沒沒有對(duì)其名名字進(jìn)行特特殊處理,采采用了C語語言的方

25、式式;(2)連接接器在為模模塊B的目目標(biāo)代碼尋尋找fooo(2,33)調(diào)用時(shí)時(shí),尋找的的是未經(jīng)修修改的符號(hào)號(hào)名_fooo。如果在模塊塊A中函數(shù)數(shù)聲明了ffoo為eexterrn CC類型,而而模塊B中中包含的是是exteern iint ffoo( int x, iint yy ) ,則則模塊B找找不到模塊塊A中的函函數(shù);反之之亦然。所以,可以以用一句話話概括exxternn “C”這個(gè)聲明明的真實(shí)目目的(任何何語言中的的任何語法法特性的誕誕生都不是是隨意而為為的,來源源于真實(shí)世世界的需求求驅(qū)動(dòng)。我我們?cè)谒伎伎紗栴}時(shí),不不能只停留留在這個(gè)語語言是怎么么做的,還還要問一問問它為什么么要這么做做,

26、動(dòng)機(jī)是是什么,這這樣我們可可以更深入入地理解許許多問題):實(shí)現(xiàn)C+與C及及其它語言言的混合編編程。明白了C+中exxternn C的設(shè)立動(dòng)動(dòng)機(jī),我們們下面來具具體分析eexterrn CC通常的的使用技巧巧:exterrn CC的慣用用法(1)在CC+中引引用C語言言中的函數(shù)數(shù)和變量,在在包含C語語言頭文件件(假設(shè)為為cExaamplee.h)時(shí)時(shí),需進(jìn)行行下列處理理:exterrn CCi nccludee cEExampple.hh而在C語言言的頭文件件中,對(duì)其其外部函數(shù)數(shù)只能指定定為exttern類類型,C語語言中不支支持exttern C聲聲明,在.c文件中中包含了eexterrn C

27、C時(shí)會(huì)出出現(xiàn)編譯語語法錯(cuò)誤。C+引用用C函數(shù)例例子工程中中包含的三三個(gè)文件的的源代碼如如下:/* c語語言頭文件件:cExxamplle.h */#ifnddef CC_EXAAMPLEE_H#defiine CC_EXAAMPLEE_Hexterrn innt addd(innt x,int y);#endiif/* c語語言實(shí)現(xiàn)文文件:cEExampple.cc */i nccludee cEExampple.hhint aadd( int x, iint yy )returrn x + y;/ c+實(shí)現(xiàn)文文件,調(diào)用用add:cppFFile.cppexterrn CCi nccludee

28、 cEExampple.hhint mmain(int argcc, chhar* argvv)add(22,3);returrn 0;如果C+調(diào)用一個(gè)個(gè)C語言編編寫的.DDLL時(shí),當(dāng)當(dāng)包括.DDLL的頭頭文件或聲聲明接口函函數(shù)時(shí),應(yīng)應(yīng)加exttern C 。(2)在CC中引用CC+語言言中的函數(shù)數(shù)和變量時(shí)時(shí),C+的頭文件件需添加eexterrn CC,但是是在C語言言中不能直直接引用聲聲明了exxternn C的該頭文文件,應(yīng)該該僅將C文文件中將CC+中定定義的exxternn C函數(shù)聲明明為exttern類類型。C引用C+函數(shù)例例子工程中中包含的三三個(gè)文件的的源代碼如如下:/C+頭文件 c

29、ppEExampple.hh#ifnddef CCPP_EEXAMPPLE_HH#defiine CCPP_EEXAMPPLE_HHexterrn CC innt addd( iint xx, innt y );#endiif/C+實(shí)現(xiàn)文件件 cpppExammple.cppi nccludee cpppExaamplee.hint aadd( int x, iint yy )returrn x + y;/* C實(shí)實(shí)現(xiàn)文件 cFille.c/* 這樣樣會(huì)編譯出出錯(cuò):ii ncllude cExxamplle.h */exterrn innt addd( iint xx, innt y );in

30、t mmain( intt arggc, cchar* arggv )add( 2, 33 );returrn 0;15題目的的解答請(qǐng)參參考C+中exxternn “C”含義深層層探索注注解:16. 關(guān)關(guān)聯(lián)、聚合合(Agggregaationn)以及組組合(Coompossitioon)的區(qū)區(qū)別?涉及到UMML中的一一些概念:關(guān)聯(lián)是表表示兩個(gè)類類的一般性性聯(lián)系,比比如“學(xué)生”和“老師”就是一種種關(guān)聯(lián)關(guān)系系;聚合表表示hass-a的關(guān)關(guān)系,是一一種相對(duì)松松散的關(guān)系系,聚合類類不需要對(duì)對(duì)被聚合類類負(fù)責(zé),如如下圖所示示,用空的的菱形表示示聚合關(guān)系系:從實(shí)現(xiàn)的角角度講,聚聚合可以表表示為:classs

31、 A . claass BB AA* a; .而組合表示示conttainss-a的關(guān)關(guān)系,關(guān)聯(lián)聯(lián)性強(qiáng)于聚聚合:組合合類與被組組合類有相相同的生命命周期,組組合類要對(duì)對(duì)被組合類類負(fù)責(zé),采采用實(shí)心的的菱形表示示組合關(guān)系系:實(shí)現(xiàn)的形式式是:classs A. classs B A aa; .參考文章:httpp:/t/wfwwd/arrchivve/20006/005/300/7633753.aspxxhttp:/wfwdd/arcchivee/20006/055/30/7637760.aaspx17.面向向?qū)ο蟮娜齻€(gè)基本特特征,并簡簡單敘述之之?1. 封裝裝:將客觀觀事物抽象象成類,每每個(gè)類對(duì)

32、自自身的數(shù)據(jù)據(jù)和方法實(shí)實(shí)行prootecttion(privvate, prootectted,ppubliic)2. 繼承承:廣義的的繼承有三三種實(shí)現(xiàn)形形式:實(shí)現(xiàn)現(xiàn)繼承(指指使用基類類的屬性和和方法而無無需額外編編碼的能力力)、可視視繼承(子子窗體使用用父窗體的的外觀和實(shí)實(shí)現(xiàn)代碼)、接口繼承承(僅使用用屬性和方方法,實(shí)現(xiàn)現(xiàn)滯后到子子類實(shí)現(xiàn))。前兩種(類類繼承)和和后一種(對(duì)對(duì)象組合=接口繼繼承以及純純虛函數(shù))構(gòu)構(gòu)成了功能能復(fù)用的兩兩種方式。3. 多態(tài)態(tài):是將父父對(duì)象設(shè)置置成為和一一個(gè)或更多多的他的子子對(duì)象相等等的技術(shù),賦賦值之后,父父對(duì)象就可可以根據(jù)當(dāng)當(dāng)前賦值給給它的子對(duì)對(duì)象的特性性以不同的

33、的方式運(yùn)作作。簡單的的說,就是是一句話:允許將子子類類型的的指針賦值值給父類類類型的指針針。18. 重重載(ovverlooad)和和重寫(ooverrried,有有的書也叫叫做“覆蓋”)的區(qū)別別???嫉念}目目。從定義義上來說:重載:是指指允許存在在多個(gè)同名名函數(shù),而而這些函數(shù)數(shù)的參數(shù)表表不同(或或許參數(shù)個(gè)個(gè)數(shù)不同,或或許參數(shù)類類型不同,或或許兩者都都不同)。重寫:是指指子類重新新定義復(fù)類類虛函數(shù)的的方法。從實(shí)現(xiàn)原理理上來說:重載:編譯譯器根據(jù)函函數(shù)不同的的參數(shù)表,對(duì)對(duì)同名函數(shù)數(shù)的名稱做做修飾,然然后這些同同名函數(shù)就就成了不同同的函數(shù)(至至少對(duì)于編編譯器來說說是這樣的的)。如,有有兩個(gè)同名名函

34、數(shù):ffuncttion funcc(p:iintegger):inteeger;和funnctioon fuunc(pp:strring):inttegerr;。那么么編譯器做做過修飾后后的函數(shù)名名稱可能是是這樣的:int_funcc、strr_funnc。對(duì)于于這兩個(gè)函函數(shù)的調(diào)用用,在編譯譯器間就已已經(jīng)確定了了,是靜態(tài)態(tài)的。也就就是說,它它們的地址址在編譯期期就綁定了了(早綁定定),因此此,重載和和多態(tài)無關(guān)關(guān)!重寫:和多多態(tài)真正相相關(guān)。當(dāng)子子類重新定定義了父類類的虛函數(shù)數(shù)后,父類類指針根據(jù)據(jù)賦給它的的不同的子子類指針,動(dòng)動(dòng)態(tài)的調(diào)用用屬于子類類的該函數(shù)數(shù),這樣的的函數(shù)調(diào)用用在編譯期期間是無法

35、法確定的(調(diào)調(diào)用的子類類的虛函數(shù)數(shù)的地址無無法給出)。因此,這這樣的函數(shù)數(shù)地址是在在運(yùn)行期綁綁定的(晚晚綁定)。19. 多多態(tài)的作用用?主要是兩個(gè)個(gè):1. 隱藏實(shí)現(xiàn)現(xiàn)細(xì)節(jié),使使得代碼能能夠模塊化化;擴(kuò)展代代碼模塊,實(shí)實(shí)現(xiàn)代碼重重用;2. 接口重重用:為了了類在繼承承和派生的的時(shí)候,保保證使用家家族中任一一類的實(shí)例例的某一屬屬性時(shí)的正正確調(diào)用。20. AAdo與AAdo.nnet的相相同與不同同?除了“能夠夠讓應(yīng)用程程序處理存存儲(chǔ)于DBBMS 中中的數(shù)據(jù)“這一基本本相似點(diǎn)外外,兩者沒沒有太多共共同之處。但是Addo使用OOLE DDB 接口口并基于微微軟的COOM 技術(shù)術(shù),而ADDO.NEET

36、擁有有自己的AADO.NNET 接接口并且基基于微軟的的.NETT 體系架架構(gòu)。眾所所周知.NNET 體體系不同于于COM 體系,AADO.NNET 接接口也就完完全不同于于ADO和和OLE DB 接接口,這也也就是說AADO.NNET 和和ADO是是兩種數(shù)據(jù)據(jù)訪問方式式。ADOO.nett 提供對(duì)對(duì)XML 的支持。21. NNew ddelette 與mmallooc frree 的的聯(lián)系與區(qū)區(qū)別?答案:都是是在堆(hheap)上進(jìn)行動(dòng)動(dòng)態(tài)的內(nèi)存存操作。用用mallloc函數(shù)數(shù)需要指定定內(nèi)存分配配的字節(jié)數(shù)數(shù)并且不能能初始化對(duì)對(duì)象,neew 會(huì)自自動(dòng)調(diào)用對(duì)對(duì)象的構(gòu)造造函數(shù)。ddelette 會(huì)

37、調(diào)調(diào)用對(duì)象的的desttructtor,而而freee 不會(huì)調(diào)調(diào)用對(duì)象的的desttructtor.22. #defiine DDOUBLLE(x) x+xx ,i = 5*DOUBBLE(55); ii 是多少少?答案:i 為30。23. 有有哪幾種情情況只能用用intiializzatioon liist 而而不能用aassiggnmennt?答案:當(dāng)類類中含有cconstt、refferennce 成成員變量;基類的構(gòu)構(gòu)造函數(shù)都都需要初始始化表。24. CC+是不不是類型安安全的?答案:不是是。兩個(gè)不不同類型的的指針之間間可以強(qiáng)制制轉(zhuǎn)換(用用reinnterppret castt)。C#

38、是類型安安全的。25. mmain 函數(shù)執(zhí)行行以前,還還會(huì)執(zhí)行什什么代碼?答案:全局局對(duì)象的構(gòu)構(gòu)造函數(shù)會(huì)會(huì)在maiin 函數(shù)數(shù)之前執(zhí)行行。26. 描描述內(nèi)存分分配方式以以及它們的的區(qū)別?1) 從靜靜態(tài)存儲(chǔ)區(qū)區(qū)域分配。內(nèi)存在程程序編譯的的時(shí)候就已已經(jīng)分配好好,這塊內(nèi)內(nèi)存在程序序的整個(gè)運(yùn)運(yùn)行期間都都存在。例例如全局變變量,sttaticc 變量。2) 在棧棧上創(chuàng)建。在執(zhí)行函函數(shù)時(shí),函函數(shù)內(nèi)局部部變量的存存儲(chǔ)單元都都可以在棧棧上創(chuàng)建,函函數(shù)執(zhí)行結(jié)結(jié)束時(shí)這些些存儲(chǔ)單元元自動(dòng)被釋釋放。棧內(nèi)內(nèi)存分配運(yùn)運(yùn)算內(nèi)置于于處理器的的指令集。3) 從堆堆上分配,亦亦稱動(dòng)態(tài)內(nèi)內(nèi)存分配。程序在運(yùn)運(yùn)行的時(shí)候候用malllo

39、c 或neww 申請(qǐng)任任意多少的的內(nèi)存,程程序員自己己負(fù)責(zé)在何何時(shí)用frree 或或deleete 釋釋放內(nèi)存。動(dòng)態(tài)內(nèi)存存的生存期期由程序員員決定,使使用非常靈靈活,但問問題也最多多。27.sttructt 和 cclasss 的區(qū)別別答案:sttructt 的成員員默認(rèn)是公公有的,而而類的成員員默認(rèn)是私私有的。sstrucct 和 classs 在其其他方面是是功能相當(dāng)當(dāng)?shù)?。從感情上講講,大多數(shù)數(shù)的開發(fā)者者感到類和和結(jié)構(gòu)有很很大的差別別。感覺上上結(jié)構(gòu)僅僅僅象一堆缺缺乏封裝和和功能的開開放的內(nèi)存存位,而類類就象活的的并且可靠靠的社會(huì)成成員,它有有智能服務(wù)務(wù),有牢固固的封裝屏屏障和一個(gè)個(gè)良好定義

40、義的接口。既然大多多數(shù)人都這這么認(rèn)為,那那么只有在在你的類有有很少的方方法并且有有公有數(shù)據(jù)據(jù)(這種事事情在良好好設(shè)計(jì)的系系統(tǒng)中是存存在的!)時(shí)時(shí),你也許許應(yīng)該使用用 strruct 關(guān)鍵字,否否則,你應(yīng)應(yīng)該使用 classs 關(guān)鍵鍵字。 28.當(dāng)一一個(gè)類A 中沒有聲聲明任何成成員變量與與成員函數(shù)數(shù),這時(shí)ssizeoof(A)的值是多多少,如果果不是零,請(qǐng)請(qǐng)解釋一下下編譯器為為什么沒有有讓它為零零。(Auutodeesk)答案:肯定定不是零。舉個(gè)反例例,如果是是零的話,聲聲明一個(gè)cclasss A110對(duì)象象數(shù)組,而而每一個(gè)對(duì)對(duì)象占用的的空間是零零,這時(shí)就就沒辦法區(qū)區(qū)分A00,A1了。29. 在

41、在80866 匯編下下,邏輯地地址和物理理地址是怎怎樣轉(zhuǎn)換的的?(Inntel)答案:通用用寄存器給給出的地址址,是段內(nèi)內(nèi)偏移地址址,相應(yīng)段段寄存器地地址*100H+通用用寄存器內(nèi)內(nèi)地址,就就得到了真真正要訪問問的地址。30. 比比較C+中的4種種類型轉(zhuǎn)換換方式?請(qǐng)參考:hhttp:/wfwdd/arcchivee/20006/055/30/7637785.aaspx,重重點(diǎn)是sttaticc_casst, ddynammic_ccast和和reinnterppret_castt的區(qū)別和和應(yīng)用。31.分別別寫出BOOOL,iint,ffloatt,指針類類型的變量量a 與“零”的比較語語句。答

42、案:BOOL : iff ( !a ) or iif(a)int : if ( a = 00)floatt : cconstt EXPPRESSSION EXP = 0.0000001if ( a -EEXP)pointter : if ( a != NNULL) or if(aa = NULLL)32.請(qǐng)說說出connst與#defiine 相相比,有何何優(yōu)點(diǎn)?答案:1) consst 常量量有數(shù)據(jù)類類型,而宏宏常量沒有有數(shù)據(jù)類型型。編譯器器可以對(duì)前前者進(jìn)行類類型安全檢檢查。而對(duì)對(duì)后者只進(jìn)進(jìn)行字符替替換,沒有有類型安全全檢查,并并且在字符符替換可能能會(huì)產(chǎn)生意意料不到的的錯(cuò)誤。2) 有些些集成

43、化的的調(diào)試工具具可以對(duì)cconstt 常量進(jìn)進(jìn)行調(diào)試,但但是不能對(duì)對(duì)宏常量進(jìn)進(jìn)行調(diào)試。33.簡述述數(shù)組與指指針的區(qū)別別?數(shù)組要么在在靜態(tài)存儲(chǔ)儲(chǔ)區(qū)被創(chuàng)建建(如全局局?jǐn)?shù)組),要要么在棧上上被創(chuàng)建。指針可以以隨時(shí)指向向任意類型型的內(nèi)存塊塊。(1)修改改內(nèi)容上的的差別char a = “hhelloo”;a0 = XX;char *p = “worlld”; / 注意pp 指向常常量字符串串p0 = X; / 編譯器器不能發(fā)現(xiàn)現(xiàn)該錯(cuò)誤,運(yùn)運(yùn)行時(shí)錯(cuò)誤誤(2) 用用運(yùn)算符ssizeoof 可以以計(jì)算出數(shù)數(shù)組的容量量(字節(jié)數(shù)數(shù))。siizeoff(p),p 為指指針得到的的是一個(gè)指指針變量的的字節(jié)數(shù),而而不

44、是p 所指的內(nèi)內(nèi)存容量。C+/C 語言言沒有辦法法知道指針針?biāo)傅膬?nèi)內(nèi)存容量,除除非在申請(qǐng)請(qǐng)內(nèi)存時(shí)記記住它。注注意當(dāng)數(shù)組組作為函數(shù)數(shù)的參數(shù)進(jìn)進(jìn)行傳遞時(shí)時(shí),該數(shù)組組自動(dòng)退化化為同類型型的指針。char a = hhelloo worrld;char *p = a;cout siizeoff(a) eendl; / 12 字字節(jié)cout siizeoff(p) eendl; / 4 字節(jié)節(jié)計(jì)算數(shù)組和和指針的內(nèi)內(nèi)存容量void Funcc(chaar a100)cout siizeoff(a) eendl; / 4 字節(jié)節(jié)而不是1100 字字節(jié)34.類成成員函數(shù)的的重載、覆覆蓋和隱藏藏區(qū)別?答案:a

45、.成員函函數(shù)被重載載的特征:(1)相同同的范圍(在在同一個(gè)類類中);(2)函數(shù)數(shù)名字相同同;(3)參數(shù)數(shù)不同;(4)viirtuaal 關(guān)鍵鍵字可有可可無。b.覆蓋是是指派生類類函數(shù)覆蓋蓋基類函數(shù)數(shù),特征是是:(1)不同同的范圍(分分別位于派派生類與基基類);(2)函數(shù)數(shù)名字相同同;(3)參數(shù)數(shù)相同;(4)基類類函數(shù)必須須有virrtuall 關(guān)鍵字字。c.“隱藏藏”是指派生生類的函數(shù)數(shù)屏蔽了與與其同名的的基類函數(shù)數(shù),規(guī)則如如下:(1)如果果派生類的的函數(shù)與基基類的函數(shù)數(shù)同名,但但是參數(shù)不不同。此時(shí)時(shí),不論有有無virrtuall關(guān)鍵字,基基類的函數(shù)數(shù)將被隱藏藏(注意別別與重載混混淆)。(2)

46、如果果派生類的的函數(shù)與基基類的函數(shù)數(shù)同名,并并且參數(shù)也也相同,但但是基類函函數(shù)沒有vvirtuual 關(guān)關(guān)鍵字。此此時(shí),基類類的函數(shù)被被隱藏(注注意別與覆覆蓋混淆)35. TTheree aree twoo intt varriablles: a annd b, donnt uuse “if”, “? :”, “swiitch”or ootherr juddgemeent sstateementts, ffind out the bigggest one of tthe ttwo nnumbeers.答案:( ( a + b ) + abs( a - b ) ) / 236. 如如何打印出出當(dāng)

47、前源文文件的文件件名以及源源文件的當(dāng)當(dāng)前行號(hào)?答案:cout _FILLE_ ;cout_LLINE_ ;_FILLE_和和_LIINE_是系統(tǒng)預(yù)預(yù)定義宏,這這種宏并不不是在某個(gè)個(gè)文件中定定義的,而而是由編譯譯器定義的的。37. mmain 主函數(shù)執(zhí)執(zhí)行完畢后后,是否可可能會(huì)再執(zhí)執(zhí)行一段代代碼,給出出說明?答案:可以以,可以用用_oneexit 注冊(cè)一個(gè)個(gè)函數(shù),它它會(huì)在maain 之之后執(zhí)行iint ffn1(vvoid), fnn2(vooid), fn33(voiid), fn4 (voiid);void mainn( vooid )Strinng sttr(zzhangglin);_on

48、exxit( fn1 );_onexxit( fn2 );_onexxit( fn3 );_onexxit( fn4 );printtf( Thiss is execcutedd firrst.n );int ffn1()printtf( nextt.n );returrn 0;int ffn2()printtf( execcutedd );returrn 0;int ffn3()printtf( is );returrn 0;int ffn4()printtf( Thiss );returrn 0;The _onexxit ffuncttion is ppasseed thhe adddre

49、sss off a ffuncttion (funnc) tto bee callled whenn thee proogramm terrminaates normmallyy. Suuccesssivee callls tto _oonexiit crreatee a rregisster of ffuncttionss thaat arre exxecutted iin LIIFO (lastt-in-firsst-ouut) oorderr. Thhe fuunctiions passsed tto _oonexiit caannott takke paarameeterss.38.

50、如如何判斷一一段程序是是由C 編編譯程序還還是由C+編譯程程序編譯的的?答案:#ifdeef _cpluuspluuscoutc+;#elseecoutc;#endiif39.文件件中有一組組整數(shù),要要求排序后后輸出到另另一個(gè)文件件中答案:i nccludeei nccludeeusingg nammespaace sstd;void Ordeer(veectorr& ddata) /bbubblle soortint ccountt = ddata.sizee() ;int ttag = fallse ; / 設(shè)置是否否需要繼續(xù)續(xù)冒泡的標(biāo)標(biāo)志位for ( intt i = 0 ; i cou

51、unt ; i+)for ( intt j = 0 ; j daatajj+1)tag = truue ;int ttemp = daatajj ;dataj = dattaj+1 ;dataj+1 = ttemp ;if ( !tagg )breakk ;void mainn( vooid )vectoordaata;ifstrream in(c:dataa.txtt);if ( !in)coutttemp;data.pushh_bacck(teemp);in.cllose(); /關(guān)閉輸輸入文件流流Orderr(datta);ofstrream out(c:ressult.txt);if

52、( !outt)coutfiile eerrorr!;exit(1);for ( i = 0 ; i datta.siize() ; ii+)outdataaineext = NUULL )returrn heead;Node *p1 = heead ;Node *p2 = p11-neext ;Node *p3 = p22-neext ;p1-nnext = NUULL ;whilee ( pp3 != NULLL )p2-nnext = p11 ;p1 = p2 ;p2 = p3 ;p3 = p3-nextt ;p2-nnext = p11 ;head = p22 ;returrn hee

53、ad ;(2)已知知兩個(gè)鏈表表headd1 和hhead22 各自有有序,請(qǐng)把把它們合并并成一個(gè)鏈鏈表依然有有序。(保保留所有結(jié)結(jié)點(diǎn),即便便大小相同同)Node * Meerge(Nodee *heead1 , Noode *headd2)if ( headd1 = NULLL)returrn heead2 ;if ( headd2 = NULLL)returrn heead1 ;Node *heaad = NULLL ;Node *p1 = NUULL;Node *p2 = NUULL;if ( headd1-ddata datta )head = heead1 ;p1 = headd1-n

54、next;p2 = headd2 ;elsehead = heead2 ;p2 = headd2-nnext ;p1 = headd1 ;Node *pcuurrennt = headd ;whilee ( pp1 != NULLL & p2 != NNULL)if ( p1-dataa dataa )pcurrrent-nexxt = p1 ;pcurrrent = p11 ;p1 = p1-nextt ;elsepcurrrent-nexxt = p2 ;pcurrrent = p22 ;p2 = p2-nextt ;if ( p1 != NUULL )pcurrrent-nexxt =

55、p1 ;if ( p2 != NUULL )pcurrrent-nexxt = p2 ;returrn heead ;(3)已知知兩個(gè)鏈表表headd1 和hhead22 各自有有序,請(qǐng)把把它們合并并成一個(gè)鏈鏈表依然有有序,這次次要求用遞遞歸方法進(jìn)進(jìn)行。 (Autoodeskk)答案:Node * MeergeRRecurrsivee(Nodde *hhead11 , NNode *heaad2)if ( headd1 = NULLL )returrn heead2 ;if ( headd2 = NULLL)returrn heead1 ;Node *heaad = NULLL ;if ( h

56、eadd1-ddata datta )head = heead1 ;head-nexxt = MerggeReccursiive(hhead11-neext,hhead22);elsehead = heead2 ;head-nexxt = MerggeReccursiive(hhead11,heaad2-nextt);returrn heead ;41. 分分析一下這這段程序的的輸出 (Autoodeskk)classs Bpubliic:B()coutdeefaullt coonstrructoorendll;B()coutdeestruuctedd iinstaance of BB)cou

57、tcoonstrructeed byy parrametter dataa eendl;privaate:int ddata;B Plaay( BB b)returrn b ;(1) rresullts:int mmain(int argcc, chhar* argvv) consstruccted by pparammeterr 5 desstruccted B(5)形參析構(gòu)構(gòu)B t1 = Pllay(55); BB t2 = Pllay(tt1); deestruuctedd t1形形參析構(gòu)returrn 0; ddestrructeed t22注意順順序! desstruccted t1

58、(2) rresullts:int mmain(int argcc, chhar* argvv) consstruccted by pparammeterr 5 desstruccted B(5)形參析構(gòu)構(gòu)B t1 = Pllay(55); BB t2 = Pllay(110); coonstrructeed byy parrametter 110returrn 0; ddestrructeed B(10)形形參析構(gòu) desstruccted t2注注意順序!destrructeed t1142. 寫寫一個(gè)函數(shù)數(shù)找出一個(gè)個(gè)整數(shù)數(shù)組組中,第二二大的數(shù) (miccrosooft)答案:constt

59、 intt MINNNUMBBER = -322767 ;int ffind_sec_max( intt datta , innt coount)int mmaxnuumberr = ddata0 ;int ssec_mmax = MINNNUMBBER ;for ( intt i = 1 ; i maaxnummber )sec_mmax = maxxnumbber ;maxnuumberr = ddatai ;elseif ( dataai seec_maax )sec_mmax = dattai ;returrn seec_maax ;43. 寫寫一個(gè)在一一個(gè)字符串串(n)中中尋找一個(gè)個(gè)

60、子串(mm)第一個(gè)個(gè)位置的函函數(shù)。KMP算法法效率最好好,時(shí)間復(fù)復(fù)雜度是(n+mm)。44. 多多重繼承的的內(nèi)存分配配問題:比如有cllass A : publlic cclasss B, publlic cclasss C 那么A的內(nèi)內(nèi)存結(jié)構(gòu)大大致是怎么么樣的?這個(gè)是coompiller-ddepenndentt的, 不不同的實(shí)現(xiàn)現(xiàn)其細(xì)節(jié)可可能不同。如果不考慮慮有虛函數(shù)數(shù)、虛繼承承的話就相相當(dāng)簡單;否則的話話,相當(dāng)復(fù)復(fù)雜??梢詤⒖忌钊胩剿魉鰿+對(duì)對(duì)象模型,或者:http:/wfwdd/arcchivee/20006/055/30/7637797.aaspx45. 如如何判斷一一個(gè)單鏈表表是有

溫馨提示

  • 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)論