


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、華為筆試面試題及答案2016年華為筆試而試題及答案(1) 什么是預(yù)編譯,何時需要預(yù)編譯:答案:1、總是使用不經(jīng)常改動的大型代碼體。2、程序由多個模塊組成,所有模塊都使用一組標(biāo)準(zhǔn)的包含文件 和相同的編譯選項。在這種情況下,可以將所有包含文件預(yù)編譯為 一個預(yù)編譯頭。(2) char*constpcharconst*pconstchar*p 上述三個有什么 區(qū)別?答案:char*constp;/常量指針,p的值不可以修改charconst*p;/指向常量的指針,指向的常量值不可以改 constchar*p;/和 charconstp(3) charstri 二"abc"chars
2、tr2="abc"constcharstr3=ab c;constcharstr4 二abc ; constcharstr5二abc; constchar*str6二ab c;char*str7二"abc"char*str8二"abc"cout«(strl=str2)«endl; cout<< (str3=:=str4) «endl ;cout<< (str5=str6) <<endl ;cout<< (str7=str8) «endl;結(jié)果是:0
3、011strl, str2, str3, str4是數(shù)組變量,它們有各自的內(nèi)存空間;而 str5, str6, str7, str8是指針,它們指向相同的常量區(qū)域。(4) 以下代碼中的兩個sizeof用法有問題嗎?C易voidUpperCase (charstr ) /將str中的小寫字母轉(zhuǎn)換成 大寫字母for (size_ti=0;i&&str i <=,zz/,) str i -= Ca'-'A") ; charstr ="aBcDe" ;cout<X"str 字符長度為:"sizeof(str)
4、/sizeof(str0) <<endl;UpperCase(str);cout<str<<endl;答案:函數(shù)內(nèi)的sizeof有問題。根據(jù)語法,sizeof如用于數(shù)組, 只能測出靜態(tài)數(shù)組的大小,無法檢測動態(tài)分配的或外部數(shù)組大小。 函數(shù)外的str是一個靜態(tài)定義的數(shù)組,因此其大小為6,因為還有 0,函數(shù)內(nèi)的str實際只是一個指向字符串的指針,沒有任何額 外的與數(shù)組相關(guān)的信息,因此sizeof作用于上只將其當(dāng)指針看,一 個指針為4個字節(jié),因此返回4。(5) 一個32位的機器,該機器的指針是多少位答案:指針是多少位只要看地址總線的位數(shù)就行了。80386以后的機子 都是3
5、2的數(shù)據(jù)總線。所以指針的位數(shù)就是4個字節(jié)了。6o main () inta5 = l, 2, 3, 4, 5 ; int*ptr=(int*) (&a+l);printf (d, %d", * (a+1), * (pti-1) ;答案:2。5*(a+1)就是 al, *(ptr-1)就是a4,執(zhí)行結(jié)果是2, 5&a+l不是首地址+1,系統(tǒng)會認(rèn)為加一個a數(shù)組的偏移,是偏移 了一個數(shù)組的大小(本例是5個int)int*ptr=(int*) (&a+l);則ptr實際是&(a5),也就是a+5原因如下:&a是數(shù)組指針, 其類型為int (*) 5;而
6、指針加1要根據(jù)指針類型加上一定的值,不同類型的指針+1 之后增加的大小不同a是長度為5的int數(shù)組指針,所以要加 5*sizeof(int)所以ptr實際是a5但是prt與(3+1)類型是不一樣的(這點很 重要)所以prt-1只會減去sizeof (int*)a, &a的地址是一樣的,但意思不一樣,a是數(shù)組首地址,也就是 a0的.地址,&a是對象(數(shù)組)首地址,a+1是數(shù)組下一元素的地址, 即al,&a+l是下一個對象的地址,即a.7。請問以下代碼有什么問題:intmainO chara;char*str=&a;strcpy(str, "hello&q
7、uot;);printf(str);returnO;答案:沒有為str分配內(nèi)存空間,將會發(fā)生異常問題出在將一個 字符串復(fù)制進一個字符變量指針?biāo)傅刂?。雖然可以正確輸出結(jié)果, 但因為越界進行內(nèi)在讀寫而導(dǎo)致程序崩潰。8o chat*s二"AAA"printfs);s0="B"printfs);有什么錯?答案AAA是字符串常量。s是指針,指向這個字符 串常量,所以聲明s的時候就有問題。cosntchar*s二"AAA"然后又因為是常量,所以對是s0的賦值操作是不合法的。90寫一個“標(biāo)準(zhǔn)”宏,這個宏輸入兩個參數(shù)并返回較小的一個。 答案:.ft
8、defineMin (X, Y) (X) > (Y) ?(Y) : (X)/結(jié)尾沒有10o嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么用C編寫死循環(huán)。 答案:while (1) 或者 for (;)11。關(guān)鍵字static的作用是什么?答案:定義靜態(tài)變量12o關(guān)鍵字const有什么含意?答案:表示常量不可以修改的變 量。13o關(guān)鍵字volatile有什么含意?并舉岀三個不同的例子?答案: 提示編譯器對象的值可能在編譯器未監(jiān)測到的情況下改變。14。int (*s10) (int)表示的是什么???答案:int (*s10) (int) 函數(shù)指針數(shù)組,每個指針指向一個intfunc(intparam
9、)的函數(shù)。15o有以下表達式: inta=248;b=4;intconstc二21;constint*d二&a;int*conste二&b;intconst*fconst二&a;請問下列表達式哪些會被編譯器禁止?為什么?答案:*c=32;d二&b;*d=43;e=34;e=&a;f=0x321f;*c這是個什么東東,禁止*d說了是const,禁止e二說了是 const 禁止 constfconst=&a;禁止16交換兩個變量的值,不使用第三個變量。即護3,b=5,交換之 后a=5, b=3;答案:有兩種解法,一種用算術(shù)算法,一種用,異 或)a=a
10、+b; b=ab; a=ab; ora=a" b; / 只 能對int, char. . b=a"b; a=a"b;ora"a=a;17. c和c+中的struct有什么不同?答案:c和c+中struct的 主要區(qū)別是c中的struct不可以含有成員函數(shù),而C+中的struct 可以。c+中struct和class的主要區(qū)別在于默認(rèn)的存取權(quán)限不同, struct 默認(rèn)為 public, 而 class 默認(rèn)為 private18. #include#includevoidgetmemory(char*p) p=(char*)malloc 仃00) ; s
11、trcpy(p, /,helloworld,z) ;intmain 0char*str二NULL;getmemo:ry (str) ;printf (“s/n,str) ;free (st r);returnO;答案:程序崩潰,getmemory中的malloc不能返回動 態(tài)內(nèi)存,free()對str操作很危險19. charszstr 10 ; strcpy (szstr, "0123456789");產(chǎn)生什么結(jié)果? 為什么?答案:長度不一樣,會造成非法的0S20. 列舉幾種進程的同步機制,并比較其優(yōu)缺點。答案:原子操 作信號量機制自旋鎖管程,會合,分布式系統(tǒng)21. 進程
12、之間通信的途徑答案:共享存儲系統(tǒng)消息傳遞系統(tǒng)管道: 以文件系統(tǒng)為基礎(chǔ)22. 進程死鎖的原因答案:資源競爭及進程推進順序非法23. 死鎖的4個必要條件答案:互斥、請求保持、不可剝奪、環(huán) 路24. 死鎖的處理答案:鴕鳥策略、預(yù)防策略、避免策略、檢測與 解除死鎖25. 操作系統(tǒng)中進程調(diào)度策略有哪幾種?答案:FCFS(先來先服務(wù)), 優(yōu)先級,時間片輪轉(zhuǎn),多級反饋26. 類的靜態(tài)成員和非靜態(tài)成員有何區(qū)別?答案:類的靜態(tài)成員每 個類只有一個,非靜態(tài)成員每個對象一個27. 純虛函數(shù)如何定義?使用時應(yīng)注意什么?答案: virtualvoidf()=0;是接口,子類必須要實現(xiàn)28. 數(shù)組和鏈表的區(qū)別答案:數(shù)組:
13、數(shù)據(jù)順序存儲,固定大小連 表:數(shù)據(jù)可以隨機存儲,大小可動態(tài)改變29. ISO的七層模型是什么?tcp/udp是屬于哪一層?tcp/udp有何 優(yōu)缺點?答案:應(yīng)用層表示層會話層運輸層網(wǎng)絡(luò)層物理鏈路層物理層 tcp/udp屬于運輸層TCP服務(wù)提供了數(shù)據(jù)流傳輸、可靠性、有效流 控制、全雙工操作和多路復(fù)用技術(shù)等。與TCP不同,UDP并不提供 對IP協(xié)議的可靠機制、流控制以及錯誤恢復(fù)功能等。由于UDP比較簡 單,UDP頭包含很少的字節(jié),比TCP負(fù)載消耗少。tcp:提供穩(wěn)定的傳輸服務(wù),有流量控制,缺點是包頭大,冗余性不好 udp:不提供穩(wěn)定的服務(wù),包頭小,開銷小30: (void*)ptr和(* (voi
14、d*)ptt的結(jié)果是否相同?其中ptr為 同一個指針答案:.(void*)ptr和(*(void*)ptr值是相同的31: intmain()intx=3;printf("%d,x);returnl;問函數(shù)既然不會被其它函數(shù)調(diào)用,為什么要返回1?答案:mian 中,c標(biāo)準(zhǔn)認(rèn)為0表示成功,非0表示錯誤。具體的值是某中具體 出錯信息32, 要對絕對地址0x100000賦值,我們可以用 (unsignedint*)0x100000=1234;那么要是想讓程序跳轉(zhuǎn)到絕對地址是0x100000去執(zhí)行,應(yīng)該怎 么做?答案:*(void(*) ()0x100000)();首先要將0x100000強
15、制轉(zhuǎn)換成函數(shù)指針,即:(void(*) ()0x100000 然后再調(diào)用它:*(void(*) ()0x100000)();用typedef可以看得更直觀些:typedefvoid(*)()voidFuncPtr;*(voidFuncPtr)0x100000)();33, 已知一個數(shù)組table,用一個宏定義,求出數(shù)據(jù)的元素個數(shù) 答案:#defineNTBL#defineNTBL(sizeof (table)/sizeof(table0)34。線程與進程的區(qū)別和聯(lián)系?線程是否具有相同的堆棧?dll是 否有獨立的堆棧?答案:進程是死的,只是一些資源的集合,真正的程序執(zhí)行都是 線程來完成的,程序啟動的時候操作系統(tǒng)就幫你創(chuàng)建了一個主線程。 每個線程有自己的堆棧。DLL中有沒有獨立的堆棧,這個問題不好回答,或者說這個問題 木身是否有問題。因為DLL中的代碼是被某些線程所執(zhí)行,只有線 程擁有堆棧,如果DLL中的代碼是EXE中的線程所調(diào)用,那么這個 時候是不是說這個DLL沒有自己獨立的堆棧?如果DLL中的代碼是由 DLL自己創(chuàng)建的線程所執(zhí)行,那么是不是說DLL有獨立的堆棧?以上 講的是堆棧,如果對于堆來說,每個DLL有自己的堆,所以如果是 從DLL中動態(tài)分配的內(nèi)存,最好是從DLL中刪除,如果你從DLL中 分配內(nèi)存,然后在EXE中,或
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 強化基本醫(yī)療衛(wèi)生服務(wù)的重要性
- 糧食等重要農(nóng)產(chǎn)品穩(wěn)產(chǎn)保供的重要性
- 工業(yè)企業(yè)揮發(fā)性有機物排放控制的政策支持與激勵措施
- 圓柱施工方案
- 三級人力資源管理師-企業(yè)人力資源管理師(三級)《理論知識》考前沖刺卷4
- 專題08應(yīng)用文寫作
- 安徽省安慶一中江西省南昌二中等五省六校(K12聯(lián)盟)高三上學(xué)期期末聯(lián)考英語試題
- 福建省莆田市第二十四中學(xué)2017-2018學(xué)年高一上學(xué)期期末考?xì)v史試題
- 工會組織在企業(yè)文化建設(shè)中的獨特作用
- 九年義務(wù)教育全日制初級中學(xué)英語教學(xué)大綱( 試用修訂版)
- 2024年寧夏回族自治區(qū)消防救援總隊招聘機關(guān)消防文員考試真題
- 鐵路沿線危樹清理施工方案
- 二年級下冊數(shù)學(xué)口算題-可打印
- 湖北云學(xué)名校聯(lián)盟2024-2025學(xué)年高二上學(xué)期期末考試英語試題 含解析
- 公司信息化安全規(guī)章制度及操作手冊
- 福建省南平市2024-2025學(xué)年九年級上學(xué)期期末語文試題(解析版)
- 第五周《春風(fēng)吹過正‘植’有我》主題班會
- 2025年湖南工程職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年包頭鐵道職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2024年長沙電力職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年山西工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
評論
0/150
提交評論