華為筆試題答案_第1頁
華為筆試題答案_第2頁
華為筆試題答案_第3頁
華為筆試題答案_第4頁
華為筆試題答案_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

筆試題選擇題1、以下程序輸出結(jié)果是:#include<>

intmain()

{

intn=4;

while(n--)

{

printf("%d",--n);

}

printf("\r\n");

return0;

}答案:202、設(shè)有以下宏定義:#defineN4

#defineY(n)((N+1)*n)則執(zhí)行語句:Y(5+1)為:答案:263、enumENUM_A

{

x1,

y1,

z1=5,

a1,

b1

};

enumENUM_AenumA=y1;

enumENUM_AenumB=b1;請(qǐng)問enumA和enumB值是多少答案:1,74、若有函數(shù)max(a,b),而且函數(shù)指針變量p已經(jīng)指向函數(shù),當(dāng)調(diào)用該函數(shù)時(shí)正確調(diào)用方法是:答案:(*p)(a,b)或者p(a,b)5、對(duì)棧S進(jìn)行以下操作:push(1),push(5),pop(),push(2),pop(),pop(),則此時(shí)棧頂元素是:答案:沒有元素,??铡?、在一個(gè)32位操作系統(tǒng)中,設(shè)void*p=malloc(100),請(qǐng)問sizeof(p)結(jié)果是:答案:32位操作系統(tǒng)尋址大小是32位,即4字節(jié)。7、若已定義:inta[9],*p=a;并在以后語句中未改變p值,不能表示a[1]地址表示式是:A)p+1B)a+1C)a++D)++p答案:C8、設(shè)有以下定義:unsignedlongpulArray[]={6,7,8,9,10};

unsignedlong*pulPtr;則以下程序段輸出結(jié)果是什么pulPtr=pulArray;

*(pulPtr+2)+=2;

printf("%d,%d\r\n",*pulPtr,*(pulPtr+2));A)8,10B)6,8C)7,9D)6,10答案:D9、以下程序運(yùn)行后,輸出結(jié)果是什么voidmain()

{

char*szStr="abcde";

szStr+=2;

printf("%1u\r\n",szStr);

return;

}A)cdeB)字符cASCII碼值C)字符c地址D)犯錯(cuò)答案:C10、給出以下定義:charX[]="hello";

charY[]={'h','e','l','l','o'};則正確敘述為:A)數(shù)組X和數(shù)組Y等價(jià)B)數(shù)組X和數(shù)組Y長(zhǎng)度相同C)數(shù)組X長(zhǎng)度大于數(shù)組Y長(zhǎng)度D)數(shù)組X長(zhǎng)度小于數(shù)組Y長(zhǎng)度答案:C11、在32位X86下,有以下程序#include<>

voidmain()

{

union

{

intk;

chari[2];

}*s,a;

s=&a;

s->i[0]=0x39;

s->i[1]=0x38;

printf("%x\r\n",;

}輸出結(jié)果是:A)3839B)3938C)380039D)不可預(yù)知答案:A12、有以下函數(shù)定義:unsignedlongMyFunc(unsignedlongulKey)

{

return(((ulKey&0x000000ffUL)<<24)|

((ulKey&0x0000ff00UL)<<8)|

((ulKey&0x00ff0000UL)>>8)|

((ulKey&0xff000000UL)>>24));

}則MyFunc(0x)返回值是:A)0xB)0xC)0xD)0x答案:C13、((a>b)a:b)代表什么含義:A)代表a,b之中較小那個(gè)值B)代表a,b之中較大那個(gè)值C)代表a是否比b大D)語法錯(cuò)誤答案:B14、某系統(tǒng)總線一個(gè)總線周期包含3個(gè)時(shí)鐘周期,每個(gè)總線周期能夠傳送32位數(shù)據(jù)。若總線時(shí)鐘頻率為33MHz,則總線帶寬為多少M(fèi)B/s33*10(6)*32/8*10(6)*3A)11B)22C)33D)44答案:D15、以下定義,則s在內(nèi)存中占多大空間union

{

struct

{

unsignedcharaa:4;

unsignedcharab:4;

}a;

unsignedcharc;

unsignedchard;

}s;A)1byteB)2byteC)3byteD)4byte答案:A16、以下定義:uniontagAAAA

{

struct

{

charucFirst;

shortusSecond;

charucThird;

}half_a;

longlI;

}number;在按1字節(jié)對(duì)齊情況下,sizeof(uniontagAAAA)大小是:在按4字節(jié)對(duì)齊情況下,sizeof(uniontagAAAA)大小是:A)4byteB)6byteC)8byteD)12byte答案:A,C17、0x在采取BigEndian中內(nèi)存排列次序是,在采取LittleEndian內(nèi)存中排列次序是。(答案從左到右內(nèi)存地址依次增加)A)12345678B)34127856C)78563412D)56781234答案:A,D18、關(guān)于靜態(tài)變量,下面說法“不正確”有:A)靜態(tài)變量在堆棧中分配B)靜態(tài)變量作用域一定是局部,比如在一個(gè)文件內(nèi)或一個(gè)函數(shù)內(nèi)C)靜態(tài)變量可分為靜態(tài)局變量和靜態(tài)全局部變量D)靜態(tài)變量存在于數(shù)據(jù)段中答案:B19、下面正確有A)在中止中,不能同時(shí)獲取信號(hào)量,不過能夠釋放信號(hào)量B)在中止中,能夠使用系統(tǒng)調(diào)用sleep函數(shù)來等候一會(huì)兒C)每一個(gè)進(jìn)程有自己獨(dú)立地址空間,每一個(gè)線程程序也有自己獨(dú)立地址空間D)CPU占用率為60%,意思是CPU有60%時(shí)間在運(yùn)行指令40%時(shí)間沒有運(yùn)行指令答案:B20、設(shè)有以下定義:int(*ptr)();則以下敘述中正確是:A)ptr是指向一維數(shù)組指針變量B)ptr是指向int型數(shù)據(jù)指針變量C)ptr是指向函數(shù)指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)D)ptr是一個(gè)函數(shù)名,該函數(shù)返回值是指向int型數(shù)據(jù)指針答案:C21、在Windows95環(huán)境下,定義數(shù)組:int**a[2][4];則數(shù)組a所占用內(nèi)存單元為:A)8字節(jié)B)32字節(jié)C)64字節(jié)D)不確定答案:B22、有國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電信聯(lián)盟(ITU-T)共同提出開放系統(tǒng)互聯(lián)(OSI)參考模型中共有層,參考模型最高層則為層。A)4B)7C)應(yīng)用D)會(huì)話答案:B,C23、關(guān)于以太網(wǎng)中ARP協(xié)議,描述錯(cuò)誤是:A)依照IP地址查詢其對(duì)應(yīng)MAC地址B)依照MAC地址查詢其對(duì)應(yīng)IP地址,便于IP通信C)經(jīng)過ARP協(xié)議產(chǎn)生IP和MAC地址映射,超時(shí)會(huì)淘汰D)ARP請(qǐng)求中MAC地址為廣播地址答案:B24、關(guān)于TCP、UDP及其上層應(yīng)用,描述錯(cuò)誤是:A)TCP協(xié)議面向連接,UDP協(xié)議是面向無連接B)UDP不確保數(shù)據(jù)可靠傳送,而文件傳遞時(shí)要求必須無錯(cuò)傳送,因而全部基于文件傳遞應(yīng)用都不能基于UDP,如:TFTPC)telnet是基于TCP終端應(yīng)用,連續(xù)輸入多個(gè)字符可能會(huì)被封裝到一個(gè)TCP包中D)在同一個(gè)節(jié)點(diǎn)上,基于TCP和UDP應(yīng)用端口號(hào)能夠重合答案:B改錯(cuò)題1、請(qǐng)指出下面程序錯(cuò)誤unsignedchari=10;

charb=100;

char*p

voidf(void)

{

while(--i>=0)

{

*(p++)=b;

}

}參考答案: (1)p沒有分配空間 (2)i是無符號(hào)型,自減操作會(huì)引發(fā)死循環(huán)2、下面函數(shù)要實(shí)現(xiàn)打印helloworld功效,請(qǐng)問程序中有何錯(cuò)誤void*GetMemory()

{

charstr[]="helloworld";

returnstr;

}

voidTest()

{

char*str=NULL;

str=(char*)GetMemory();

printf(str);

}參考答案: (1)GetMemory函數(shù)返回地址內(nèi)容已經(jīng)被釋放。 (2)str是指針,printf(str)打印是地址,正確是printf(*str)3、請(qǐng)問以下代碼有什么錯(cuò)誤#defineMAX_SIZE1000

#defineNULL0

#defineTRUE1

#defineFALSE0

structXXX

{

unsignedshorta;

unsignedshortb;

};

intdemo(structXXX*p,unsignedlongsize)

{

structXXX*temp;

temp=(structXXX*)malloc(sizeof(structXXX)*MAX_SIZE);

if(NULL==temp)

{

returnFALSE;

}

memcpy(temp,p,sizeof(structXXX)*size);

/*其余操作*/

free(temp);

returnTRUE;

}參考答案: (1)size可能大于MAX_SIZE,缺乏安全檢驗(yàn) (2)p指針未作安全檢驗(yàn)4、以下程序用于把“blue”字符串返回,請(qǐng)指出其中錯(cuò)誤。char*GetBlue()

{

char*pcColor;

char*pcNewColor;

pcColor="blue";

pcNewColor=(char*)malloc(strlen(pColor));

strcpy(pcNewColor,pcColor);

returnpcNewColor;

}參考答案: (1)pcColor沒有結(jié)束符,造成strcpy錯(cuò)誤 (2)pcNewColor分配長(zhǎng)度應(yīng)該再加1,用來放結(jié)束符’\0’5、請(qǐng)問以下程序段有什么錯(cuò)誤main()

{

unsignedlongi=0,*p,*p1;

p=(unsignedlong*)malloc(10000);

p1=p;

for(i=0;i<9999;i++)

{

*p1=0x100;

p1++;

}

/*其余操作*/

free(p);

}參考答案: (我找不到顯著錯(cuò)誤,要么是main函數(shù)沒有指定返回值類型)編程題對(duì)稱數(shù)判斷問題請(qǐng)編寫一段程序,判斷一個(gè)正整數(shù)是否為對(duì)稱數(shù)(對(duì)稱數(shù)即左右對(duì)稱數(shù)字,如3、22、121、1331、34543等),不允許利用C語言將數(shù)字轉(zhuǎn)換為字符轉(zhuǎn)庫函數(shù)。參考答案:booljudgeNumberSymmetry(unsignedlongulNumber)

{

unsignedlongulTemp=ulNumber;/*srccopy*/

unsignedlongulResult=0;

intiMod=0;

while(ulTemp)

{

iMod=ulTemp%10;

ulResult=ulResult*10+iMod;

ulTemp/=10;

}

if(ulNumber==ulResult)

{

returntrue;

}

else

{

returnfalse;

}

}排隊(duì)隊(duì)列問題n個(gè)人,排成1隊(duì),(p1,p2,p3...pn)從第一個(gè)人開始從1報(bào)數(shù),報(bào)數(shù)到3人離開隊(duì)列,隊(duì)列里下一個(gè)人繼續(xù)從1開始報(bào)數(shù),以此重復(fù),當(dāng)數(shù)到隊(duì)列尾時(shí),從隊(duì)列頭部繼續(xù)報(bào)數(shù),這么周而復(fù)始,知道隊(duì)列剩一人。給一個(gè)簡(jiǎn)單例:報(bào)數(shù)結(jié)果以下:1,2,4,5,7,第一輪,3、6離開隊(duì)列,7報(bào)數(shù)1,然后從隊(duì)列頭部繼續(xù)報(bào)數(shù),那么第一個(gè)人報(bào)數(shù)2,如此1,4,5,這么第二輪,位置2和位置7離開隊(duì)列,而且從隊(duì)列頭部繼續(xù)報(bào)數(shù),第一個(gè)人報(bào)數(shù)1,因?yàn)殛?duì)列尾部7恰好報(bào)數(shù)到3.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論