當前位置:才華齋>IT認證>嵌入式>

2017年嵌入式軟體面試題

嵌入式 閱讀(5.02K)

嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。那麼關於嵌入式工程師考試你知道多少呢?下面跟yjbys小編一起來看看吧!

2017年嵌入式軟體面試題

1、請寫出你所知道的C語言關鍵字。

auto :宣告自動變數

switch :用於開關語句

case:開關語句分支

break:跳出當前迴圈

default:開關語句中的“其它”分支

continue:結束當前迴圈,開始下一輪迴圈

goto:無條件跳轉語句

do :迴圈語句的迴圈體

while :迴圈語句的迴圈條件

if:條件語句

else :條件語句否定分支(與 if 連用)

enum :宣告列舉型別

union:宣告共用資料型別

extern:宣告變數是在其它檔案中宣告

for:一種迴圈語句

register:宣告暫存器變數

return :子程式返回語句(可以帶引數,也可不帶引數)迴圈條件

sizeof:計算資料型別長度

static :宣告靜態變數

struct:宣告結構體變數或函式

typedef:用以給資料型別取別名

unsigned:宣告無符號型別變數或函式

void :宣告函式無返回值或無引數,宣告無型別指標

volatile:說明變數在程式執行中可被隱含地改變

short :宣告短整型變數或函式

signed:宣告有符號型別變數或函式

char :宣告字元型變數或函式

float:宣告浮點型變數或函式

int: 宣告整型變數或函式

long :宣告長整型變數或函式

const :宣告只讀變數

double :宣告雙精度變數或函式

2、IPv4把所有的IP地址分為A、B、C、D、E五類。請寫出B類地址和C類地址的範圍和掩碼,D類地址的用途是什麼?

分類 字首碼 開始地址 結束地址 對應CIDR修飾 預設子網掩碼

A類地址 0 /8

B類地址 10 /16

C類地址 110 /24

D類地址 (群播) 1110 /4 未定義

E類地址 (保留) 1111 /4 未定義

3、請簡述在linux中多程序程式和多執行緒程式的區別。

4、列出目前linux系統能支援的檔案系統,列舉常用的四個以上。

Ext3 ext4 jffs2 yffs2 ubifs cramfs

5、寫一個“標準”巨集MIN,這個巨集輸入兩個引數並返回較小的一個?

#define MIN(a, b) ( (a) <= (b) : (a) ? (b) )

6、什麼是MMU,MMU的作用?

MMU是Memory Management Unit的縮寫,負責虛擬地址到實體地址的轉換,提供硬體機制的記憶體訪問授權。

7、關鍵字volatile有什麼含義,並給出幾個應用場合。

1. 定義的變數應該是異變的,防止編譯器優化,使得程式直接存取原始記憶體地址。

2. 中斷服務程式中修改的供其它程式檢測的'變數需要加volatile。

3. 多工環境下各任務間共享的標誌應該加volatile。

4. 儲存器對映的硬體暫存器通常也要加voliate,因為每次對它的讀寫都可能有不同意義。

5. 頻繁地使用volatile很可能會增加程式碼尺寸和降低效能。

8、雙向連結串列操作題:

/*節點定義*/

typedef srruct node

{

struct node *next;

struct node *previous;

}NODE;

/*連結串列定義*/

typedef struct

{

NODE node;

int count;

} LIST;

#define HEAD

#define TALL ious

/*初始化一個連結串列*/

void lstInit (LIST *pList)

{

pPlist->HEAD=NULL;

pPlist->TALL=NULL;

pPlist->count=0;

}

請編寫函式把一個節點(pNode)插入連結串列pList中某個節點(pPrev)之後。

9、請寫出strcpy 和 memcpy 的區別

1、strcpy和memcpy都是標準C庫函式。

2、strcpy提供了字串的複製。即strcpy只用於字串複製,並且它不僅複製字串內容之外,還會複製字串的結束符。

3、strcpy函式的原型是:char* strcpy(char* dest, const char* src);

4、memcpy提供了一般記憶體的複製。即memcpy對於需要複製的內容沒有限制,因此用途更廣。

5、memcpy函式的原型是:void *memcpy( void *dest, const void *src, size_t count );

strcpy和memcpy主要有以下3方面的區別。

5.1、複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列、整型、結構體、類等。

5.2、複製的方法不同。strcpy不需要指定長度,它遇到被複制字元的串結束符"