2017嵌入式工程師筆試面試題目

嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編整理的關於嵌入式工程師筆試面試題目,希望大家認真閱讀!

2017嵌入式工程師筆試面試題目

  一.1、簡答題。下面的題目必須全部答對纔給分(20分):

1、如何在C中初始化一個字符數組。

2、如何在C中爲一個數組分配空間。

3、如何初始化一個指針數組。

4、如何定義一個有10個元素的整數型指針數組。

5、s[10]的另外一種表達方式是什麼。

6、GCC3.2.2版本中支持哪幾種編程語言。

7、要使用CHAR_BIT需要包含哪個頭文件。

8、對(-1.2345)取整是多少?

9、如何讓局部變量具有全局生命期。

10、C中的常量字符串應在何時定義?

11、如何在兩個.c文件中引用對方的變量。

12、使用malloc之前需要做什麼準備工作。

13、realloc函數在使用上要注意什麼問題。

14、strtok函數在使用上要注意什麼問題。

15、gets函數在使用上要注意什麼問題。

16、C語言的詞法分析在長度規則方面採用的是什麼策略?

17、a+++++b所表示的是什麼意思?有什麼問題?

18、如何定義Bool變量的TRUE和FALSE的值。

19、C語言的const的含義是什麼。在定義常量時,爲什麼推薦使用const,而不是#define。

20、C語言的volatile的含義是什麼。使用時會對編譯器有什麼暗示。

  一.2、問答題。

1、———————————————————–

“匈牙利命名法”有什麼優缺點?(2分)

2、———————————————————–

下面x,y,*p的值是多少,有什麼問題?(2分)

intx,y,z=2;

int*p=&z;

x=sizeof*p;

y=x/*p;/*x=?,*p=?,y=?,有什麼問題?*/

3、———————————————————–

下面的語句是什麼意思?如何聲明或定義才使它們更易懂?(10分)

int(*foo())();

int(*foo())[];

int(*foo[])();

(*(void(*)())0)();

void(*signal(int,void(*)(int)))(int);

4、———————————————————–

本題(2分)。一般使用malloc時,需要進行強制類型轉換,如:

char*s;s=(char*)malloc(31);

下面中???該如何填寫,纔可以正確執行強制類型轉換?

int(*monthp)[31];monthp=(???)malloc(31);

5、———————————————————–

關於C語言運算符優先級的記憶技巧是什麼?(2分)

/*下面r的值是多少*/

inthi,low,r;

hi=7;low=3;

r=hi<<4+low;

6、———————————————————–

指針和數組的區別是什麼?用一個簡單的.聲明把它們區分開。(2分)

指針和數組的聲明在什麼情況下是相同的?(2分)

7、———————————————————–

C語言的左值(lvalue)和右值(rvalue)的含義是什麼?(2分)

8、———————————————————–

爲什麼C語言可以實現printf(char*format,…)這樣可變參數的調用形式?這樣有什

麼缺點?(2分)

9、———————————————————–

說明C語言中術語”聲明”"定義”"原型”的含義?(2分)

10、———————————————————–

舉一個例子,說明使用assert和防錯代碼的區別。(5分)

11、———————————————————–

對語句ifelse與操作符?:使用場合的比較。(2分)

12、編寫一個函數,輸入一個的整型數字,可以選擇按照8/10/16進制輸出字符串。

注意邊界值。(5分)