面試筆試題目及答案_第1頁
面試筆試題目及答案_第2頁
面試筆試題目及答案_第3頁
面試筆試題目及答案_第4頁
面試筆試題目及答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——面試筆試題目及答案CC++筆試面試題目c語言筆試面試大全心理健康c證筆試題目

C語言是世界上最流行、使用最廣泛的高級程序設計語言之一。下面就由我為大家介紹一下C/C++筆試、面試題目的文章,接待閱讀。

C/C++筆試、面試題目篇1

1.什么是"引用'?申明和使用"引用'要留神哪些問題?

答:引用就是某個目標變量的"別名'(alias),對應用的操作與對變量直接操作效果完全一致。申明一個引用的時候,切記要對其舉行初始化。引用聲明完畢后,相當于目標變量名有兩個名稱,即該目標原名稱和引用名,不能再把該引用名作為其他變量名的別名。聲明一個引用,不是新定義了一個變量,它只表示該引用名是目標變量名的一個別名,它本身不是一種數(shù)據(jù)類型,因此引用本身不占存儲單元,系統(tǒng)也不給引用調配存儲單元。不能建立數(shù)組的引用。

2.將"引用'作為函數(shù)參數(shù)有哪些特點?

(1)傳遞引用給函數(shù)與傳遞指針的效果是一樣的。這時,被調函數(shù)的形參就成為原來主調函數(shù)中的實參變量或對象的一個別名來使用,所以在被調函數(shù)中對形參變量的操作就是對其相應的目標對象(在主調函數(shù)中)的操作。

(2)使用引用傳遞函數(shù)的參數(shù),在內存中并沒有產(chǎn)生實參的副本,它是直接對實參操作;而使用一般變量傳遞函數(shù)的參數(shù),當發(fā)生函數(shù)調用時,需要給形參調配存儲單元,形參變量是實參變量的副本;假設傳遞的是對象,還將調用拷貝構造函數(shù)。因此,當參數(shù)傳遞的數(shù)據(jù)較大時,用引用比用一般變量傳遞參數(shù)的效率和所占空間都好。

(3)使用指針作為函數(shù)的參數(shù)雖然也能達成與使用引用的效果,但是,在被調函數(shù)中同樣要給形參調配存儲單元,且需要重復使用*指針變量名的形式舉行運算,這很輕易產(chǎn)生錯誤且程序的閱讀性較差;另一方面,在主調函數(shù)的調用點處,務必用變量的地址作為實參。而引用更輕易使用,更明顯。

3在什么時候需要使用"常引用'?

假設既要利用引用提高程序的效率,又要養(yǎng)護傳遞給函數(shù)的數(shù)據(jù)不在函數(shù)中被變更,就應使用常引用。常引用聲明方式:const類型標識符引用名=目標變量名;

例1

inta;

constintra=a;

ra=1;//錯誤

a=1;//正確

例2

stringfoo();

voidbar(strings)

//那么下面的表達式將是非法的:

bar(foo());

bar(helloworld);

理由在于foo()和helloworld串都會產(chǎn)生一個臨時對象,而在C++中,這些臨時對象都是const類型的。因此上面的表達式就是試圖將一個const類型的對象轉換為非const類型,這是非法的。

引用型參數(shù)理應在能被定義為const的處境下,盡量定義為const。

C/C++筆試、面試題目篇2

1."引用'與指針的識別是什么?

指針通過某個指針變量指向一個對象后,對它所指向的變量間接操作。程序中使用指針,程序的可讀性差;

而引用本身就是目標變量的別名,對引用的操作就是對目標變量的操作。此外,就是上面提到的對函數(shù)傳ref和pointer的識別。

2.什么時候需要"引用'?

流操作符和、賦值操作符=的返回值、拷貝構造函數(shù)的參數(shù)、賦值操作符=的參數(shù)、其它處境都推舉使用引用。

3.布局與聯(lián)合有和識別?

1.布局和聯(lián)合都是由多個不同的數(shù)據(jù)類型成員組成,但在任何同一時刻,聯(lián)合中只存放了一個被選中的成員(全體成員共用一塊地址空間),而布局的全體成員都存在(不同成員的存放地址不同)。

2.對于聯(lián)合的不同成員賦值,將會對其它成員重寫,原來成員的值就不存在了,而對于布局的不同成員賦值是互不影響的。

C/C++筆試、面試題目篇3

1.關聯(lián)、聚合(Aggregation)以及組合(Composition)的識別?

涉及到UML中的一些概念:

關聯(lián)是表示兩個類的一般性聯(lián)系,譬如"學生'和"老師'就是一種關聯(lián)關系;

聚合表示has-a的關系,是一種相對松散的關系,聚合類不需要對被聚合類負責,如下圖所示,用空的菱形表示聚合關系:

從實現(xiàn)的角度講,聚合可以表示為:

classA{...}classB{A*a;}

組合表示contains-a的關系,關聯(lián)性強于聚合:組合類與被組合類有一致的生命周期,組合類要對被組合類負責,采用實心的菱形表示組合關系:

實現(xiàn)的形式是:

classA{...}classB{Aa;...}

2.面向對象的三個根本特征,并簡樸表達之?

1.封裝:將客觀事物抽象成類,每個類對自身的數(shù)據(jù)和方法實行protection(private,protected,public)

2.繼承:廣義的繼承有三種實現(xiàn)形式:實現(xiàn)繼承(指使用基類的屬性和方法而無需額外編碼的才能)、可視繼承(子窗體使用父窗體的外觀和實現(xiàn)代碼)、接口繼承(僅使用屬性和方法,實現(xiàn)滯后到子類實現(xiàn))。前兩種(類繼承)和后一種(對象組合=接口繼承以及純虛函數(shù))構成了功能復用的兩種方式。

3.多態(tài):系統(tǒng)能夠在運行時,能夠根據(jù)其類型確定調用哪個重載的成員函數(shù)的才能,稱為多態(tài)性。(見:C++中類的多態(tài)與虛函數(shù)的使用)

3.重載(overload)和重寫(overried,有的書也叫做"籠罩')的識別?

??嫉念}目。

從定義上來說:

重載:是指允許存在多個同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。

重寫:是指子類重新定義父類虛函數(shù)的方法。

從實現(xiàn)原理上來說:

重載:編譯器根據(jù)函數(shù)不同的參數(shù)表,對同名函數(shù)的名稱做修飾,然后這些同名函數(shù)就成了不同的函數(shù)(至少對于編譯器來說是這樣的)。如,有兩個同名函數(shù):functionfunc(p:integer):integer;和functionfunc(p:string):integer;。那么編譯器做過修飾后的函數(shù)名稱可能是這樣的:int_func、str_func。對于這兩個函數(shù)的調用,在編譯器間就已經(jīng)確定了,是靜態(tài)的。也就是說,它們的地址在編譯期就綁定了(早綁定),因此,重載和多態(tài)無關!

重寫:和多態(tài)真正相關。當子類重新定義了父類的虛函數(shù)后,父類指針根據(jù)賦給它的不同的子類指針,動態(tài)的調用屬于子類的該函數(shù),這樣的函數(shù)調用在編譯期間是無法確定的(調用的子類的虛函數(shù)的地址無法給出)。因此,這樣的函數(shù)地址是在運行期綁定的(晚綁定)。

4.多態(tài)的作用?

主要是兩個:

1.暗藏實現(xiàn)細節(jié),使得代碼能夠模塊化;擴展代碼模塊,實現(xiàn)代碼重用;

2.接口重用:為了類在繼承和派生的時候,保證使用家族中任一類的實例的某一屬性時的正確調用。

5.Ado與A的一致與不同?

除了"能夠讓應用程序處理存儲于DBMS中的數(shù)據(jù)"這一根本好像點外,兩者沒有太多共同之處。但是Ado使用OLEDB接口并基于微軟的COM技術,而ADO.NET擁有自己的ADO.NET接口并且基于微軟的.NET體系架構。眾所周知.NET體系不同于COM體系,ADO.NET接口也就完全不同于ADO和OLEDB接口,這也就是說ADO.NET和ADO是兩種數(shù)據(jù)訪問方式。ADO.net供給對XML的支持。

6.Newdelete與mallocfree的聯(lián)系與識別?

答案:都是在堆(heap)上舉行動態(tài)的內存操作。用malloc函數(shù)需要指定內存調配的字節(jié)數(shù)并且不能初始化對象,new會自動調用對象的構造函數(shù)。delete會調用對象的destructor,而free不會調用對象的destructor.

(可以看看:顯式調用構造函數(shù)和析構函數(shù))

7.#defineDOUBLE(x)x+x,i=5*DOUBLE(5);i是多少?

答案:i為30。(留神直接開展就是了)5*5+5

8.有哪幾種處境只能用intializationlist而不能用assignment?

答案:當類中含有const、reference成員變量;基類的構造函數(shù)都需要初始化表。

9.C++是不是類型安好的?

答案:不是。兩個不同類型的指針之間可以強制轉換(用reinterpretcast)。C#是類型安好的。

10.main函數(shù)執(zhí)行以前,還會執(zhí)行什么代碼?

答案:全局對象的構造函數(shù)會在main函數(shù)之前執(zhí)行,為malloc調配必要的資源,等等。

11.描述內存調配方式以及它們的識別?

1)從靜態(tài)存儲區(qū)域調配。內存在程序編譯的時候就已經(jīng)調配好,這塊內存在程序的整個運行期間都存在。例如全局變量,static變量。

溫馨提示

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

評論

0/150

提交評論