關於飛思卡爾的面試

才智咖 人氣:7.89K

關於飛思卡爾的面試

關於飛思卡爾的面試

2008-03-18 18:16可能不是很正式吧,很多題目用的是貝爾的原題

現在突然想起來了,摘兩段,不要弄得出見過的題目還不會做~

C++/C試題
本試題僅用於考查C++/C程式設計師的基本程式設計技能。內容限於C++/C常用語法,不涉及資料結
構、演算法以及深奧的語法。考試成績能反映出考生的程式設計質量以及對C++/C的理解程度,但
不能反映考生的智力和軟體開發能力。
筆試時間90分鐘。請考生認真答題,切勿輕視。

一、請填寫BOOL , float, 指標變數 與“零值”比較的 if 語句。(10分)
提示:這裡“零值”可以是0, 0.0 , FALSE或者“空指標”。例如 int 變數 n 與“零值
”比較的 if 語句為:
if ( n == 0 )
if ( n != 0 )
以此類推。

請寫出 BOOL flag 與“零值”比較的 if 語句:
請寫出 float x 與“零值”比較的 if 語句:
請寫出 char *p 與“零值”比較的 if 語句:

二、以下為Windows NT下的32位C++程式,請計算sizeof的值(10分)

char str[] = “Hello” ; char *p = str ;int n = 10;請計算sizeof (str )
= sizeof ( p ) = sizeof ( n ) = void Func (
char str[100]){請計算 sizeof( str ) = }
void *p = malloc( 100 );請計算sizeof ( p ) =

三、簡答題(25分)

1、標頭檔案中的 ifndef/define/endif 幹什麼用?

 

2、#include 和 #include “filename.h” 有什麼區別?

 

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

 

4、在C++ 程式中呼叫被 C編譯器編譯後的函式,為什麼要加 extern “C”宣告?

 


5、請簡述以下兩個for迴圈的優缺點

// 第一個for (i=0; i ing();} // 第二個if (condition){for (i=0; i for (i=0; i 優點:缺點: 優點:缺點:

四、有關記憶體的思考題(20分)

void GetMemory(char *p){p = (char *)malloc(100);}void Test(void) {char *str =
NULL;GetMemory(str); strcpy(str, "hello world");printf(str);}請問執行Test函式會
有什麼樣的結果?答: char *GetMemory(void){ char p[] = "hello world";return p;
}void Test(void){char *str = NULL;str = GetMemory(); printf(str);}請問執行Test
函式會有什麼樣的`結果?答:
Void GetMemory2(char **p, int num){*p = (char *)malloc(num);}void Test(void){c
har *str = NULL;GetMemory(&str, 100);strcpy(str, "hello"); printf(str); }請問運
行Test函式會有什麼樣的結果?答: void Test(void){char *str = (char *) malloc(1
00); strcpy(str, “hello”); free(str); if(str != NULL) { strcpy(str, “
world”); printf(str);}}請問執行Test函式會有什麼樣的結果?答:


五、編寫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
{
public:
String(const char *str = NULL); // 普通建構函式
String(const String &other); // 拷貝建構函式
~ String(void); // 解構函式
String & operate =(const String &other); // 賦值函式
private:
char *m_data; // 用於儲存字串
};
請編寫String的上述4個函式。