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