本試題僅用於考查c++/c程式設計師的基本程式設計技能。內容限於c++/c常用語法,不涉及資料結構、演算法以及深奧的語法。考試成績能反映出考生的程式設計質量以及對c++/c的理解程度,但不能反映考生的智力和軟體開發能力。
筆試時間90分鐘。請考生認真答題,切勿輕視。
一、請填寫bool , float, 指標變數與「零值」比較的 if 語句。(10分)
提示:這裡「零值」可以是0, 0.0 , false或者「空指標」。例如 int 變數 n 與「零值」比較的 if 語句為:
if ( n == 0 )
if ( n != 0 )
以此類推。
二、以下為windows nt下的32位c++程式,請計算sizeof的值(10分)
三、簡答題(25分)
1、標頭檔案中的 ifndef/define/endif 幹什麼用?
2、#include 和 #include 「filename.h」 有什麼區別?
3、const 有什麼用途?(請至少說明兩種)
4、在c++ 程式中呼叫被 c編譯器編譯後的函式,為什麼要加 extern 「c」宣告?
5、請簡述以下兩個for迴圈的優缺點
四、有關記憶體的思考題(20分)
五、編寫strcpy函式(10分)
已知strcpy函式的原型是
char *strcpy(char *strdest, const char *strsrc);
其中strdest是目的字串,strsrc是源字串。
(1)不呼叫c++/c的字串庫函式,請編寫函式 strcpy
(2)strcpy能把strsrc的內容複製到strdest,為什麼還要char * 型別的返回值?
六、編寫類string的建構函式、析構函式和賦值函式(25分)
已知類string的原型為:
class string
;請編寫string的上述4個函式。
一、請填寫bool , float, 指標變數與「零值」比較的 if 語句。(10分)
二、以下為windows nt下的32位c++程式,請計算sizeof的值(10分)
三、簡答題(25分)
1、標頭檔案中的 ifndef/define/endif 幹什麼用?(5分)
答:防止該標頭檔案被重複引用。
2、#include 和 #include 「filename.h」 有什麼區別?(5分)
答:對於#include ,編譯器從標準庫路徑開始搜尋 filename.h
對於#include 「filename.h」 ,編譯器從使用者的工作路徑開始搜尋 filename.h
3、const 有什麼用途?(請至少說明兩種)(5分)
答:(1)可以定義 const 常量
(2)const可以修飾函式的引數、返回值,甚至函式的定義體。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。
4、在c++ 程式中呼叫被 c編譯器編譯後的函式,為什麼要加 extern 「c」? (5分)
答:c++語言支援函式過載,c語言不支援函式過載。函式被c++編譯後在庫中的名字與c語言的不同。假設某個函式的原型為: void foo(int x, int y);
該函式被c編譯器編譯後在庫中的名字為_foo,而c++編譯器則會產生像_foo_int_int之類的名字。
c++提供了c連線交換指定符號extern「c」來解決名字匹配問題。
5、請簡述以下兩個for迴圈的優缺點(5分)
四、有關記憶體的思考題(每小題5分,共20分)
軟體公司入職感想
入職感想 尊敬的領導 您好!我是 是技術部軟體組的一名新員工。2013年4月,我開始了在 軟體公司的工作生涯。走出學校,初入社會,進入了這個全新的環境。與此同時,我也面臨著新工作帶來的全新挑戰。但是公司領導對工作的精益求精 不斷創新,對員工的無微不至,讓我感覺我是幸運的。首先,公司為我們新來的幾個進...
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...