C面試筆試題目

2021-03-10 10:52:03 字數 1825 閱讀 3944

請填寫bool , float, 指標變數與「零值」比較的 if 語句。(10分)

以下為windows nt下的32位c++程式,請計算sizeof的值(10分)

標頭檔案中的 ifndef/define/endif 幹什麼用?(5分)

答:防止該標頭檔案被重複引用。

#include 和 #include 「filename.h」 有什麼區別?(5分)

答:對於#include ,編譯器從標準庫路徑開始搜尋 filename.h

對於#include 「filename.h」 ,編譯器從使用者的工作路徑開始搜尋 filename.h

const 有什麼用途?(請至少說明兩種)(5分)

答:(1)可以定義 const 常量

(2)const可以修飾函式的引數、返回值,甚至函式的定義體。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。

在c++ 程式中呼叫被 c編譯器編譯後的函式,為什麼要加 extern 「c」? (5分)

答:作為extern是c/c++語言中表明函式和全域性變數作用範圍(可見性)的關鍵字,該關鍵字告訴編譯器,其宣告的函式和變數可以在本模組或其它模組中使用。

extern "c"是連線申明(linkage declaration),被extern "c"修飾的變數和函式是按照c語言方式編譯和連線的,來看看c++中對類似c的函式是怎樣編譯的:

c++語言支援函式過載,c語言不支援函式過載。函式被c++編譯後在庫中的名字與c語言的不同。假設某個函式的原型為: void foo(int x, int y);

該函式被c編譯器編譯後在庫中的名字為_foo,而c++編譯器則會產生像_foo_int_int之類的名字。

c++提供了c連線交換指定符號extern「c」來解決名字匹配問題。

請簡述以下兩個for迴圈的優缺點(5分)

有關記憶體的思考題(每小題5分,共20分)

編寫strcpy函式(10分)

已知strcpy函式的原型是

char *strcpy(char *strdest, const char *strsrc);

其中strdest是目的字串,strsrc是源字串。

(1)不呼叫c++/c的字串庫函式,請編寫函式 strcpy

char *strcpy(char *strdest, const char *strsrc)

(2)strcpy能把strsrc的內容複製到strdest,為什麼還要char * 型別的返回值?

答:為了實現鏈式表示式2分

例如 int length = strlen( strcpy( strdest, 「hello world」) );

編寫類string的建構函式、析構函式和賦值函式(25分)

已知類string的原型為:

class string

;請編寫string的上述4個函式。

標準答案:

// string的析構函式

string::~string(void3分

// string的普通建構函式

string::string(const char *str6分

}// 拷貝建構函式

string::string(const string &other) // 3分

// 賦值函式

string & string::operate =(const string &other) // 13分

{1) 檢查自賦值4分

if(this == &other)

return *this;

// (2) 釋放原有的記憶體資源3分

delete m_data;

C 面試筆試題

4.在什麼時候需要使用 常引用 如果既要利用引用提高程式的效率,又要保護傳遞給函式的資料不在函式中被改變,就應使用常引用。常引用宣告方式 const 型別識別符號 引用名 目標變數名 例1int a const int ra a ra 1 錯誤 a 1 正確 例2string foo void ba...

C 面試筆試題

4.在什麼時候需要使用 常引用 如果既要利用引用提高程式的效率,又要保護傳遞給函式的資料不在函式中被改變,就應使用常引用。常引用宣告方式 const 型別識別符號 引用名 目標變數名 例1int a const int ra a ra 1 錯誤 a 1 正確 例2string foo void ba...

Google面試筆試題目

今年10月底,google在美國 麻省技術評論 linuxjournal mensa 今日物理 等幾本專業雜誌上刊登了乙份 google實驗室能力傾向測試 的 試卷,開頭蠱惑地寫著 試試看!把答案寄回google,你有希望去google總部參觀 並成為我們其中一員 有興趣的人可以做完了郵寄給goog...