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

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

千家公司嵌入式面試題,都是比較常見的 時間: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號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 日韩精品高清视频| 7m第一福利500精品视频| 97免费在线视频| 在线丨暗呦小u女国产精品| 欧美亚洲伦理www| 欧美日韩成人在线播放| 日韩精品在线看| 在线播放国产一区中文字幕剧情欧美| 日韩女优人人人人射在线视频| 日韩一区二区三区xxxx| 亚洲999一在线观看www| 欧美做受高潮电影o| 日韩视频免费在线| 亚洲最大的av网站| 国产精品免费电影| 午夜精品福利电影| 国产精品久久999| 欧美一区深夜视频| 91老司机在线| 国产精品揄拍500视频| 2018日韩中文字幕| 91精品久久久久久久| 国产精品视频公开费视频| 亚洲精品乱码久久久久久按摩观| 国产精品老牛影院在线观看| 亚洲精品美女久久久| 久久久91精品国产一区不卡| 中文亚洲视频在线| 欧美精品aaa| 欧美肥老太性生活视频| 欧美大尺度在线观看| 超碰91人人草人人干| xxx欧美精品| 热久久这里只有| 亚洲乱码av中文一区二区| 日韩精品有码在线观看| 精品久久久久久中文字幕| 国产欧美最新羞羞视频在线观看| 色阁综合伊人av| 九九久久综合网站| 成人妇女免费播放久久久|