C 面試題目一(相關鏈結整理)

2022-08-26 09:42:10 字數 1171 閱讀 2866

一、基礎知識

1、基本語言

1、說一下static關鍵字的作用

傳送門:

個人理解:a.所有未加static的全域性變數和函式具有全域性可見性。加了static,就會對其原始檔隱藏。而對於函式來講,static的作用就僅僅侷限於隱藏。

b.保持變數內容的持久。(static變數中的記憶功能和全域性生存期)程式開始時的初始化將靜態儲存區中的全域性變數和static變數,而static控制其可見範圍。說到底還是隱藏。

如果作為static區域性變數在函式內定義,它的生存期為整個源程式,但是其作用域仍與自動變數相同,只能在定義該變數的函式內使用該變數。

退出該函式後, 儘管該變數還繼續存在,但不能使用它.

c.將變數初始化為0(如稀疏矩陣的初始化)。

d.c++中的類成員宣告static: 1.類的靜態成員函式屬於而非類的物件,沒有this指標,所以僅能訪問類的靜態資料和靜態成員函式。

2.不能將靜態成員函式定義為虛函式。

3.靜態資料成員必須被初始化,因為其是靜態儲存的。

4.靜態成員初始化一般在類體外進行,前面不加static,初始化時不加成員訪問許可權控制符(public private等)

5.節省子類對父類靜態成員的訪問時間,節省了子類的記憶體空間。

6.在子類定義乙個和父類相同的靜態變數可以遮蔽父類的影響(name-mangling)

2.c++和c的區別

傳送門: 

3.c++中四種cast轉換

傳送門:

4.判斷乙個點在三角形中並用**實現

傳送門:

5.怎麼判斷乙個數是2的倍數,求乙個數中有幾個1,說一下思路並手寫**

我猜: 最蠢的辦法可以第乙個模2為0則是,第二個模10然後判斷是否為1,搞個計數器來計數就行/或:如果是求二進位制表達中有幾個1的話,可以用位運算,和1做&運算。

6.stl中容器的底層實現

面試題4 相關題目

題目 有兩個排序陣列a1和a2,內存在a1後面有足夠的空間容納a2。實現乙個函式,把a2中的數字插入到a1,並且所有的數字是排序的。示例 includeusing namespace std 兩個有序陣列a1和a2,a1後面有足夠的記憶體容納a2,將a2插入到a1中,使結果有序 bool inser...

劍指offer 面試題21 相關

題目 設計包含min函式的棧,pop push min 的時間複雜度均為o 1 自己所寫 如下 寫 棧 的 還是有些不熟練!include using namespace std const int max 100 class stack stack stack stack stack bool s...

Webpack相關面試題整理

1.gulp grunt 與 webpack的區別是什麼?grunt 與 gulp grunt和gulp屬於一類的都是構建工具,只是grunt是根據配置來的,gulp是採用 優於配置的原則,gulp的效能要比grunt的效能要高,它們可以執行指定的任務。webpack的特點 webpack 是目前最...