久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>c語言怎么編程選擇題(計算機專業必備)

c語言怎么編程選擇題(計算機專業必備)

發布時間:2024-01-24閱讀(13)

導讀畢業即失業,不知道現在還流行這句話不,反正我們當時畢業的時候,流行這句話,也讓人很慌。言歸正傳,畢業季,為大家分享一些關于C語言的面試題。1用變量a給出下面....

畢業即失業,不知道現在還流行這句話不,反正我們當時畢業的時候,流行這句話,也讓人很慌。

言歸正傳,畢業季,為大家分享一些關于C語言的面試題。

c語言怎么編程選擇題(計算機專業必備)(1)

1 用變量 a 給出下面的定義

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

b.一個指向有10個整型數數組的指針;

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

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

答案:

int*a[10];

int(*a)[10]

int(*a)(int);

int(*a[10])(int);

2 寫一段代碼計算結構體、聯合、位段、內存大小

答案:

struct A

{

inta;

charb;

floatc;

struct Ad;

doublee;

};

sizeof(A)

3 代碼改錯

下面代碼涉及到動態內存開辟,請改正下面錯誤代碼:

wap( int* p1,int*p2 )

{

int* p;

*p =*p1;

*p1 =*p2;

*p2 = *p;

}

答案:p 為野指針(指向一個已刪除的對象或未申請訪問受限內存區域的指針)

void swap(int *pa, int *pb)

{

inttmp;

tmp = *pa;

*pa = *pb;

*pb = tmp;

}

4 數組和鏈表的區別?

數組:數據順序存儲,固定大小;

鏈表:數據可以隨機存儲,大小可動態改變;

c語言怎么編程選擇題(計算機專業必備)(2)

5 要對絕對地址0x100000賦值

要對絕對地址0x100000賦值,我們可以用:

(unsignedint*)0x100000 =1234;

那么要是想讓程序跳轉到絕對地址是0x100000去執行,應該怎么做?

答案:

*((void(*)( ))0x100000)();

(void (*)())0x100000//首先要將0x100000強制轉換成函數指針

*((void (*)())0x100000)(); //然后再調用它:

6 const 有什么用途?

答案:

1.可以定義 const 常量;

2.const 可以修飾函數的參數、返回值,甚至函數的定義體。被const 修飾的東西都受到強制保護,可以預防意外的變動,能提高程序的健壯性。

7 (void *)ptr 和(*(void**))ptr 的結果是否相同?

其中ptr為同一個指針。

答案:

他們的值相同。

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

答案:

#defineSECONDS_PER_YEAR(60*60*24*365)UL

要點:

A.沒有以分號結束;

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

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

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

答案:

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

要點:

A.參數用括號括起來;

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

10Heap與Stack的差別?

答案: Heap是堆,Stack是棧。

Stack的空間由系統自動分配/釋放,Heap上的空間手動分配/釋放。

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

網上經典例子:

inta =0;//全局初始化區

char*p1;//全局未初始化區

voidmain(void)

{

intb;//棧

chars[] ="abc";//棧

char*p2;//棧

char*p3 ="123456";//123456