91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談嵌入式軟件開發(fā)經典面試題

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-20 14:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面 Ⅰ

嵌入式軟件開發(fā)的面試中,遇到筆試的機率非常大。一般來說,筆試的題目不會太難,但牽涉的知識面比較廣。

若你年底有找工作的計劃,有必要找一些筆試題看看,這樣能讓你從題目中掌握并學到很多知識。

話不多說,請直接看下面內容。以下大部分內容來自網絡,由我精心裁剪、整理并排版,方便大家業(yè)余用手機回顧知識。

經典筆試題 Ⅱ

1.用#define聲明一個常數,表明1年中有多少秒(忽略閏年問題)?

答案:#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

要點:

A.沒有以分號結束;

B.懂得預處理器將為你計算常數表達式的值。即60 * 60 * 24 * 365而不是31536000.

C.考慮到了16位機將會溢出,巧妙運用了UL。

2.寫一個“標準”宏MIN,這個宏輸入兩個參數并返回較小的一個?

答案:#define MIN(A,B) ((A) <= (B) ? (A) : (B))

要點:

A.參數用括號括起來;

B.考察能否合理運用條件運算符;

3.Heap與Stack的差別?

答案:Heap是堆,Stack是棧。

Stack的空間由系統(tǒng)自動分配/釋放,Heap上的空間手動分配/釋放。

Stack空間有限,Heap是很大的自由存儲區(qū),malloc函數分配的內存空間即在堆上。

網上經典例子:

int a = 0; //全局初始化區(qū)

char *p1;//全局未初始化區(qū)

void main(void)

{

int b; //棧

char s[] = "abc"; //棧

char *p2; //棧

char *p3 = "123456"; //123456\0在常量區(qū),p3在棧上

static int c =0; //全局(靜態(tài))初始化區(qū)

p1 = (char *)malloc(10); //堆

p2 = (char *)malloc(20); //堆

}

4.用變量a給出下面的定義

A.一個整型數?

答案:int a;

B.一個指向整型數的指針?

答案:int *a;

C.一個指向指針的的指針,它指向的指針是指向一個整型數?

答案:int **a;

D.一個有10個整型數的數組?

答案:int a[10];

E.一個有10個指針的數組,該指針是指向一個整型數的?

答案:int *a[10];

F.一個指向有10個整型數數組的指針?

答案:int (*a)[10];

G.一個指向函數的指針,該函數有一個整型參數并返回一個整型數?

答案:int (*a)(int);

H.一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數?

答案:int (*a[10])(int);

5.關鍵字static的作用是什么?

A.在函數體,一個被聲明為靜態(tài)的變量在這一函數被調用過程中維持其值不變;

B.在模塊內(但在函數體外),一個被聲明為靜態(tài)的變量可以被模塊內所用函數訪問,但不能被模塊外其它函數訪問。它是一個本地的局變量;

C.在模塊內,一個被聲明為靜態(tài)的函數只可被這一模塊內的其它函數調用。那就是,這個函數被限制在聲明它的模塊的本地范圍內使用;

6.關鍵字const有什么含意?

答案:const意味著"只讀"。

如果回答"const意味著常數",面試官會覺得你只是一個業(yè)余的人。

7.下面的聲明都是什么意思?

const inta;

int consta;

const int*a;

int* consta;

int const* a const;

答案:

A.前兩個的作用是一樣,a是一個常整型數;

B.第三個意味著a是一個指向常整型數的指針(也就是,整型數是不可修改的,但指針可以);

C.第四個意思a是一個指向整型 數的常指針(也就是說,指針指向的整型數是可以修改的,但指針是不可修改的);

D.最后一個意味著a是一個指向常整型數的常指針(也就是說,指針指向的整型數 是不可修改的,同時指針也是不可修改的)。

8.關鍵字volatile有什么含意?

答案:一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優(yōu)化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。

9.sizeof和strlen的區(qū)別?

答案:sizeof是運算符,在編譯時即計算好了; 而strlen是函數,要在運行時才能計算。

10.在某工程中,要求設置一絕對地址為0x67a9的整型變量的值為0xaa66。編譯器是一個純粹的ANSI編譯器。寫代碼去完成這一任務?

答案:

int*p;

p = (int*)0x67a9;

*p = 0xaa66;

11.給定一個整型變量a,寫兩段代碼,第一個設置a的bit 3,第二個清除a 的bit 3。在以上兩個操作中,要保持其它位不變?

答案:

#define BIT3 (0x1 << 3)

static int a;

void set_bit3(void)

{

a |= BIT3;

}

void clear_bit3(void)

{

a &= ~BIT3;

}

12.下面函數錯誤嗎?

int square(volatile int *ptr)

{

return *ptr * *ptr;

}

答案:錯誤;

正確寫法:

long square(volatile int *ptr)

{

int a;

a = *ptr;

return a * a;

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334113
  • 軟件開發(fā)

    關注

    0

    文章

    707

    瀏覽量

    30092
  • define
    +關注

    關注

    0

    文章

    16

    瀏覽量

    4129
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式軟件開發(fā)工具市場新動向:訂閱制趨勢下的中國開發(fā)者選擇

    面對軟件業(yè)從永久授權模式廣泛轉向訂閱制的行業(yè)趨勢,作為行業(yè)兩大主流嵌入式軟件開發(fā)工具,即Keil MDK與IAR Embedded Workbench也推出了不同的市場策略,正在為中國開發(fā)
    的頭像 發(fā)表于 01-30 17:20 ?742次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>工具市場新動向:訂閱制趨勢下的中國<b class='flag-5'>開發(fā)</b>者選擇

    嵌入式驅動開發(fā),需要掌握哪些技能?

    單元測試、集成測試、系統(tǒng)測試等,并學會使用調試工具進行問題排查。 6、 其他嵌入式驅動開發(fā),實質也是軟件開發(fā),還需要掌握開發(fā)文檔的編輯、軟件
    發(fā)表于 01-20 16:46

    什么是嵌入式應用開發(fā)?

    概述 所謂的嵌入式應用開發(fā)就是在嵌入式操作系統(tǒng)下進行開發(fā)、軟硬件綜合開發(fā) ?嵌入式應用
    發(fā)表于 01-12 16:13

    C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應用

    功能包括: 測試通過/失敗統(tǒng)計 代碼覆蓋率可視化 執(zhí)行時間分析 缺陷跟蹤和報告生成 winAMS的圖形化界面可以直觀展示測試結果和覆蓋率數據。 七、總結與展望 C語言單元測試在嵌入式軟件開發(fā)中具有不可
    發(fā)表于 12-18 11:46

    CW32嵌入式軟件開發(fā)的必備知識

    嵌入式軟件開發(fā)作為計算機科學和電子工程的交叉領域,要求開發(fā)人員具備一系列的專業(yè)知識和技能。 而基于CW32的嵌入式軟件開發(fā)必備知識包括以下
    發(fā)表于 11-28 07:48

    嵌入式與FPGA的區(qū)別

    ,一是嵌入式軟件開發(fā),主要與嵌入式cao作系統(tǒng)、應用軟件等有關。第二是嵌入式硬件開發(fā),需要掌握硬
    發(fā)表于 11-20 07:12

    人工智能工程師高頻面試題匯總:循環(huán)神經網絡篇(題目+答案)

    后臺私信雯雯老師,備注:循環(huán)神經網絡,領取更多相關面試題隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以
    的頭像 發(fā)表于 10-17 16:36 ?708次閱讀
    人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:循環(huán)神經網絡篇(題目+答案)

    RT-Thread 2025嵌入式軟件大賽重磅來襲

    為激發(fā)開發(fā)者潛能、促進技術交流,RT-Thread 正式啟動2025年度嵌入式軟件大賽! 本賽道為嵌入式軟件大賽,聚焦
    的頭像 發(fā)表于 09-22 16:40 ?3515次閱讀
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>大賽重磅來襲

    新一代嵌入式開發(fā)平臺 AMD嵌入式軟件和工具2025.1版現已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺,全面加速概念構想到部署落地。 2025.1 版嵌入式
    的頭像 發(fā)表于 08-20 09:15 ?3984次閱讀

    AMD 2025.1版嵌入式軟件和工具的新增功能

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺,全面加速概念構想到部署落地。
    的頭像 發(fā)表于 08-15 15:32 ?1274次閱讀

    2025“芯原杯”全國嵌入式軟件開發(fā)大賽圓滿落幕

    此前,2025年7月20日至26日,第四屆“芯原杯”全國嵌入式軟件開發(fā)大賽決賽在??诔晒εe辦。
    的頭像 發(fā)表于 08-06 09:51 ?1342次閱讀

    嵌入式軟件開發(fā)常用的軟件有哪些?

    對于初學嵌入式的朋友們,會想要了解嵌入式軟件開發(fā)常用的軟件有些,有什么用。那么看以下常用的軟件介紹。 1.Visual Studio Cod
    發(fā)表于 07-03 17:06

    如何成為一名嵌入式軟件工程師?

    、Java等)和軟件開發(fā)工具,還需要對硬件的工作原理有深入的理解。 在團隊中,嵌入式軟件工程師往往扮演著核心角色,他們的工作直接關系到產品的性能、穩(wěn)定性和用戶體驗。 02掌握核心技能與知識
    發(fā)表于 04-15 14:37

    嵌入式系統(tǒng)開發(fā)圣經【干貨】

    內容包括:嵌入式系統(tǒng)的介紹、嵌入式SoC硬件系統(tǒng)概論、嵌入式系統(tǒng)軟件開發(fā)。適用于產品主管、系統(tǒng)設計分析人員及欲進入該領域的工程師。本資料詳細的理論講解,廣泛深入地分析相關的
    發(fā)表于 03-12 13:58

    IAR發(fā)布云端平臺,助力現代嵌入式軟件開發(fā)團隊

    該平臺為嵌入式軟件開發(fā)人員提供前所未有的自由度與靈活性,助力開發(fā)團隊在工具選擇和日常工作流中實現更高效的協(xié)作與創(chuàng)新。
    的頭像 發(fā)表于 03-12 11:56 ?814次閱讀