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

當前位置:首頁 > 嵌入式培訓 > 嵌入式招聘 > 嵌入式面試題 > 嵌入式C語言(yan)經典面(mian)試(shi)題匯總

嵌入式C語(yu)言經(jing)典(dian)面試題匯總 時間:2018-07-31      來(lai)源:未知

嵌入(ru)式(shi)C語言面(mian)試題在面(mian)試中是特(te)別(bie)常(chang)見的了,因(yin)為嵌入(ru)式(shi)的基礎就是C語言,很多人(ren)在面(mian)試時,總會在C語言這個地方磕(ke)磕(ke)絆(ban)絆(ban)一下(xia),而導致(zhi)失(shi)去了進入(ru)公(gong)(gong)司的權利,下(xia)面(mian)是我去的幾家公(gong)(gong)司面(mian)試時,C語言面(mian)試題的總結,比較(jiao)全。

1、某(mou)32位系統(tong)下, C++程序void *p = malloc( 100 ); sizeof (p) = ?

A.1

B.4

C.100

D.400

2、在(zai)一個(ge)10階的(de)B-樹上,每個(ge)樹根(gen)結點中所含的(de)關鍵字數(shu)目多(duo)允許(xu)為(wei)( )個(ge),少允許(xu)為(wei)( )個(ge)。

A.10,5

B.9,4

C.8,3

D.7,6

3、以下程序段執行(xing)后(hou)結果是()

#include

void main()

{

short *p,*q;

short arr[15]={0};

p=q=arr;

p++;

printf("%d,",p-q);

printf("%d,",(char*)p-(char*)q);

printf("%d",sizeof(arr)/sizeof(*arr));

}

A.1,0,15

B.0,2,1

C.1,1,15

D.1,2,15

4、(1)靜態鏈表(biao)既(ji)有順序存儲的(de)優(you)點(dian),又有動態鏈表(biao)的(de)優(you)點(dian)。所(suo)以(yi),它存取表(biao)中第i個元素的(de)時間與i無關(guan)。

(2)靜態(tai)鏈表中能容納的元素個數的大(da)數在表定(ding)義(yi)時就確(que)定(ding)了,以后不能增加(jia).

(3)靜(jing)態鏈表與動態鏈表在元素的插(cha)入、刪(shan)除(chu)上類似,不需做元素的移動。

以上(shang)錯誤的是(shi)()

A.(1),(2)

B.(1)

C.(1),(2),(3)

D.(2)

相關(guan)答案(an):1~4:BBDB

相關(guan)大題總結(jie):

1. 讀程序段,回答問題

int main(int argc,char *argv[])

{

int c=9,d=0;

c=c++%5;

d=c;

printf("d=%d\n",d);

return 0;

}

a) 寫出(chu)程序輸出(chu)

b) 在一個可移植(zhi)的(de)系(xi)統(tong)中(zhong)這(zhe)種表(biao)達式是否存(cun)在風(feng)險?why?

#include "stdio.h"

int a=0;

int b;

static char c;

int main(int argc,char *argv[])

{

char d=4;

static short e;

a++;

b=100;

c=(char)++a;

e=(++d)++;

printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e);

return 0;

}

a) 寫出程序(xu)輸出

b) 編譯器如果(guo)安排各個變量(liang)(a,b,c,d)在內存中的布局(eg. stack,heap,data section,bss section),最好用(yong)圖形方式描述。

2 中斷是(shi)嵌入式系統中重要的(de)組成部分,這(zhe)導致了許多編(bian)譯開(kai)發商提供一種擴展(zhan):讓標(biao)準C支(zhi)持中斷,產生了一個新的(de)關(guan)鍵(jian)字(zi)__interrupt。下(xia)面(mian)的(de)代(dai)碼就使(shi)用了__interrupt關(guan)鍵(jian)字(zi)去定義了一個中斷服務(wu)子程(cheng)序(xu)(ISR),請評論以下(xia)這(zhe)段(duan)代(dai)碼。

__interrupt double compute_area(double radius)

{

double area = PI * radius *radius;

printf("nArea = %f", area);

return area;

}

3 C/C++基礎知(zhi)識問(wen)題

a) 關鍵字volatile在編譯時有什(shen)么含義(yi)?并給出(chu)三個(ge)不同使用場景的例(li)子(可(ke)以(yi)偽(wei)代碼或者文字描述)。

b) C語言中static關鍵字(zi)的具(ju)體(ti)作用(yong)有哪(na)些 ?

c) 請(qing)問下面(mian)三種變量聲明有何區別(bie)?請(qing)給出具體含義

int const *p;

int* const p;

int const* const p;

4 嵌入式系統相關問題

a) 對于整形(xing)變量A=0x12345678,請畫出在(zai)little endian及(ji)big endian的方式(shi)下在(zai)內(nei)存(cun)中(zhong)是如何存(cun)儲的。

b) 在ARM系統中,函(han)數調(diao)用的(de)時候(hou),參數是通過哪種方式傳遞的(de)?

c) 中斷(interrupt,如(ru)鍵盤中斷)與(yu)異(yi)常(chang)(exception,如(ru)除(chu)零異(yi)常(chang))有何區(qu)別?

5 設周(zhou)期(qi)(qi)性任務P1,P2,P3的周(zhou)期(qi)(qi)為T1,T2,T3分別(bie)為100,150,400;執(zhi)行時間分別(bie)為20,40,100。請設計一種調度(du)算法(fa)進行任務調度(du),滿足(zu)任務執(zhi)行周(zhou)期(qi)(qi)及任務周(zhou)期(qi)(qi)。

6 優先(xian)級反(fan)轉問(wen)題(ti)在嵌(qian)入(ru)式系(xi)統中是一中嚴重(zhong)的問(wen)題(ti),必須給與足夠重(zhong)視。

a) 首先(xian)請解釋優(you)先(xian)級反(fan)轉問題

b) 很多RTOS提供優先(xian)(xian)級(ji)(ji)繼(ji)承策(ce)略(Priority inheritance)和優先(xian)(xian)級(ji)(ji)天花板(ban)策(ce)略(Priority ceilings)用來解(jie)決優先(xian)(xian)級(ji)(ji)反轉問(wen)題,請討(tao)論(lun)這兩種(zhong)策(ce)略。

參考答案:

1 5

存在風險,因為(wei)c=c++%5;這(zhe)個表達式(shi)對c有兩次修(xiu)改,行(xing)為(wei)未(wei)定義,c的值(zhi)不確定

int a=0; // data section

int b; // data section

static char c; // BSS

int main(int argc,char *argv[])

{

char d=4; // stack

static short e; // BSS

a++;

b=100;

c=(char)++a;

e=(++d)++;

printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e);

return 0;

}

a=2,b=100,c=2,d=6,e=5

2 a)ISR不能返回(hui)一(yi)個值;

b)ISR不(bu)能(neng)傳遞參(can)數(shu);

c)浮(fu)點一般(ban)都是不可重入的;

d)printf函數有重入和性能上的問(wen)題。

3 a) 用volatile關鍵字定義變量,相當(dang)于告訴(su)編譯器,這個變量的值會隨時發生變化,每(mei)次使用時都(dou)需要去內(nei)存里

重新讀取它(ta)的(de)值,并不要隨意針對它(ta)作(zuo)優化(hua)。

建議使用volatile變量(liang)的場(chang)所(suo):

(1) 并行設備的硬件寄存器

(2) 一(yi)個中斷服(fu)務子程序中會訪問到的非(fei)自(zi)動變量(liang)(全局變量(liang))

(3) 多線程(cheng)應(ying)用(yong)中(zhong)被幾(ji)個任(ren)務共享的變量

b) 在函數(shu)體,一個被聲明為靜態(tai)的(de)變量在這一函數(shu)被調用過程中維持(chi)其值(zhi)不(bu)變。

在(zai)模塊內(nei)(但(dan)在(zai)函數體(ti)外),一個被聲明為靜態的變量可以被模塊內(nei)所用函數訪問,但(dan)不能被模塊外其它函數

訪(fang)問。它是一個本地的全局變量(liang)。

在模塊內(nei),一(yi)個被(bei)聲(sheng)(sheng)明(ming)(ming)為靜態的(de)函(han)數只可被(bei)這一(yi)模塊內(nei)的(de)其它(ta)函(han)數調用(yong)。那就是,這個函(han)數被(bei)限制在聲(sheng)(sheng)明(ming)(ming)它(ta)的(de)

模(mo)塊的本地范圍(wei)內使用。

static全(quan)局(ju)變量與普通的(de)全(quan)局(ju)變量有(you)什么區(qu)別:static全(quan)局(ju)變量只初使化(hua)一(yi)次,防止在其他文件單(dan)元中被引用;

static局(ju)部變量和普(pu)通局(ju)部變量有什么區別:static局(ju)部變量只(zhi)被(bei)初(chu)始化一次,下一次依(yi)據上一次結果值;

static函數與普通函數有(you)什(shen)么區別:static函數在(zai)內存中只有(you)一份,普通函數在(zai)每個被調用中維持(chi)一份拷貝

c) 一個指(zhi)向常整型數的指(zhi)針(zhen)

一個(ge)指(zhi)向整型數的常指(zhi)針

一個(ge)指向常(chang)整(zheng)型數(shu)的常(chang)指針

4

a) 0x12345678

little endian big endian 剛(gang)好反過來

高地址--〉 0x12 低(di)地址--〉 0x12

0x34 0x34

0x56 0x56

低(di)地(di)址--〉 0x78 高地(di)址--〉 0x78

b)參(can)數<=4時候,通過R0~R3傳遞,>4的通過壓棧(zhan)方(fang)式傳遞

c) 異(yi)常:在產生時(shi)必須(xu)(xu)考慮與處理(li)器的時(shi)鐘同步,實(shi)踐上,異(yi)常也稱為同步中(zhong)斷。在處理(li)器執(zhi)行到由于編程失誤而導(dao)致(zhi)的錯誤指令時(shi),或者在執(zhi)行期間出現特(te)殊情況(如缺頁),必須(xu)(xu)靠(kao)內核處理(li)的時(shi)候(hou),處理(li)器就會產生一(yi)個異(yi)常。

所謂中(zhong)(zhong)斷應(ying)該是指外部硬件產生的一個(ge)電信(xin)號,從cpu的中(zhong)(zhong)斷引腳進入,打斷cpu當前的運行;

所謂異常(chang),是指軟件運(yun)行中發生了一些必須作出處理的事件,cpu自動(dong)產生一個陷(xian)入(ru)來打斷當前運(yun)行,轉入(ru)異常(chang)處理流(liu)程。

異步與同步的(de)區別`

5

6 高優(you)先級(ji)(ji)任務(wu)(wu)需要等(deng)待(dai)低(di)優(you)先級(ji)(ji)任務(wu)(wu)釋(shi)放資源(yuan),而低(di)優(you)先級(ji)(ji)任務(wu)(wu)又正在等(deng)待(dai)中等(deng)優(you)先級(ji)(ji)任務(wu)(wu)的現象(xiang)叫(jiao)做(zuo)優(you)先級(ji)(ji)反轉

優(you)先級(ji)繼(ji)(ji)承(cheng)(cheng)策(ce)略(Priority inheritance):繼(ji)(ji)承(cheng)(cheng)現有被阻塞任務(wu)的最(zui)高優(you)先級(ji)作為其優(you)先級(ji),任務(wu)退(tui)出臨(lin)界(jie)區,恢

復初始優先級。

優(you)先(xian)級(ji)天花板策略(lve)(Priority ceilings):控制訪(fang)問臨界資源的(de)信號(hao)量的(de)優(you)先(xian)級(ji)天花板。

優先級(ji)繼承(cheng)策略(lve)對任務(wu)(wu)執(zhi)行(xing)流程的影響(xiang)相對教小,因(yin)為只有當高優先級(ji)任務(wu)(wu)申請已(yi)被低優先級(ji)任務(wu)(wu)占(zhan)有的臨界資源

這(zhe)一事實發生時,才抬升(sheng)低優先級任務(wu)的優先

上一篇:嵌入式ARM面試題,找工作必看

下一篇:重慶博澳特C語言經典筆試題

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

回到頂部