C 面試題 三

2021-04-09 02:40:42 字數 1112 閱讀 2668

1.用最簡單的方法實現函式int strcmp(char *p1,char *p2)

2.a.請定義乙個指向此函式的指標 int test(char *p1,int ntestcount)

b.宣告此指標的陣列,包含10個元素。

c.給陣列的第乙個元素賦值,使其指向test.

d.寫出呼叫陣列的第乙個元素,執行test操作例項的語句。

3.表述應在什麼情況下使用extern"c"宣告。

4.對如下雙鏈表

typedef struct _node

node;

a.請寫出**,將node*n插入到node*p後。

b.如果多執行緒同時訪問此鍊錶,需要加鎖,請說明以下步驟

(a)申請記憶體給n.

(b)n資料初始化。

(c)插入

注意加鎖和解鎖的時機。

5.簡述c語言中可變長引數的實現原理,如int sprintf(char *buf,const char*format,..)

6.big endian和little endian的定義是什麼?請用最簡單方法(程式實現)判斷某個cpu的型別。

7.子類b重寫父類a的乙個成員函式f,建立乙個子類物件c,如果使用c呼叫父類a的成員函式。

8.c++中public,protect,private成員函式編譯後的可執行**有何區別?

9.對如下定義

typedef struct

student;

student arrstudent[10];

請寫出使用qsort對arrstrudent陣列按iage由小到大的順序排序。標準函式qsort宣告如下:

void qsort(void *base,size_t num,size_t width,int(_cdecl*compare)(const void *elem1,const void *elem2));

關於 compare函式,返回<0表示elem1小於elem2,表示相等,>0表示elem1>elem2.

10.對於如下函式

int test(char* p1,int ntestcount)

畫出執行完i=ntestcount後的棧分布狀況(你熟悉的cpu和編譯器),並說明返回值是如何傳遞歸父函式的。

C 面試題(三)

用預處理指令 define 宣告乙個常數,用以表明1年中有多少秒 忽略閏年問題 define seconds per year 60 60 24 365 ul考慮一下幾件事情 1 define 語法的基本知識 例如 不能以分號結束,括號的使用,等等 2 懂得預處理器將為你計算常數表示式的值,因此,直...

C 經典面試題 三

21.用c 寫個程式,如何判斷乙個作業系統是16位還是32位的?標準答案 定義乙個指標p,列印出sizeof p 如果節果是4,則表示該作業系統是32位,列印結果是2,表示是16位。22.用c 寫個程式,如何判斷乙個作業系統是16位還是32位的?不能用sizeof 函式。參 int a 0 if a...

C 面試題之i 面試題

i 面試題1.cpp 中國台灣某著名防毒軟體公司2005年10月面試題 int i 3,j 4 i?i j printf d d n i,j a.3 3 b.4 4 c.3 4 d.4 3 答案b i 面試題2.cpp 中國某著名計算機金融軟公司2005年面試題 int x 1,j 2 int k ...