最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

嵌入式C語言面試題剖析(4/100)

2020-08-24 14:42 作者:韋東山  | 我要投稿


問一:

下面的代碼輸出是什么,為什么?

void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ? puts(“> 6”) : puts(“<= 6”);
}


答一:

這個問題測試你是否懂得C語言中的整數(shù)自動轉(zhuǎn)換原則,我發(fā)現(xiàn)有些開發(fā)者對這些東西懂得極少,不管如何,這無符號整型問題的答案是輸出是 “>6”。原因是當表達式中存在有符號類型和無符號類型時所有的操作數(shù)都自動轉(zhuǎn)換為無符號類型。因此-20變成了一個非常大的正整數(shù),所以該表達式計算出的結(jié)果大于6。 這一點對于應當頻繁用到無符號數(shù)據(jù)類型的嵌入式系統(tǒng)來說是豐常重要的。如果你答錯了這個問題,也就得不到這份工作。



問二:

簡述memcpy和strcpy的區(qū)別?


答二:

(1)、復制的內(nèi)容不同。strcpy只能復制字符串,而memcpy可以復制任意內(nèi)容,例如字符數(shù)組、整型、結(jié)構(gòu)體、類等。
(2)、復制的方法不同。strcpy不需要指定長度,它遇到被復制字符的串結(jié)束符”\0”才結(jié)束,所以容易溢出。memcpy則是根據(jù)其第3個參數(shù)決定復制的長度。
(3)、用途不同。通常在復制字符串時用strcpy,而需要復制其他類型數(shù)據(jù)時則一般用memcpy


問三:

信號量與互斥鎖的區(qū)別?


答三:

(1)、互斥量用于線程的互斥,信號量用于線程的同步?;コ猓菏侵改骋毁Y源同時只允許一個訪問者對其進行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。
同步:是指在互斥的基礎上(大多數(shù)情況),通過其它機制實現(xiàn)訪問者對資源的有序訪問。在大多數(shù)情況下,同步已經(jīng)實現(xiàn)了互斥,特別是所有寫入資源的情況必定是互斥的。少數(shù)情況是指可以允許多個訪問者同時訪問資源。

(2)、互斥量值只能為0/1,信號量值可以為非負整數(shù)。也就是說,一個互斥量只能用于一個資源的互斥訪問,它不能實現(xiàn)多個資源的多線程互斥問題。信號量可以實現(xiàn)多個同類資源的多線程互斥和同步。當信號量為單值信號量是,也可以完成一個資源的互斥訪問。

(3)、互斥量的加鎖和解鎖必須由同一線程分別對應使用,信號量可以由一個線程釋放,另一個線程得到。



問四:

簡述程序編譯的過程?


答四:

預處理:預處理相當于根據(jù)預處理命令組裝成新的C程序,不過常以i為擴展名。

編譯:?將得到的i文件翻譯成匯編代碼.s文件。

匯編:將匯編文件翻譯成機器指令,并打包成可重定位目標程序的O文件。該文件是二進制文件。

鏈接:將引用的其他O文件并入到我們程序所在的o文件中,處理得到最終的可執(zhí)行文件。


嵌入式C語言面試題剖析(4/100)的評論 (共 條)

分享到微博請遵守國家法律
双牌县| 永定县| 简阳市| 天气| 白朗县| 芜湖县| 合阳县| 无为县| 辽中县| 黄梅县| 三穗县| 彰化县| 上林县| 乌兰浩特市| 白沙| 青岛市| 上栗县| 连平县| 宜良县| 神农架林区| 新乡县| 扎赉特旗| 札达县| 云南省| 内黄县| 池州市| 邢台市| 子洲县| 绥芬河市| 岚皋县| 安徽省| 保靖县| 定兴县| 绥江县| 普兰店市| 尚义县| 黔南| 辽源市| 兰坪| 亳州市| 顺义区|