色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式招聘 > 嵌入式面試題 > 千家公司嵌入式面試題,都是比較常見的

千家公司嵌入式面試題,都是比較常見的 時間:2018-08-10      來源:未知

關鍵字static的作用是什么?

這個簡單的問題很少有人能回答完全。在C語言中,關鍵字static有三個明顯的作用:

1). 在函數體,一個被聲明為靜態的變量在這一函數被調用過程中維持其值不變。

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

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

--------------------------------------------------------------------------

Const

關鍵字const是什么含意?

我只要一聽到被面試者說:“const意味著常數”,我就知道我正在和一個業余者打交道。去年Dan Saks已經在他的文章里完全概括了const的所有用法,因此ESP(譯者:Embedded Systems Programming)的每一位讀者應該非常熟悉const能做什么和不能做什么.

如果你從沒有讀到那篇文章,只要能說出const意味著“只讀”就可以了。盡管這個答案不是完全的答案,但我接受它作為一個正確的答案。(如果你想知道更詳細的答案,仔細讀一下Saks的文章吧。)如果應試者能正確回答這個問題,我將問他一個附加的問題:下面的聲明都是什么意思?

Const int a;

int const a;

const int *a;

int * const a;

int const * a const;

前兩個的作用是一樣,a是一個常整型數。第三個意味著a是一個指向常整型數的指針(也就是,整型數是不可修改的,但指針可以)。第四個意思a是一個指向整型數的常指針(也就是說,指針指向的整型數是可以修改的,但指針是不可修改的)。最后一個意味著a是一個指向常整型數的常指針(也就是說,指針指向的整型數是不可修改的,同時指針也是不可修改的)。如果應試者能正確回答這些問題,那么他就給我留下了一個好印象。順帶提一句,也許你可能會問,即使不用關鍵字const,也還是能很容易寫出功能正確的程序,那么我為什么還要如此看重關鍵字const呢?我也如下的幾下理由:

1). 關鍵字const的作用是為給讀你代碼的人傳達非常有用的信息,實際上,聲明一個參數為常量是為了告訴了用戶這個參數的應用目的。如果你曾花很多時間清理其它人留下的垃圾,你就會很快學會感謝這點多余的信息。(當然,懂得用const的程序員很少會留下的垃圾讓別人來清理的。)

2). 通過給優化器一些附加的信息,使用關鍵字const也許能產生更緊湊的代碼。

3). 合理地使用關鍵字const可以使編譯器很自然地保護那些不希望被改變的參數,防止其被無意的代碼修改。簡而言之,這樣可以減少bug的出現。

----------------------------------------------------------

main()

{

int a[5]={1,2,3,4,5};

int *ptr=(int *)(&a+1); //ptr實際是&(a[5]),也就是a+5

printf("%d,%d",*(a+1),*(ptr-1));

}

輸出:2,5

------------------------------------------------------------------------

編寫strcat函數(6分)

已知strcat函數的原型是char *strcat (char *strDest, const char *strSrc);

其中strDest 是目的字符串,strSrc 是源字符串。

(1)不調用C++/C 的字符串庫函數,請編寫函數 strcat

答:

VC源碼:

char * __cdecl strcat (char * dst, const char * src)

{

char * cp = dst;

while( *cp )

cp++; /* find end of dst */

while( *cp++ = *src++ ) ; /* Copy src to end of dst */

return( dst ); /* return dst */

}

(2)strcat能把strSrc 的內容連接到strDest,為什么還要char * 類型的返回值?

答:方便賦值給其他變量

-----------------------------------------------------------------------------

枚舉:

enum day

{a,b,c,d=5,e,f,g}

問a和g各是多少?

---------------------------------------------------------------------------------

用宏函數求出一維數組的長度

#define arraysize(x) (sizeof(x)/sizeof(x[0])) 一維的

#define arraytow(x) arraysize(x[0])*arraysize(x) 二維

-----------------------------------------------------------------------------

嵌入式系統總是要用戶對變量或寄存器進行位操作。給定一個整型變量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;

}

----------------------------------------------------------------------------------------------------------------

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

Void foo(void)

{

unsigned int a = 6;

int b = -20;

(a+b > 6) puts("> 6") : puts("<= 6");

}

: >6

---------------------------------------------------------------------------------------------------------

int a=5,b=7,c;

c=a+++b;

代碼執行后

a=6

b=7

c=12

------------------------------------------------------------------

用變量a給出下面的定義

a) 一個整型數(An integer)

b) 一個指向整型數的指針(A pointer to an integer)

c) 一個指向指針的的指針,它指向的指針是指向一個整型數(A pointer to a pointer to an integer)

d) 一個有10個整型數的數組(An array of 10 integers)

e) 一個有10個指針的數組,該指針是指向一個整型數的(An array of 10 pointers to integers)

f) 一個指向有10個整型數數組的指針(A pointer to an array of 10 integers)

g) 一個指向函數的指針,該函數有一個整型參數并返回一個整型數(A pointer to a function that takes an integer as an argument and returns an integer)

h) 一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數( An array of ten pointers to functions that take an integer argument and return an integer )

答案是:

a) int a; // An integer

b) int *a; // A pointer to an integer

c) int **a; // A pointer to a pointer to an integer

d) int a[10]; // An array of 10 integers

e) int *a[10]; // An array of 10 pointers to integers

f) int (*a)[10]; // A pointer to an array of 10 integers

g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer

h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer

================================================================================================================

上一篇:嵌入式面試基本問題,各個都經典

下一篇:匯集各大型公司面試題,嵌入式學習者必看

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 国产美女久久久| 日韩高清人体午夜| 欧美在线亚洲在线| 国产精品69精品一区二区三区| 91成人天堂久久成人| 日本aⅴ大伊香蕉精品视频| 欧洲永久精品大片ww免费漫画| 51久久精品夜色国产麻豆| 国产成人亚洲综合91| 国产大片精品免费永久看nba| 国产精品羞羞答答| 亚洲国产精品久久久久久| 亚洲女人被黑人巨大进入| 日韩一区二区三区在线播放| 操91在线视频| 国内精品久久久久久| 国产精品久久久久久久天堂| 亚洲成人精品视频| 中文字幕自拍vr一区二区三区| 欧美成人午夜激情在线| 98精品国产高清在线xxxx天堂| 国产欧美日韩高清| 永久555www成人免费| 久久久久久com| 国产女精品视频网站免费| 亚洲欧美日韩国产精品| 欧美午夜影院在线视频| 国产不卡视频在线| 亚洲欧美在线免费| 欧美国产激情18| 91亚洲精品久久久| 日韩在线免费视频| 欧美亚洲伦理www| 亚洲欧美另类国产| 欧美华人在线视频| 亚洲丁香婷深爱综合| 久久99精品久久久久久噜噜| 国产精品视频网址| 久久久精品一区二区| 国产精品第3页| 久久精品99久久久香蕉|