c++面試題
請填寫BOOL , float, 指針變量 與“零值”比較的 if 語句。
頭文件中的 ifndef/define/endif 干什么用?
#include 和 #include “filename.h” 有什么區別?
const 有什么用途?(請至少說明兩種)
在C++ 程序中調用被 C編譯器編譯后的函數,為什么要加 extern “C”聲明?
const 與 #define有什么不同
答案: 1. const 常量有數據類型,而宏沒有數據類型。編譯器可以對const 常量進行類型檢查,而對宏只進行字符替換沒有類型檢查。
2. 有些編譯器可以對const常量進行調試,但不能對宏常量進行調試
3. const 可以用來修飾函數參數、函數返回值,C++還可以用來修飾函數,定義內中某個成員函數為常量函數
寫一個“標準”宏MIN,這個宏輸入兩個參數并返回較小的一個。
預處理器標識#error的目的是什么?
嵌入式系統中經常要用到無限循環,你怎么樣用C編寫死循環呢?
關鍵字static的作用是什么?
這個簡單的問題很少有人能回答完全。在C語言中,關鍵字static有三個明顯的作用:
1). 在函數體,一個被聲明為靜態的變量在這一函數被調用過程中維持其值不變。
2). 在模塊內(但在函數體外),一個被聲明為靜態的變量可以被模塊內所用函數訪問,但不能被模塊外其它函數訪問。它是一個本地的全局變量。
3). 在模塊內,一個被聲明為靜態的函數只可被這一模塊內的其它函數調用。那就是,這個函數被限制在聲明它的模塊的本地范圍內使用。
大多數應試者能正確回答第一部分,一部分能正確回答第二部分,同是很少的人能懂得第三部分。這是一個應試者的嚴重的缺點,因為他顯然不懂得本地化數據和代碼范圍的好處和重要性。
關鍵字volatile有什么含意 并給出三個不同的例子。
一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。下面是volatile變量的'幾個例子:
1). 并行設備的硬件寄存器(如:狀態寄存器)
2). 一個中斷服務子程序中會訪問到的非自動變量(Non-automatic variables)
3). 多線程應用中被幾個任務共享的變量
回答不出這個問題的人是不會被雇傭的。我認為這是區分C程序員和嵌入式系統程序員的最基本的問題。嵌入式系統程序員經常同硬件、中斷、RTOS等等打交道,所用這些都要求volatile變量。不懂得volatile內容將會帶來災難。
請問C++的類和C里面的struct有什么區別?
請講一講析構函數和虛函數的用法和作用?
全局變量和局部變量有什么區別?實怎么實現的?操作系統和編譯器是怎么知道的?
【c++面試題】相關文章:
C/C++面試題目12-12
精選C++面試題及答案10-03
C,C++的幾個面試題小集12-27
一個C/C++編程面試題12-20
2016年c++經典面試題及答案10-03
嵌入式C/C++面試題201611-12
華為C++筆試題12-25
聯想C++筆試題12-24
C++筆試實例分析12-19
Sony C++筆試題12-19