gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式招聘 > 嵌入式面試題 > 嵌入式C語(yǔ)言經(jīng)典面試題匯總

嵌入式C語(yǔ)言經(jīng)典面試題匯總 時(shí)間:2018-07-31      來(lái)源:未知

嵌入式C語(yǔ)言面試題在面試中是特別常見的了,因?yàn)榍度胧降幕A(chǔ)就是C語(yǔ)言,很多人在面試時(shí),總會(huì)在C語(yǔ)言這個(gè)地方磕磕絆絆一下,而導(dǎo)致失去了進(jìn)入公司的權(quán)利,下面是我去的幾家公司面試時(shí),C語(yǔ)言面試題的總結(jié),比較全。

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

A.1

B.4

C.100

D.400

2、在一個(gè)10階的B-樹上,每個(gè)樹根結(jié)點(diǎn)中所含的關(guān)鍵字?jǐn)?shù)目多允許為( )個(gè),少允許為( )個(gè)。

A.10,5

B.9,4

C.8,3

D.7,6

3、以下程序段執(zhí)行后結(jié)果是()

#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)靜態(tài)鏈表既有順序存儲(chǔ)的優(yōu)點(diǎn),又有動(dòng)態(tài)鏈表的優(yōu)點(diǎn)。所以,它存取表中第i個(gè)元素的時(shí)間與i無(wú)關(guān)。

(2)靜態(tài)鏈表中能容納的元素個(gè)數(shù)的大數(shù)在表定義時(shí)就確定了,以后不能增加.

(3)靜態(tài)鏈表與動(dòng)態(tài)鏈表在元素的插入、刪除上類似,不需做元素的移動(dòng)。

以上錯(cuò)誤的是()

A.(1),(2)

B.(1)

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

D.(2)

相關(guān)答案:1~4:BBDB

相關(guān)大題總結(jié):

1. 讀程序段,回答問(wèn)題

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

{

int c=9,d=0;

c=c++%5;

d=c;

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

return 0;

}

a) 寫出程序輸出

b) 在一個(gè)可移植的系統(tǒng)中這種表達(dá)式是否存在風(fēng)險(xiǎn)?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) 寫出程序輸出

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

2 中斷是嵌入式系統(tǒng)中重要的組成部分,這導(dǎo)致了許多編譯開發(fā)商提供一種擴(kuò)展:讓標(biāo)準(zhǔn)C支持中斷,產(chǎn)生了一個(gè)新的關(guān)鍵字__interrupt。下面的代碼就使用了__interrupt關(guān)鍵字去定義了一個(gè)中斷服務(wù)子程序(ISR),請(qǐng)?jiān)u論以下這段代碼。

__interrupt double compute_area(double radius)

{

double area = PI * radius *radius;

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

return area;

}

3 C/C++基礎(chǔ)知識(shí)問(wèn)題

a) 關(guān)鍵字volatile在編譯時(shí)有什么含義?并給出三個(gè)不同使用場(chǎng)景的例子(可以偽代碼或者文字描述)。

b) C語(yǔ)言中static關(guān)鍵字的具體作用有哪些 ?

c) 請(qǐng)問(wèn)下面三種變量聲明有何區(qū)別?請(qǐng)給出具體含義

int const *p;

int* const p;

int const* const p;

4 嵌入式系統(tǒng)相關(guān)問(wèn)題

a) 對(duì)于整形變量A=0x12345678,請(qǐng)畫出在little endian及big endian的方式下在內(nèi)存中是如何存儲(chǔ)的。

b) 在ARM系統(tǒng)中,函數(shù)調(diào)用的時(shí)候,參數(shù)是通過(guò)哪種方式傳遞的?

c) 中斷(interrupt,如鍵盤中斷)與異常(exception,如除零異常)有何區(qū)別?

5 設(shè)周期性任務(wù)P1,P2,P3的周期為T1,T2,T3分別為100,150,400;執(zhí)行時(shí)間分別為20,40,100。請(qǐng)?jiān)O(shè)計(jì)一種調(diào)度算法進(jìn)行任務(wù)調(diào)度,滿足任務(wù)執(zhí)行周期及任務(wù)周期。

6 優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題在嵌入式系統(tǒng)中是一中嚴(yán)重的問(wèn)題,必須給與足夠重視。

a) 首先請(qǐng)解釋優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題

b) 很多RTOS提供優(yōu)先級(jí)繼承策略(Priority inheritance)和優(yōu)先級(jí)天花板策略(Priority ceilings)用來(lái)解決優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題,請(qǐng)討論這兩種策略。

參考答案:

1 5

存在風(fēng)險(xiǎn),因?yàn)閏=c++%5;這個(gè)表達(dá)式對(duì)c有兩次修改,行為未定義,c的值不確定

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不能返回一個(gè)值;

b)ISR不能傳遞參數(shù);

c)浮點(diǎn)一般都是不可重入的;

d)printf函數(shù)有重入和性能上的問(wèn)題。

3 a) 用volatile關(guān)鍵字定義變量,相當(dāng)于告訴編譯器,這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用時(shí)都需要去內(nèi)存里

重新讀取它的值,并不要隨意針對(duì)它作優(yōu)化。

建議使用volatile變量的場(chǎng)所:

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

(2) 一個(gè)中斷服務(wù)子程序中會(huì)訪問(wèn)到的非自動(dòng)變量(全局變量)

(3) 多線程應(yīng)用中被幾個(gè)任務(wù)共享的變量

b) 在函數(shù)體,一個(gè)被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過(guò)程中維持其值不變。

在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問(wèn),但不能被模塊外其它函數(shù)

訪問(wèn)。它是一個(gè)本地的全局變量。

在模塊內(nèi),一個(gè)被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個(gè)函數(shù)被限制在聲明它的

模塊的本地范圍內(nèi)使用。

static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;

static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據(jù)上一次結(jié)果值;

static函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內(nèi)存中只有一份,普通函數(shù)在每個(gè)被調(diào)用中維持一份拷貝

c) 一個(gè)指向常整型數(shù)的指針

一個(gè)指向整型數(shù)的常指針

一個(gè)指向常整型數(shù)的常指針

4

a) 0x12345678

little endian big endian 剛好反過(guò)來(lái)

高地址--〉 0x12 低地址--〉 0x12

0x34 0x34

0x56 0x56

低地址--〉 0x78 高地址--〉 0x78

b)參數(shù)<=4時(shí)候,通過(guò)R0~R3傳遞,>4的通過(guò)壓棧方式傳遞

c) 異常:在產(chǎn)生時(shí)必須考慮與處理器的時(shí)鐘同步,實(shí)踐上,異常也稱為同步中斷。在處理器執(zhí)行到由于編程失誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊情況(如缺頁(yè)),必須靠?jī)?nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常。

所謂中斷應(yīng)該是指外部硬件產(chǎn)生的一個(gè)電信號(hào),從cpu的中斷引腳進(jìn)入,打斷cpu當(dāng)前的運(yùn)行;

所謂異常,是指軟件運(yùn)行中發(fā)生了一些必須作出處理的事件,cpu自動(dòng)產(chǎn)生一個(gè)陷入來(lái)打斷當(dāng)前運(yùn)行,轉(zhuǎn)入異常處理流程。

異步與同步的區(qū)別`

5

6 高優(yōu)先級(jí)任務(wù)需要等待低優(yōu)先級(jí)任務(wù)釋放資源,而低優(yōu)先級(jí)任務(wù)又正在等待中等優(yōu)先級(jí)任務(wù)的現(xiàn)象叫做優(yōu)先級(jí)反轉(zhuǎn)

優(yōu)先級(jí)繼承策略(Priority inheritance):繼承現(xiàn)有被阻塞任務(wù)的最高優(yōu)先級(jí)作為其優(yōu)先級(jí),任務(wù)退出臨界區(qū),恢

復(fù)初始優(yōu)先級(jí)。

優(yōu)先級(jí)天花板策略(Priority ceilings):控制訪問(wèn)臨界資源的信號(hào)量的優(yōu)先級(jí)天花板。

優(yōu)先級(jí)繼承策略對(duì)任務(wù)執(zhí)行流程的影響相對(duì)教小,因?yàn)橹挥挟?dāng)高優(yōu)先級(jí)任務(wù)申請(qǐng)已被低優(yōu)先級(jí)任務(wù)占有的臨界資源

這一事實(shí)發(fā)生時(shí),才抬升低優(yōu)先級(jí)任務(wù)的優(yōu)先

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

下一篇:重慶博澳特C語(yǔ)言經(jīng)典筆試題

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部