思科面试题c语言,C语言面试题~总汇(基础题、嵌入式、微软、华为、思科……).doc...
|
基本C語言基礎題
1 ? .? 用預處理指令#define? 聲明一個常數,用以表明1 年中有多少秒(忽略閏年問題)?
#define? SECONDS_PER_YEAR ? (60 ? *? 60? *? 24? *? 365)UL ?
我在這想看到幾件事情:?
? #define? 語法的基本知識(例如:不能以分號結束,括號的使用,等等)?
懂得預處理器將為你計算常數表達式的值,因此,直接寫出你是如何計算一年中?有多少秒而不是計算出實際的值,是更清晰而沒有代價的。?意識到這個表達式將使一個 16位機的整型數溢出‐ 因此要用到長整型符號L, 告訴編?譯器這個常數是的長整型數。?如果你在你的表達式中用到 UL(表示無符號長整型),那么你有了一個好的起點?。記住,第一印象很重要。?
2 ? .? 寫一個“標準”宏 MIN? ,這個宏輸入兩個參數并返回較小的一個。?
#define? MIN(A,B)? ((A)? <= ? (B)? ?? (A)? : ? (B)) ??
這個測試是為下面的目的而設的:?標識#define在宏中應用的基本知識。這是很重要的,因為直到嵌入(inline) 操作?符變為標準C 的一部分,宏是方便產生嵌入代碼的唯一方法,對于嵌入式系統來說,為了能?達到要求的性能,嵌入代碼經常是必須的方法。?三重條件操作符的知識。這個操作符存在 C 語言中的原因是它使得編譯器能產生比?f ‐ then ‐ else 更優化的代碼,了解這個用法是很重要的。?懂得在宏中小心地把參數用括號括起來?我也用這個問題開始討論宏的副作用,例如:當你寫下面的代碼時會發生什么事???least ? =? MIN(*p++,? b);?
?
3. ? 預處理器標識#error 的目的是什么??
如果你不知道答案,請看參考文獻 1。這問題對區分一個正常的伙計和一個書呆子是很有用 ?
的。只有書呆子才會讀 C 語言課本的附錄去找出象這種問題的答案。當然如果你不是在一?
個書呆子,那么應試者最好希望自己不要知道答案。?死循環(Infinite ? loops)?
4. ? 嵌入式系統中經常要用到無限循環,你怎么樣用 C 編寫死循環呢??這個問題用幾個解決方案。我首選的方案是:?
?
while(1)?{ ?} ?
?
一些程序員更喜歡如下方案:??
for(;;) ?{ ?} ?
這個實現方式讓我為難,因為這個語法沒有確切表達到底怎么回事。如果一個應試者給出這?
個作為方案,我將用這個作為一個機會去探究他們這樣做的基本原理。如果他們的基本答案?
是:“我被教著這樣做,但從沒有想到過為什么。”這會給我留下一個壞印象。?
第三個方案是用? goto ??
Loop:?
... ?
goto ? Loop;?
應試者如給出上面的方案,這說明或者他是一個匯編語言程序員(這也許是好事)或者他是?
一個想進入新領域的BASIC/FORTRAN 程序員。??
數據聲明(Data ? declarations )?
5. ? 用變量a 給出下面的定義?
a) ? 一個整型數(An? integer )?
b) 一個指向整型數的指針(? A? pointer ? to ? an? integer )?
c) 一個指向指針的的指針,它指向的指針是指向一個整型數(? A? pointer ? to ? a ? pointer ? to ?an? intege )r?
d) 一個有10個整型數的數組(? An? array? of ? 10? integers )?
e) ? 一個有10個指針的數組,該指針是指向一個整型數的。(An? array? of ? 10? pointers? to ?integers )?
f) ? 一個指向有 10個整型數數組的指針(? A? pointer ? to ? an? array?of ? 10? integers )?
g) ? 一個指向函數的指針,該函數有一個整型參數并返回一個整型數(A? pointer ? to ? a ? function ? that ? takes? an? integer ? as ?an? argument ?and ? returns ?an ? integer )?
h) 一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型
數?(? An? array? of ? ten ? pointers? to ? functions ? that ? take ? an? integer ? argument ? and ? return ? an? integer ? )?
?
答案是:?
a) ? int? a; ? // ? An? integer ?
總結
以上是生活随笔為你收集整理的思科面试题c语言,C语言面试题~总汇(基础题、嵌入式、微软、华为、思科……).doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五子棋开发案列c语言,C语言案例:控制台
- 下一篇: 长沙四大名校2021年高考成绩查询,20