C,C 的幾個面試題小集

2021-06-05 21:22:11 字數 807 閱讀 3861

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 分)

for (i=0; i

if (condition)

else

優點:程式簡潔

缺點:多執行了n-1 次邏輯判斷,並且打斷了迴圈「流水線」作業,使得編譯器不能對迴圈進行優化處理,降低了效率。

優點:迴圈的效率高

缺點:程式不簡潔

前端面試題小集

一 乙個頁面上兩個div左右鋪滿整個瀏覽器,要保證左邊的div一直為100px,右邊的div跟隨瀏覽器大小變化 比如瀏覽器為500,右邊div為400,瀏覽器為900,右邊div為800 請寫出大概的css 1.使用flex html css box else result.push arr i v...

集合面試題小集錦

雜湊表 結合了陣列和鍊錶的特性,定址容易,插入也容易。但是雜湊表由多種不同的實現方式。最常見的一種 拉鍊法 鍊錶的陣列 arraylist是通過陣列實現的,一旦我們例項化arraylist無參構造方法預設陣列初始化長度為10.如果add方法底層實現如果增加的元素個數超過10個,那麼arraylist...

幾個面試題

1 公司裡面有1001個員工,現在要在公司裡面找到最好的羽毛球選手,也就是第一名,每個人都必須參賽,問至少要比賽多少次才能夠找到最好的羽毛球員工 2 現在有100個燈泡,每個燈泡都是關著的,第一趟把所有的燈泡燈泡開啟,第二趟把偶數字的燈泡制反 也就是開了的關掉,關了的開啟 第三趟讓第3,6,9.的燈...