最近小猿圈加加整理出一套關(guān)于嵌入式的面試題,嵌入式的前景還是相當(dāng)不錯(cuò)的,面對找工作的朋友們,在面試之前,最好做做面試題,不打沒把握的仗,如果做得時(shí)候針對哪一部分有問題,可以去小猿圈好好學(xué)習(xí)一下這部分的內(nèi)容。
一、填空題
1、c語言中,下列運(yùn)算符優(yōu)先級高的是( a )
? ? ? A、!? ? ? ? ? ? B、%? ? ? ? ? ? C、>>? ? ? ? ? D、==
2、執(zhí)行語句"k=7>>1"后,變量k的當(dāng)前值是(? c? )
? ? ? A、15? ? ? ? ? B、31? ? ? ? ? C、3? ? ? ? D、1
3、定義函數(shù)時(shí),缺省函數(shù)的類型聲明,則函數(shù)類型取缺省類型( d )
? ? ? A、void? ? ? ? ? B、char? ? ? ? ? C、float? ? ? ? D、int
4、下列各個(gè)錯(cuò)誤中,哪一個(gè)不屬于編譯錯(cuò)誤?( a )
? ? ? A.改變?x?原值?3?為?5?,寫作“?x==5?;”
? ? ?B.花括號不配對
? ? ? C.復(fù)合語句中的后一條語句后未加分號
? ? ? D.變量有引用、無定義
5、下列程序段運(yùn)行后,?x?的值是(?a)
? ? ?a=1;b=2;x=0;
? ? ? if(!(?—?a))x?—?;
? ? ? if(!b)x=7;
? ? ? else?++x;
? ? ? A.0?? ? ? ? ? ? ? ? B.3? ? ? ?? ? ? ? ? ? C.6?? ? ? ? ? ? ? D.7
二、解答題
1、有1-10000個(gè)連續(xù)的整數(shù),現(xiàn)從中刪除兩個(gè)數(shù)然后打亂,如何快速的找到刪除的這兩個(gè)數(shù)是什么?
----使用二分法,把>5000的數(shù)分一組,計(jì)算是否有5000個(gè)數(shù),如果沒有取中間數(shù)接著劃分比較,如果有則在1-5000中繼續(xù)取中計(jì)算大小是否有相應(yīng)的大小,可以很快的找到這兩個(gè)數(shù)。
2、有粗細(xì)不同的繩子,假設(shè)每根繩子燒完的時(shí)間都是一個(gè)小時(shí),至少需要幾根繩子才能計(jì)算45分鐘?(只允許做點(diǎn)燃操作)
? ? 兩根
? ? 將1號兩頭同時(shí)點(diǎn)燃同時(shí)把2號一頭點(diǎn)燃,當(dāng)1號燒完時(shí)點(diǎn)燃2號的另一頭,等2號燒完就是45分鐘。
3、給定一個(gè)整型變量a,寫兩段代碼,第一個(gè)設(shè)置a的bit3,第二個(gè)清除a的bit,在以上兩個(gè)操作中,要保持其它位不變。
? ? define BIT3 (0x1<<3)
static int a;
void set_bit3(void)
{
a |= BIT3;
}
void clear_bit3(void)
{
a &= ~BIT3;
}
4、int main()
{
? int j=2;
? int i=1;
? if(i = 1) j=3;
? if(i = 2) j=5;
? printf("%d",j);
}
輸出為5;如果再加上if(i=3)j=6;則輸出6。
5、字符串倒序
? ? inverted_order(char *p)
? {
? char *s1,*s2,tem;
? s1=p;
? s2=s1+strlen(p)-1;
? while(s1<s2)
? {
? ? tem=*s1;
? ? *s1=*s2;
? ? *s2=tem;
? ? s1++;
? ? s2--;
? }
? }
以上就是小編在網(wǎng)上做了很多面試題后,總結(jié)出來的經(jīng)典嵌入式面試題,如果你正在面臨找工作,恰好你也看到了小編的面試題,那一定要好好做一遍,針對哪一塊有問題,可以來小猿圈探索一下,望你做好的準(zhǔn)備去迎接面試,祝面試成功!