久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式招聘 > 嵌入式面試題 > 經典企(qi)業面試題整理(li)(C語言),讓你不(bu)再發愁(chou)

經典企業面試題(ti)整理(C語(yu)言),讓你不再發愁 時間:2018-08-06      來源(yuan):未知

1. C語言有多少關(guan)鍵(jian)字?

32個,注意sizeof是關鍵字,不是函數(shu)。

2. C程序(xu)的一(yi)般結構那 些?

順序,分支(zhi),循環

3. 簡單(dan)列舉幾種常用(yong)的循(xun)環(huan)結構(gou)和分支結構(gou)。

循環:For,while do,if goto(慎用)。分支:if else, switch case(注(zhu)意default 的使用,和(he)break 的添加)。

4. while 和dowhile 有何區別?

前(qian)者先判斷(duan)再(zai)執行,后者先執行再(zai)判斷(duan);后者比前(qian)者多執行一(yi)次。

5. continue 和(he) break 有何需別?

前者結束本次循環繼續下(xia)次循環,后者直接推出循環。

6. register 有(you)何作(zuo)用?

聲明一(yi)個變量常駐寄(ji)存器(qi),以(yi)達到提高程(cheng)序運行效(xiao)率(lv)的目(mu)的,在嵌(qian)入式開(kai)發(fa)中(zhong)尤其(qi)常用,但它(ta)是(shi)一(yi)個建議性的聲明,編譯器(qi)會(hui)根據程(cheng)序情況決定是(shi)否申請成(cheng)功。

7. static 有(you)何(he)作用?

兩(liang)方面:1)限(xian)定(ding)(ding)存儲域;2)限(xian)定(ding)(ding)作(zuo)用域。

8. volatile關鍵字有什么(me)用(yong)途?

聲明(ming)為一(yi)個異變的(de)變量,一(yi)般(ban)的(de)變量會暫存(cun)在處(chu)(chu)理器的(de)緩存(cun)區中,當內存(cun)中變量發生改變時(shi)處(chu)(chu)理器可能無法及時(shi)更新(xin)其變量的(de)值(zhi)導致災難(nan),在嵌入(ru)式開(kai)發中尤其重要,也可達(da)到防止編譯器優化的(de)目的(de)。

9. 指針函數和函數指針有和區別?

 概念不(bu)同,前(qian)者是一個函(han)數返回值為指針類(lei)型;后者為一個指針,指向(xiang)一個函(han)數入口地(di)址。

10. 簡(jian)述0,'0',"0",'\0'的(de)區別。

分別為數(shu)(shu)值0,字(zi)(zi)符(fu)(fu)(fu)0(ascii碼數(shu)(shu)值為48),字(zi)(zi)符(fu)(fu)(fu)串0(占兩個(ge)字(zi)(zi)節,有‘\0’作為結(jie)束(shu)符(fu)(fu)(fu)),字(zi)(zi)符(fu)(fu)(fu)串結(jie)束(shu)標志(其數(shu)(shu)值等(deng)于0是絕對的0,但意(yi)義不(bu)同)

11. 使用gets時應注意哪些事項?

防止越界(jie),gets不檢查(cha)目的(de)地址的(de)空間(jian)大(da)小。

12. 簡述堆和棧的區別:

前者為程序動(dong)態分配,創建和銷毀都(dou)需要(yao)手動(dong)完成(使用(yong)完一定要(yao)銷毀,防止內存泄露);后(hou)者為系統(tong)自動(dong)分配,在函數返(fan)回時自動(dong)銷毀(所以不(bu)能在函數中返(fan)回變(bian)量)。

13. 函數傳參有哪些方法?各有何特色(se)?

值傳(chuan)遞和(he)地址傳(chuan)遞,前者(zhe)在傳(chuan)遞時函數形參接受實參的拷(kao)貝(bei)(bei),所(suo)以(yi)原(yuan)形參不(bu)會(hui)被(bei)改變(但是大數據的拷(kao)貝(bei)(bei)會(hui)降低(di)效率(lv));后者(zhe)傳(chuan)遞變量(liang)的地址,不(bu)需(xu)拷(kao)貝(bei)(bei),但是會(hui)改變參數的值。

14. 全(quan)局變量和局部(bu)變量有何區別(bie)?

前者在(zai)靜(jing)態區,作(zuo)用域是整個程序;后者在(zai)棧區,作(zuo)用域僅限于函數(shu)內(nei)部。

15. 局(ju)部(bu)變(bian)量能(neng)否(fou)和全局(ju)變(bian)量重名?

可以,局(ju)部變量會屏蔽全局(ju)變量。

16. 靜態全局變量和普(pu)通全局變量有何(he)區別?

存儲域(yu)(yu)方(fang)面:都(dou)相同,都(dou)在靜態區;作(zuo)用域(yu)(yu)方(fang)面:不同,前者是本文件,后者是全局可見。

17. 靜態局(ju)部變(bian)量和普通局(ju)部變(bian)量有何區別?

 存儲域:相(xiang)同(tong),都在靜態去;作用域:相(xiang)同(tong),都在函數內部;

但(dan)是聲明(ming)周(zhou)期(qi)不同,前者聲明(ming)周(zhou)期(qi)為整個(ge)程(cheng)序(xu)的聲明(ming)周(zhou)期(qi)知道(dao)程(cheng)序(xu)推出自動消(xiao)亡;后者聲明(ming)周(zhou)期(qi)為一次函數調用,函數返回即銷毀。

18.地址(zhi)對(dui)齊方式(shi)有哪(na)幾種(zhong)?

字(zi)(zi)節對齊,半字(zi)(zi)對齊,字(zi)(zi)對齊

19.

Struct a{

Char a;

Int b;

Short c;

}

Sizeof(a) = ?

結(jie)構(gou)體a的(de)大(da)(da)小是4*3=12個字(zi)節,而不是1+2+4=7個字(zi)節;這里(li)主要考察內存(cun)對(dui)齊(qi)(qi)(地址(zhi)對(dui)齊(qi)(qi))的(de)特點,應為結(jie)構(gou)體中最大(da)(da)數據寬(kuan)度是整型(4字(zi)節),所以按(an)字(zi)對(dui)齊(qi)(qi)。

思(si)考一下如何改良結構使(shi)得存(cun)儲(chu)空間變小。

20. 簡(jian)述(shu)程序的局(ju)部變(bian)量存(cun)(cun)在(zai)于(棧區)中,全(quan)局(ju)變(bian)量存(cun)(cun)在(zai)于(靜(jing)態區 )中,動態申請數(shu)據存(cun)(cun)在(zai)于( 堆區)中。

21.結構體和聯合體的區(qu)別?

22. 宏函(han)(han)數與內聯函(han)(han)數和普通函(han)(han)數的(de)執行效率的(de)比(bi):

宏函數效率高,因為是編譯器在預處理階段的替換(huan);

23.C語(yu)言中(zhong)注釋有哪些方法?

/**/和 #if 0 #endif 。后者(zhe)是預處理命令,可(ke)以方便的(de)對代碼(ma)區進行選(xuan)擇編譯(yi)。

解釋一下語句的含義:

Const int a;

int const a;

const int *a;

int * const a;

int const * a const;

前兩個(ge)(ge)的(de)(de)(de)(de)(de)作(zuo)用(yong)是(shi)(shi)一(yi)(yi)樣,a是(shi)(shi)一(yi)(yi)個(ge)(ge)常(chang)整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)。第三個(ge)(ge)意味著a是(shi)(shi)一(yi)(yi)個(ge)(ge)指(zhi)(zhi)向常(chang)整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)的(de)(de)(de)(de)(de)指(zhi)(zhi)針(也(ye)(ye)就(jiu)是(shi)(shi),整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)是(shi)(shi)不(bu)(bu)可(ke)修(xiu)改的(de)(de)(de)(de)(de),但指(zhi)(zhi)針可(ke)以)。第四個(ge)(ge)意思a是(shi)(shi)一(yi)(yi)個(ge)(ge)指(zhi)(zhi)向整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)的(de)(de)(de)(de)(de)常(chang)指(zhi)(zhi)針(也(ye)(ye)就(jiu)是(shi)(shi)說,指(zhi)(zhi)針指(zhi)(zhi)向的(de)(de)(de)(de)(de)整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)是(shi)(shi)可(ke)以修(xiu)改的(de)(de)(de)(de)(de),但指(zhi)(zhi)針是(shi)(shi)不(bu)(bu)可(ke)修(xiu)改的(de)(de)(de)(de)(de))。最后(hou)一(yi)(yi)個(ge)(ge)意味著a是(shi)(shi)一(yi)(yi)個(ge)(ge)指(zhi)(zhi)向常(chang)整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)的(de)(de)(de)(de)(de)常(chang)指(zhi)(zhi)針(也(ye)(ye)就(jiu)是(shi)(shi)說,指(zhi)(zhi)針指(zhi)(zhi)向的(de)(de)(de)(de)(de)整(zheng)(zheng)(zheng)型(xing)(xing)(xing)數(shu)(shu)(shu)是(shi)(shi)不(bu)(bu)可(ke)修(xiu)改的(de)(de)(de)(de)(de),同時指(zhi)(zhi)針也(ye)(ye)是(shi)(shi)不(bu)(bu)可(ke)修(xiu)改的(de)(de)(de)(de)(de))。如(ru)果(guo)應(ying)試者能(neng)正確(que)回(hui)答這些問題(ti),那(nei)么他就(jiu)給(gei)我留下(xia)了一(yi)(yi)個(ge)(ge)好印象。順帶提一(yi)(yi)句,也(ye)(ye)許你可(ke)能(neng)會問,即(ji)使不(bu)(bu)用(yong)關鍵字const,也(ye)(ye)還是(shi)(shi)能(neng)很容易寫出功(gong)能(neng)正確(que)的(de)(de)(de)(de)(de)程序,那(nei)么我為(wei)什(shen)么還要(yao)如(ru)此看(kan)重關鍵字const呢?我也(ye)(ye)如(ru)下(xia)的(de)(de)(de)(de)(de)幾下(xia)理(li)由(you):

1). 關鍵(jian)字const的(de)(de)(de)(de)作用(yong)是(shi)為給讀你代碼的(de)(de)(de)(de)人(ren)傳達非常有用(yong)的(de)(de)(de)(de)信息,實(shi)際上,聲(sheng)明一個參數(shu)為常量是(shi)為了(le)告訴了(le)用(yong)戶(hu)這(zhe)個參數(shu)的(de)(de)(de)(de)應(ying)用(yong)目的(de)(de)(de)(de)。如(ru)果你曾花很多(duo)時間清理其它人(ren)留下的(de)(de)(de)(de)垃(la)圾,你就(jiu)會很快學會感謝這(zhe)點多(duo)余的(de)(de)(de)(de)信息。(當然(ran),懂得用(yong)const的(de)(de)(de)(de)程(cheng)序員很少會留下的(de)(de)(de)(de)垃(la)圾讓別(bie)人(ren)來清理的(de)(de)(de)(de)。)

2). 通過(guo)給優化(hua)器一(yi)些附加的(de)信息,使(shi)用關鍵字const也許能產生更緊(jin)湊的(de)代碼(ma)。

3). 合理地使用關鍵字const可(ke)以(yi)使編譯器很(hen)自然地保護那些不希(xi)望被改(gai)變的參(can)數(shu),防(fang)止其被無(wu)意的代碼(ma)修(xiu)改(gai)。簡而言之,這樣可(ke)以(yi)減(jian)少bug的出現。

24.

int * a;

*a = 2;

上式有錯(cuo)嗎(ma),錯(cuo)到哪里?(指針沒(mei)有初始化)

25、頭文件中(zhong)的 ifndef/define/endif 干什么用(yong)?(5分)

答(da):防止該(gai)頭(tou)文件被(bei)重復引用。

26、#include 和 #include “filename.h” 有什么區別?(5分)

答:對于#include ,編譯器從標準庫路徑開始搜索 filename.h

對(dui)于#include “filename.h” ,編譯(yi)器從用(yong)戶的工作路徑開始搜(sou)索 filename.h

上一篇:有了這樣的C++/C筆試題,再也不用擔心筆試了

下一篇:50道經典c語言筆試題(精華)

熱點文(wen)章推(tui)薦
華清學員(yuan)就(jiu)業榜單
高薪學員經驗分享(xiang)
熱點新聞推薦(jian)
前(qian)臺(tai)專線:010-82525158 企(qi)業(ye)培訓洽談專(zhuan)線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部