【考研計(jì)算機(jī)專業(yè)課】大連理工大學(xué)計(jì)算機(jī)專業(yè)必備筆試面試錦囊_第1頁
【考研計(jì)算機(jī)專業(yè)課】大連理工大學(xué)計(jì)算機(jī)專業(yè)必備筆試面試錦囊_第2頁
【考研計(jì)算機(jī)專業(yè)課】大連理工大學(xué)計(jì)算機(jī)專業(yè)必備筆試面試錦囊_第3頁
【考研計(jì)算機(jī)專業(yè)課】大連理工大學(xué)計(jì)算機(jī)專業(yè)必備筆試面試錦囊_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余90頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)專業(yè)必備筆試面試錦囊.static有什么用途?(請(qǐng)至少說明兩種)1)在函數(shù)體,ー個(gè)被聲明為靜態(tài)的變量在這ー函數(shù)被調(diào)用過程中維持其值不變.2)在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是ー個(gè)本地的全局變量。3)在模塊內(nèi),ー個(gè)被聲明為靜態(tài)的函數(shù)只可被這ー模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個(gè)函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用.引用與指針有什么區(qū)別?1)引用必須被初始化,指針不必。2)引用初始化以后不能被改變,指針可以改變所指的對(duì)象。3)不存在指向空值的引用,但是存在指向空值的指針。.描述實(shí)時(shí)系統(tǒng)的基本特性在特定時(shí)間內(nèi)完成特定的任務(wù),實(shí)時(shí)性與可靠性。.全局變量和局部變量在內(nèi)存中是否有區(qū)別?如果有,是什么區(qū)別?全局變量?jī)?chǔ)存在靜態(tài)數(shù)據(jù)庫,局部變量在堆棧。.什么是平衡ニ叉樹?左右子樹都是平衡ニ叉樹且左右子樹的深度差值的絕對(duì)值不大于1。.堆棧溢出一般是由什么原因?qū)е碌?沒有回收垃圾資源。.什么函數(shù)不能聲明為虛函數(shù)?constructor函數(shù)不能聲明為虛函數(shù)。.冒泡排序算法的時(shí)間復(fù)雜度是什么?時(shí)間復(fù)雜度是O(n人2)..寫出floatx與、、零值’’比較的if語句。if(x>0.000001&&x<-0.000001).Internet采用哪種網(wǎng)絡(luò)協(xié)議?該協(xié)議的主要層次結(jié)構(gòu)?Tcp/ip協(xié)議主要層次結(jié)構(gòu)為:應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)據(jù)鏈路層ノ物理層。.Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議?ARP(AddressResolutionProtocol)(地址解析協(xié)議).IP地址的編碼分為哪倆部分?IP地址由兩部分組成,網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)。不過是要和、、子網(wǎng)掩碼''按位與上之后才能區(qū)分哪些是網(wǎng)絡(luò)位哪些是主機(jī)位。.用戶輸入M,N值,從1至N開始順序循環(huán)數(shù)數(shù),每數(shù)到M輸出該數(shù)值,直至全部輸出。寫出C程序。循環(huán)鏈表,用取余操作做.不能做switch。的參數(shù)類型是:switch的參數(shù)不能為實(shí)型。Tag標(biāo)簽:C++,華為,筆試題華為C/C++筆試題(2).某32位系統(tǒng)下,C++程序,請(qǐng)計(jì)算sizeof的值#include<stdio.h>#include<malloc.h>voidFoo(charstr[100])printf("sizeof(str)=%d\nn,sizeof(str));)main()(charstr[]="”;char*pl=str;intn=10;void*p2=malloc(100);printf("sizeof(str)=%d\n",sizeof(str));printf("sizeof(pl)=%d\n",sizeof(pl));printf("sizeof(n)=%d\n",sizeof(n));printf(nsizeof(p2)=%d\n",sizeof(p2));Foo(str);)答:(1)17(2)4(3)4(4)4(5)4.回答下面的問題(1)頭文件中的ifndef/define/endif干什么用?預(yù)處理答:防止頭文件被重復(fù)引用(2)#include<filename.h>和#include"filename.h"有什么區(qū)別?答:對(duì)于#include〈filename.h>,編譯器從標(biāo)準(zhǔn)庫路徑開始搜索filename.h對(duì)于#include“filename.h”,編譯器從用戶的工作路徑開始搜索filename.h(3)在C++程序中調(diào)用被C編譯器編譯后的函數(shù),為什么要加extern'、?!暶?答:函數(shù)和變量被C++編譯后在符號(hào)庫中的名字與C語言的不同,被extem”C"修飾的變量和函數(shù)是按照(:語言方式編譯和連接的。由于編譯后的名字不同,C++程序不能直接調(diào)用C函數(shù)0C++提供了一個(gè)C連接交換指定符號(hào)extern''C"來解決這個(gè)問題。.回答下面的問題(1)請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?VoidGetMemory(char**p,intnum)(*p=(char*)malloc(num);)voidTest(void)(char*str=NULL;GetMemory(&str,100);strcpy(str,"hello”);printf(str);}答:輸出“hello”(2)請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?voidTest(void)(char*str=(char*)malloc(100);strcpy(str,''hellO〃);free(str);if(str!=NULL)(strcpy(str,''world");printf(str);答:輸出、、world”(3)請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?char*GetMemory(void)(charp[]="helloworld";returnp;)voidTest(void)(char*str=NULL;str=GetMemory();printf(str);)答:無效的指針,輸出不確定.編寫strcat函數(shù)已知strcat函數(shù)的原型是char*strcat(char*strDestzconstchar*strSrc);其中strDest是目的字符串,strSrc是源字符串。(1)不調(diào)用C++/C的字符串庫函數(shù),請(qǐng)編寫函數(shù)strcat答:VC源碼:char* cdeclstrcat(char*dst,constchar*src)(char*cp=dst;while(*cp)cp++;/*findendofdst*/while(*cp++=*src++);/*Copysrctoendofdst*/return(dst);/*returndst*/(2)strcat能把strSrc的內(nèi)容連接到strDest,為什么還要char?類型的返回值?答:方便賦值給其他變量.程序什么時(shí)候應(yīng)該使用線程,什么時(shí)候單線程效率髙(1)耗時(shí)的操作使用線程,提髙應(yīng)用程序響應(yīng)(2)并行操作時(shí)使用線程,如C/S架構(gòu)的服務(wù)器端并發(fā)線程響應(yīng)用戶的請(qǐng)求。(3)多CPU系統(tǒng)中,使用線程提髙CPU利用率(4)改善程序結(jié)構(gòu).ー個(gè)既長(zhǎng)又復(fù)雜的進(jìn)程可以考慮分為多個(gè)線程,成為幾個(gè)獨(dú)立或半獨(dú)立的運(yùn)行部分,這樣的程序會(huì)利于理解和修改。其他情況都使用單線程。.C++中什么數(shù)據(jù)分配在?;蚨阎?New分配數(shù)據(jù)是在近堆還是遠(yuǎn)堆中?答:棧:存放局部變量,函數(shù)調(diào)用參數(shù),函數(shù)返回值,函數(shù)返回地址。由系統(tǒng)管理堆:程序運(yùn)行時(shí)動(dòng)態(tài)申請(qǐng),new和malloc申請(qǐng)的內(nèi)存就在堆上.關(guān)于內(nèi)存對(duì)齊的問題以及sizof()的輸出答:編譯器自動(dòng)對(duì)齊的原因:為了提髙程序的性能,數(shù)據(jù)結(jié)構(gòu)(尤其是棧)應(yīng)該盡可能地在自然邊界上對(duì)齊。原因在于,為了訪問未對(duì)齊的內(nèi)存,處理器需要作兩次內(nèi)存訪問;然而,對(duì)齊的內(nèi)存訪問僅需要一次訪問。.inti=10,j=10,k=3;k*=i+j;k最后的值是?答:60(此題考察優(yōu)先級(jí),實(shí)際寫成:k*=(i+j);?賦值運(yùn)算符優(yōu)先級(jí)最低.動(dòng)態(tài)連接庫的兩種方式?答:調(diào)用ー個(gè)DLL中的函數(shù)有兩種方法:.載入時(shí)動(dòng)態(tài)鏈接(load-timedynamiclinking),模塊非常明確調(diào)用某個(gè)導(dǎo)出函數(shù),使得他們就像本地函數(shù)ー樣。這需要鏈接時(shí)鏈接那些函數(shù)所在DLL的導(dǎo)入庫,導(dǎo)入庫向系統(tǒng)提供了載入DLL時(shí)所需的信息及DLL函數(shù)定位。.運(yùn)行時(shí)動(dòng)態(tài)鏈接(run-timedynamiclinking),運(yùn)行時(shí)可以通過LoadLibrary或LoadLibraryEx函數(shù)載入DLL。DLL載入后,模塊可以通過調(diào)用GetProcAddress獲取DLL函數(shù)的出口地址,然后就可以通過返回的函數(shù)指針調(diào)用DLL函數(shù)了。如此即可避免導(dǎo)入庫文件了.函數(shù)模板與類模板有什么區(qū)別?答:函數(shù)模板的實(shí)例化是由編譯程序在處理函數(shù)調(diào)用時(shí)自動(dòng)完成的,而類模板的實(shí)例化必須由程序員在程序中顯式地指定。.Windows是內(nèi)核級(jí)線程么。答:見下ー題.Linux有內(nèi)核級(jí)線程么。答:線程通常被定義為ー個(gè)進(jìn)程中代碼的不同執(zhí)行路線。從實(shí)現(xiàn)方式上劃分,線程有兩種類型:'、用戶級(jí)線程”和、、內(nèi)核級(jí)線程’’。用戶線程指不需要內(nèi)核支持而在用戶程序中實(shí)現(xiàn)的線程,其不依賴于操作系統(tǒng)核心,應(yīng)用進(jìn)程利用線程庫提供創(chuàng)建、同步、調(diào)度和管理線程的函數(shù)來控制用戶線程。這種線程甚至在象DOS這樣的操作系統(tǒng)中也可實(shí)現(xiàn),但線程的調(diào)度需要用戶程序完成,這有些類似Windows3.x的協(xié)作式多任務(wù)。另外一種則需要內(nèi)核的參與,由內(nèi)核完成線程的調(diào)度。其依賴于操作系統(tǒng)核心,由內(nèi)核的內(nèi)部需求進(jìn)行創(chuàng)建和撤銷,這兩種模型各有其好處和缺點(diǎn)。用戶線程不需要額外的內(nèi)核開支,并且用戶態(tài)線程的實(shí)現(xiàn)方式可以被定制或修改以適應(yīng)特殊應(yīng)用的要求,但是當(dāng)ー個(gè)線程因I/O而處于等待狀態(tài)時(shí),整個(gè)進(jìn)程就會(huì)被調(diào)度程序切換為等待狀態(tài),其他線程得不到運(yùn)行的機(jī)會(huì);而內(nèi)核線程則沒有各個(gè)限制,有利于發(fā)揮多處理器的并發(fā)優(yōu)勢(shì),但卻占用了更多的系統(tǒng)開支。WindowsNT和OS/2支持內(nèi)核線程。Linux支持內(nèi)核級(jí)的多線程13B使用線程是如何防止出現(xiàn)大的波峰。答:意思是如何防止同時(shí)產(chǎn)生大量的線程,方法是使用線程池,線程池具有可以同時(shí)提髙調(diào)度效率和限制資源使用的好處,線程池中的線程達(dá)到最大數(shù)時(shí),其他線程就會(huì)排隊(duì)等候。14B寫出判斷ABCD四個(gè)表達(dá)式是否正確,若正確,寫出經(jīng)過表達(dá)式中a的值inta=4;a+=(a++);a+=(++a);(a++)+=a;(++a)+=(a++);a=?答:C錯(cuò)誤,左側(cè)不是ー個(gè)有效變量,不能賦值,可改為(++a)+=a;改后答案依次為9,10,10,11.MFC中CString是類型安全類么?答:不是,其它數(shù)據(jù)類型轉(zhuǎn)換到CString可以使用CString的成員函數(shù)Format來轉(zhuǎn)換.C++中為什么用模板類。答:(1)可用來創(chuàng)建動(dòng)態(tài)增長(zhǎng)和減小的數(shù)據(jù)結(jié)構(gòu)(2)它是類型無關(guān)的,因此具有很髙的可復(fù)用性。(3)它在編譯時(shí)而不是運(yùn)行時(shí)檢査數(shù)據(jù)類型,保證了類型安全(4)它是平臺(tái)無關(guān)的,可移植性(5)可用于基本數(shù)據(jù)類型.CSingleLock是干什么的。答:同步多個(gè)線程對(duì)ー個(gè)數(shù)據(jù)類的同時(shí)訪問.局部變量能否和全局變量重名?答:能,局部會(huì)屏蔽全局?要用全局變量,需要使用‘‘::"局部變量可以與全局變量同名,在函數(shù)內(nèi)引用這個(gè)變量時(shí),會(huì)用到同名的局部變量,而不會(huì)用到全局變量。對(duì)于有些編譯器而言,在同一個(gè)函數(shù)內(nèi)可以定義多個(gè)同名的局部變量,比如在兩個(gè)循環(huán)體內(nèi)都定義ー個(gè)同名的局部變量,而那個(gè)局部變量的作用域就在那個(gè)循環(huán)體內(nèi)。.如何引用一個(gè)已經(jīng)定義過的全局變量?答:extern可以用引用頭文件的方式,也可以用extern關(guān)鍵字,如果用引用頭文件方式來引用某個(gè)在頭文件中聲明的全局變理,假定你將那個(gè)變寫錯(cuò)了,那么在編譯期間會(huì)報(bào)錯(cuò),如果你用extern方式引用時(shí),假定你犯了同樣的錯(cuò)誤,那么在編譯期間不會(huì)報(bào)錯(cuò),而在連接期間報(bào)錯(cuò)。.全局變量可不可以定義在可被多個(gè)?C文件包含的頭文件中?為什么?答:可以,在不同的C文件中以static形式來聲明同名全局變量??梢栽诓煌腃文件中聲明同名的全局變量,前提是其中只能有一個(gè)C文件中對(duì)此變量賦初值,此時(shí)連接不會(huì)出錯(cuò)。.語句for(;1;)有什么問題?它是什么意思?答:無限循環(huán),和while(l)相同。.do while和while do有什么區(qū)別?答:前ー個(gè)循環(huán)一遍再判斷,后一個(gè)判斷以后再循環(huán)。.請(qǐng)寫出下列代碼的輸出內(nèi)容

#include<stdio.h>main()(inta,bzczd;a=10;b=a++;c=++a;d=10*a++;printf(nb,c?d:%d,%d,%d”,b,c?d);return0;)答:エ〇,12,120Tag標(biāo)簽:C++z華為,筆試,筆試題華為C/C++筆試題(3)1.找錯(cuò)#defineMAX_SRM256DSNget_SRM_no()(staticintSRM_no;intI;for(1=0;I<MAX_SRM;I++,SRM_no++)(SRM_no%=MAX_SRM;if(MY_SRM.state==IDLE)(break;}}if(I>=MAX_SRM)return(NULL_SRM);

elsereturnSRMno;答:.SRM_no沒有賦初值.由于static的聲明,使該函數(shù)成為不可重入(即不可預(yù)測(cè)結(jié)果)函數(shù),因?yàn)镾RM_n。變量放在程序的全局存儲(chǔ)區(qū)中,每次調(diào)用的時(shí)候還可以保持原來的賦值。這里應(yīng)該去掉static聲明?出程序運(yùn)行結(jié)果intsum(inta)(autointc=0;staticintb=3;c+=l;b+=2;return(a+b+C);)voidmain()(intI;inta=2;for(1=0;I<5;I++)(printf(n%d/\sum(a));})答:8,10,12,14,16該題比較簡(jiǎn)單。只要注意b聲明為static靜態(tài)全局變量,其值在下次調(diào)用時(shí)是可以保持住原來的賦值的就可以。intfunc(inta)(intb;switch(a)(b=30;b=20;b=16;default:b=0;}returnb;}則func(l)=?答:func(l)=O?因?yàn)闆]有break語句,switch中會(huì)一直計(jì)算到b=0。4.inta[3];a[0]=0;a[1]=1;a[2]=2;int*p,*q;p=a;q=&a[2];則a[q-p]=?答:a[q-p]=a[2]=2;這題是要告訴我們指針的運(yùn)算特點(diǎn)5,定義int**a[3][4],則變量占有的內(nèi)存空間為:答:此處定義的是指向指針的指針數(shù)組,對(duì)于32位系統(tǒng),指針占內(nèi)存空間4字節(jié),因此總空間為3x4x4=48。CObject類中的析構(gòu)函數(shù)為什么是虛函數(shù)面試SE時(shí),很多公司喜歡問到虛函數(shù)相關(guān)。MFC類庫中,CObject類的重要性不言自明的。在CObject的定義中,我們看到ー個(gè)有趣的現(xiàn)象,即CObject的析構(gòu)函數(shù)是虛擬的。在AFX.H中,CObject的定義:classCObject(public://Objectmodel(types,destruction,allocation)virtualCRuntimeClass*GetRuntimeClass()const;virtual?CObject。;//virtualdestructorsarenecessary);為什么MFC的編寫者認(rèn)為virtualdestructorsarenecessary(虛擬的析構(gòu)函數(shù)是必要的)?在著名的VC教程”精通VisualC++forWindows95/NT”(電子工業(yè)版,1997年5月版,胡儉,丘宗明等著)第99頁中有這樣一段話:'、如果CObject的析構(gòu)函數(shù)不是虛擬的,派生類就不會(huì)自動(dòng)地得到虛擬的析構(gòu)函數(shù),當(dāng)對(duì)象撤消時(shí)就會(huì)帶來問題ーー只有當(dāng)前類的析構(gòu)函數(shù)得到調(diào)用而基類的析構(gòu)函數(shù)就得不到調(diào)用…''我認(rèn)為這段解釋是這本很不錯(cuò)的書中一個(gè)不應(yīng)出現(xiàn)的嚴(yán)重錯(cuò)誤。其意思是說:若:classCBasepublic:-CBase(){ };};classCChild:publicCBasepublic:-CChild(){ };main()Childc;return0;上段代碼在運(yùn)行時(shí),當(dāng)棧框中的自動(dòng)對(duì)象C被撤消時(shí),只調(diào)用?CChildO,而不調(diào)用~CBase().我想但凡對(duì)C++繼承性理論有所了解的人都會(huì)立刻指出這是錯(cuò)誤的.由于在生成CChild對(duì)象c時(shí),實(shí)際上在調(diào)用CChild類的構(gòu)造函數(shù)之前必須首先調(diào)用其基類CBase的構(gòu)造函數(shù),所以當(dāng)撤消c時(shí),也會(huì)在調(diào)用CChild類析構(gòu)函數(shù)之后,調(diào)用CBase類的析構(gòu)函數(shù)(析構(gòu)函數(shù)調(diào)用順序與構(gòu)造函數(shù)相反)。也就是說,無論析構(gòu)函數(shù)是不是虛函數(shù),派生類對(duì)象被撤消時(shí),肯定會(huì)依次上調(diào)其基類的析構(gòu)函數(shù)。那么為什么CObject類要搞一個(gè)虛的析構(gòu)函數(shù)呢?

仍以上面代碼為例,如果main。中有如下代碼:CBase*pBase;CChildc;pBase=&c;那么在、當(dāng)pBase指針被撤消時(shí),調(diào)用的是CBase的析構(gòu)函數(shù)還是CChild的呢?顯然是CBase的(靜態(tài)聯(lián)編)。但如果把CBase類的析構(gòu)函數(shù)改成virtual型,當(dāng)pBase指針被撤消時(shí),就會(huì)先調(diào)用CChild類構(gòu)造函數(shù),再調(diào)用CBase類構(gòu)造函數(shù)。在這個(gè)例子里,所有對(duì)象都存在于??蛑校?dāng)離開其所處的作用域時(shí),該對(duì)象會(huì)被自動(dòng)撤消,似乎看不出什么大問題。但是試想,如果CChild類的的構(gòu)造函數(shù)在堆中分配了內(nèi)存,而其析構(gòu)函數(shù)又不是virtual型的,那么撤消pBase時(shí),將不會(huì)調(diào)用CChild::?CChild。,從而不會(huì)釋放CChild::CChild()占據(jù)的內(nèi)存,造成內(nèi)存泄露。而將CObject的析構(gòu)函數(shù)設(shè)為virtual型,貝リ所有CObject類的派生類的析構(gòu)函數(shù)都將自動(dòng)變?yōu)関irtual型,這保證了在任何情況下,不會(huì)出現(xiàn)由于析構(gòu)函數(shù)未被調(diào)用而導(dǎo)致的內(nèi)存泄露。這オ是MFC將CObject::?CObject。設(shè)為virtual型的真正原因。注意:析構(gòu)函數(shù)可以為virtual型,構(gòu)造函數(shù)則不能。Tag標(biāo)簽:C++,華為,筆試,筆試題華為C/C++筆試題(4)ー、判斷題1、有數(shù)組定義加1@[2][2]={{1},{2,3});貝1冋0:|[1]的值為()。(正確)2、int(*ptr)。,則ptr是ー維數(shù)組的名字。(錯(cuò)誤int(*ptr)。;定義一個(gè)指向函數(shù)的指針變量)3、指針在任何情況下都可進(jìn)行〉,號(hào)>ラ<=,==運(yùn)算。(錯(cuò)誤)4、switch(c)語句中c可以是int,long,char,float,unsignedint類型。(錯(cuò),不能用實(shí)形)

二、填空題[、在windows下,寫出運(yùn)行結(jié)果charstr[]="Hello";char*p=str;intn=10;sizeof(str)=()sizeof(p)=()sizeof(n)=()voidfunc(charstr[100])< }sizeof(str)=()答案:6,4,4,4voidgetmemory(char**p,intnum){*p=(char*)malloc(num);}voidtest(void)(char*str=NULL;getmemory(&str,100);strcpy(str,"hello");printf(str);)運(yùn)行test函數(shù)有什么結(jié)果?()答案:輸出hello,但是發(fā)生內(nèi)存泄漏。設(shè)intarr[]={6,7,8,9,10);int*ptr=arr;*(ptr++)+=123;printfC'/d,%d”,*ptr,*(++ptr));答案:8,8o這道題目的意義不大,因?yàn)樵诓煌木幾g器里printf的參數(shù)的方向是不ー樣的,在vc6.0下是從有到左,這里先?(++ptr)后?pt,于是結(jié)果為8,8二、編程題1、不使用庫函數(shù),編寫函數(shù)intstrcmp(char*sourcezchar*dest)相等返回。,不等返回?1;答案:ー、intstramp(char*source,char*dest)(assert((source?=NULL)&&(dest?=NULL));inti,j;for(i=0;source[i]==dest[i];i++){if(source[i]=='\01&&dest[i]==*\0')return0;elsereturn-1;})答案:二、intstrcmp(char*source,char*dest)while((*source!=、〇')&&(*source=*dest))source++;dest++;)return((*source)-(*dest))?-1:0;)2、寫ー函數(shù)intfun(char*p)判斷一字符串是否為回文,是返回!.,不是返回。,出錯(cuò)返回ー:!答案:ー、intfun(char*p)(if(p==NULL)return-1;else(intlength=0;inti=0;intjudge=1;length=strlen(p);for(i=0;i<length/2;i++)|if(p[i]!=p[length-l-i])judge=0;break;)if(judge==0)return0;elsereturn1;}

答案:二、intfun(char*p)(intlen=strlen(p)-1;char*q=p+len;if(?P)return-1;while(p<q){if((*p++)?=(*q"))return0;}return1;)Tag標(biāo)簽:C++,華為,筆試,筆試題華為C/C++筆試題(5)(一)初級(jí)題.什么是預(yù)編譯,何時(shí)需要預(yù)編譯:答:(1)總是使用不經(jīng)常改動(dòng)的大型代碼體(2)程序由多個(gè)模塊組成,所有模塊都使用ー組標(biāo)準(zhǔn)的包含文件和相同的編譯選項(xiàng)。在這種情況下,可以將所有包含文件預(yù)編譯為ー個(gè)預(yù)編譯頭.char*constpcharconst*pconstchar*p上述三個(gè)有什么區(qū)別?

答:char*constp;//常量指針,p的值不可以修改charconst*p;//指向常量的指針,指向的常量值不可以改constchar*p:〃和charconst*p3.charstrl[]=nabc";charstr2[]="abc";constcharstr3[]=nabcn;constcharstr4[]=nabcn;constchar*str5nabcconstchar*str5nabcn;constchar*str6=nabcn;char*str7=nabcn;char*str8="abc”;cout? ( strl == str2 ) ? endl;cout? ( str3 == str4 ) ? endl;cout? ( str5 == str6 ) ? endl;cout? ( str7 == str8 ) ? endl;結(jié)果是:00エユstrエ,str2,str3,str4是數(shù)組變量,它們有各自的內(nèi)存空間;而str5,str6,str7,str8是指針,它們指向相同的常量區(qū)域。.以下代碼中的兩個(gè)sizeof用法有問題嗎?voidUppercase(charstr[])//將str中的小寫字母轉(zhuǎn)換成大寫字母(for(size_ti=0;i<sizeof(str)/sizeof(str[0]);++i)if(,a,<=str[i]&&str[i]<=,z,)str[i]-=(a-R);}charstr[]=^aBcDe";cout?”str字符長(zhǎng)度為:"?sizeof(str)/sizeof(str[0])?endl;Uppercase(str);cout?str?endl;答:函數(shù)內(nèi)的sはeof有問題。根據(jù)語法,sはeof如用于數(shù)組,只能測(cè)出靜態(tài)數(shù)組的大小,無法檢測(cè)動(dòng)態(tài)分配的或外部數(shù)組大小。函數(shù)外的str是ー個(gè)靜態(tài)定義的數(shù)組,因此其大小為6,因?yàn)檫€有、?!?函數(shù)內(nèi)的str實(shí)際只是ー個(gè)指向字符串的指針,沒有任何額外的與數(shù)組相關(guān)的信息,因此sizeof作用于上只將其當(dāng)指針看,ー個(gè)指針為4個(gè)字節(jié),因此返回4。.一個(gè)32位的機(jī)器,該機(jī)器的指針是多少位答:指針是多少位只要看地址總線的位數(shù)就行了。80386以后的機(jī)子都是32的數(shù)據(jù)總線。所以指針的位數(shù)就是4個(gè)字節(jié)了。.main〇(inta[5]={l,2,3,4,5};int*ptr=(int*)(&a+l);printf("%dz%dn,*(a+1)z*(ptr-1));}答:2,5*(a+l)就是a[l],*(ptr-l)就是a[4],執(zhí)行結(jié)果是2,5。&a+l不是首地址+1,系統(tǒng)會(huì)認(rèn)為加一個(gè)a數(shù)組的偏移,是偏移了一個(gè)數(shù)組的大小(本例是5個(gè)int)。int*ptr=(int*)(&a+l);則ptr實(shí)際是&(a[5]),也就是a+5原因如下:&a是數(shù)組指針,其類型為int(*)[5];而指針加1要根據(jù)指針類型加上一定的值,不同類型的指針+1之后增加的大小不同;a是長(zhǎng)度為5的int數(shù)組指針,所以要加5*sizeof(int)0所以ptr實(shí)際是a[5]。但是prt與(&a+l)類型是不ー樣的(這點(diǎn)很重要),所以prt-1只會(huì)減去sizeof(int*)。a,&a的地址是ー樣的,但意思不一樣,a是數(shù)組首地址,也就是a[0]的地址,&a是對(duì)象(數(shù)組)首地址,a+1是數(shù)組下一元素的地址,即a[エ],&a+l是下ー個(gè)對(duì)象的地址,即a[5]。.請(qǐng)問以下代碼有什么問題:intmain〇(chara;char*str=&a;strcpy(strz"hello*1);printf(str);return0;答:沒有為str分配內(nèi)存空間,將會(huì)發(fā)生異常。問題出在將一個(gè)字符串復(fù)制進(jìn)ー個(gè)字符變量指針?biāo)傅刂贰km然可以正確輸出結(jié)果,但因?yàn)樵浇邕M(jìn)行內(nèi)在讀寫而導(dǎo)致程序崩潰。.char*s="AAA";printf("%s",s);s[O]='B';printf("%s",s);有什么錯(cuò)?答:‘'AAA"是字符串常量。s是指針,指向這個(gè)字符串常量,所以聲明s的時(shí)候就有問題。cosntchar*s="AAA";然后又因?yàn)槭浅A?所以對(duì)是s[0]的賦值操作是不合法的。.寫ー個(gè)、、標(biāo)準(zhǔn)“宏,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的ー個(gè)。答:#defineMin(X,Y)((X)>(Y)?(Y):(X))〃結(jié)尾沒有';'.嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么用C編寫死循環(huán)。答:while(l){}或者for(;;).關(guān)鍵字static的作用是什么?答:定義靜態(tài)變量.關(guān)鍵字const有什么含意?答:表示常量不可以修改的變量。.關(guān)鍵字volatile有什么含意?并舉出三個(gè)不同的例子?答:提示編譯器對(duì)象的值可能在編譯器未監(jiān)測(cè)到的情況下改變。.int(*s[10])(int)表示的是什么啊?答:int(*s[10])(int)函數(shù)指針數(shù)組,每個(gè)指針指向ー個(gè)intfunc(intparam)的函數(shù)。.有以下表達(dá)式:inta=248;b=4;intconstc=21;constint*d=&a;int?conste=&b;intconst*fconst=&a;請(qǐng)問下列表達(dá)式哪些會(huì)被編譯器禁止?為什么?答:*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;.交換兩個(gè)變量的值,不使用第三個(gè)變量。即a=3,b=5,交換之后a=5,b=3;答:有兩種解法,ー種用算術(shù)算法,ー種用人(異或)a=a+b;b=a-b;a=a-b;ora=aAb;/Z只能對(duì)int,char,.b=aAb;a=aAb;oraA=bA=a;.#include<stdio.h>#include<stdlib.h>voidgetmemory(char*p)(p=(char*)malloc(100);strcpy(prnhelloworld'1);)intmain()(char*str=NULL;getmemory(str);printf("%s/n",str);free(str);return0;)答:程序崩潰,getmemory中的malloc不能返回動(dòng)態(tài)內(nèi)存,free。對(duì)str操作很危險(xiǎn).列舉幾種進(jìn)程的同步機(jī)制,并比較其優(yōu)缺點(diǎn)。答:原子操作、信號(hào)量機(jī)制、自旋鎖、管程、會(huì)合、分布式系統(tǒng).進(jìn)程之間通信的途徑答:共享存儲(chǔ)系統(tǒng)、消息傳遞系統(tǒng)、管道:以文件系統(tǒng)為基礎(chǔ).進(jìn)程死鎖的原因和4個(gè)必要條件答:資源競(jìng)爭(zhēng)及進(jìn)程推進(jìn)順序非法:互斥、請(qǐng)求保持、不可剝奪、環(huán)路.死鎖的處理答:鴕鳥策略、預(yù)防策略、避免策略、檢測(cè)與解除死鎖23,操作系統(tǒng)中進(jìn)程調(diào)度策略有哪幾種?答:FCFS(先來先服務(wù)),優(yōu)先級(jí),時(shí)間片輪轉(zhuǎn),多級(jí)反饋.類的靜態(tài)成員和非靜態(tài)成員有何區(qū)別?答:類的靜態(tài)成員每個(gè)類只有一個(gè),非靜態(tài)成員每個(gè)對(duì)象一個(gè).純虛函數(shù)如何定義?使用時(shí)應(yīng)注意什么?答:virtualvoidf()=0;是接口,子類必須要實(shí)現(xiàn).數(shù)組和鏈表的區(qū)別答:數(shù)組:數(shù)據(jù)順序存儲(chǔ),固定大小鏈表:數(shù)據(jù)可以隨機(jī)存儲(chǔ),大小可動(dòng)態(tài)改變.ISO的七層模型是什么?tcp/udp是屬于哪ー層?tcp/udp有何優(yōu)缺點(diǎn)?答:應(yīng)用層、表示層、會(huì)話層、運(yùn)輸層、網(wǎng)絡(luò)層、物理鏈路層、物理層tcp/udp屬于運(yùn)輸層TCP服務(wù)提供了數(shù)據(jù)流傳輸、可靠性、有效流控制、全雙工操作和多路復(fù)用技術(shù)等。與TCP不同,UDP并不提供對(duì)IP協(xié)議的可靠機(jī)制、流控制以及錯(cuò)誤恢復(fù)功能等。由于UDP比較簡(jiǎn)單,UDP頭包含很少的字節(jié),比TCP負(fù)載消耗少tcp:提供穩(wěn)定的傳輸服務(wù),有流量控制,缺點(diǎn)是包頭大,冗余性不好udp:不提供穩(wěn)定的服務(wù),包頭小,開銷小.(void*)ptr和(*(void**))ptr的結(jié)果是否相同?其中ptr為同一個(gè)指針答:(void*)ptr和(*(void**))ptr值是相同的.intmain(){intx=3;printf("%d",x);return1;>問函數(shù)既然不會(huì)被其它函數(shù)調(diào)用,為什么要返回1?答:main中,c標(biāo)準(zhǔn)認(rèn)為。表示成功,非。表示錯(cuò)誤。具體的值是某中具體出錯(cuò)信息.要對(duì)絕對(duì)地址。xl。。。。。賦值,我們可以用(unsignedint*)0xl00000=1234;那么要是想讓程序跳轉(zhuǎn)到絕對(duì)地址是。xl。。。。。去執(zhí)行,應(yīng)該怎么做?答:*((void(*)())0x100000)();首先要將0X100000強(qiáng)制轉(zhuǎn)換成函數(shù)指針,即:(void(*)0)0x100000,然后再調(diào)用它:?((void(*)())0x100000)0;用typedef可以看得更直觀些:typedefvoid(*)()voidFuncPtr;*((voidFuncPtr)0xl00000)();.已知一個(gè)數(shù)組table,用ー個(gè)宏定義,求出數(shù)據(jù)的元素個(gè)數(shù)答:#defineNTBL#defineNTBL(sizeof(table)/sizeof(table[0])).線程與進(jìn)程的區(qū)別和聯(lián)系?線程是否具有相同的堆棧?dll是否有獨(dú)立的堆棧?答:進(jìn)程是死的,只是一些資源的集合,真正的程序執(zhí)行都是線程來完成的,程序啟動(dòng)的時(shí)候操作系統(tǒng)就幫你創(chuàng)建了一個(gè)主線程。每個(gè)線程有自己的堆棧。DLL中有沒有獨(dú)立的堆棧,這個(gè)問題不好回答,或者說這個(gè)問題本身是否有問題。因?yàn)镈LL中的代碼是被某些線程所執(zhí)行,只有線程擁有堆棧,如果DLL中的代碼是EXE中的線程所調(diào)用,那么這個(gè)時(shí)候是不是說這個(gè)DLL沒有自己獨(dú)立的堆棧?如果DLL中的代碼是由DLL自己創(chuàng)建的線程所執(zhí)行,那么是不是說DLL有獨(dú)立的堆棧?以上講的是堆棧,如果對(duì)于堆來說,每個(gè)DLL有自己的堆,所以如果是從DLL中動(dòng)態(tài)分配的內(nèi)存,最好是從DLL中刪除,如果你從DLL中分配內(nèi)存,然后在EXE中,或者另外一個(gè)DLL中刪除,很有可能導(dǎo)致程序崩潰.unsignedshortA=10;printf("~A=%u\n",~A);charc=128;printf("c=%d\n",c);輸出多少?并分析過程答:第一題,~A=0xfffffff5, 但輸出的是uint。所以輸出4294967285。第二題,c=OxlO,輸出的是int,最髙位為1,是負(fù)數(shù),所以它的值就是。xOO的補(bǔ)碼就是128I所以輸出ー128。這兩道題都是在考察二進(jìn)制向int或uint轉(zhuǎn)換時(shí)的最髙位處理。(二)中級(jí)題1.-1,2,7,28?126請(qǐng)問28和126中間那個(gè)數(shù)是什么?為什么?答:第一題應(yīng)該是4ハ3-1=63規(guī)律是n人3-1(當(dāng)n為偶數(shù)。,2,4)n人3+1(當(dāng)n為奇數(shù)1,3,5)2,用兩個(gè)棧實(shí)現(xiàn)ー個(gè)隊(duì)列的功能?要求給出算法和思路!答:設(shè)2個(gè)棧為A,B,一開始均為空.入隊(duì):將新元素push入棧A;出隊(duì):(1)判斷棧8是否為空:(2)如果不為空,則將棧A中所有元素依次pop出并push到棧B;(3)將棧B的棧頂元素pop出;這樣實(shí)現(xiàn)的隊(duì)列入隊(duì)和出隊(duì)的平攤復(fù)雜度都還是0(1),比上面的幾種方法要好.3,在c語言庫函數(shù)中將一個(gè)字符轉(zhuǎn)換成整型的函數(shù)是atol()嗎,這個(gè)函數(shù)的原型是什么?答:函數(shù)名:atol功能:把字符串轉(zhuǎn)換成長(zhǎng)整型數(shù)用法:longatol(constchar*nptr);程序例:#include<stdlib.h>#include<stdio.h>intmain(void)(long1;char*str="98フ65432”;1=atol(Isヒr);printf(nstring=%sinteger=%ld\nn,str,1);return(0);)4.對(duì)于ー個(gè)頻繁使用的短小函數(shù),在C語言中應(yīng)用什么實(shí)現(xiàn),在C++中應(yīng)用什么實(shí)現(xiàn)?答:c用宏定義,C++用inline5,直接鏈接兩個(gè)信令點(diǎn)的ー組鏈路稱作什么?答:PPP點(diǎn)到點(diǎn)連接.軟件測(cè)試都有那些種類?答:黑盒:針對(duì)系統(tǒng)功能的測(cè)試白合:測(cè)試函數(shù)功能,各函數(shù)接口.確定模塊的功能和模塊的接口是在軟件設(shè)計(jì)的那個(gè)隊(duì)段完成的?答:概要設(shè)計(jì)階段.unsignedchar*pl;unsignedlong*p2;pl=(unsignedchar*)0x801000;p2=(unsignedlong*)0x810000;請(qǐng)問pl+5=;p2+5=;答案:801005;810014?不要忘記了這個(gè)是16進(jìn)制的數(shù)字,p2要加2。變?yōu)?6進(jìn)制就是14選擇題:.Ethternet鏈接到Internet用到以下那個(gè)協(xié)議?A.HDLC;B.ARP;C.UDP;D.TCP;E.ID.屬于網(wǎng)絡(luò)層協(xié)議的是:A.TCP;B.IP;C.ICMP;D.X.25.Windows消息調(diào)度機(jī)制是:A.指令隊(duì)列;B.指令堆棧;C.消息隊(duì)列;D.消息堆棧;答:b,a,c找錯(cuò)題:.請(qǐng)問下面程序有什么錯(cuò)誤?inta[60][250][1000],i,j,k;for(k=0;k<=1000;k++)for(j=0;j<250;j++)for(i=0;i<60;i++)a[i][j][k]=0;答:把循環(huán)語句內(nèi)外換一下.以下是求一個(gè)數(shù)的平方的程序,請(qǐng)找出錯(cuò)誤:#defineSQUARE(a)((a)*(a))inta=5;intb;b=SQUARE(a++);答案:這個(gè)沒有問題,s(a++),就是((a++)x(a++))唯一要注意的就是計(jì)算后a=7了3,找錯(cuò)誤typedefunsignedcharBYTEintexamply_fun(BYTEgt_len;BYTE*gt_code)(BYTE*gt_buf;gtbuf=(BYTE*)MALLOC(Max_GT_Length);if(gt_len>Max_GT_Length)(returnGT_Length_ERROR;})答:要釋放內(nèi)存問答題:l.IPPhone的原理是什么?答:IPV62.TCP/IP通信建立的過程怎樣,端口有什么作用?答:三次握手,確定是哪個(gè)應(yīng)用程序使用該協(xié)議(三)髙級(jí)題1、static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數(shù)與普通函數(shù)有什么區(qū)別?答:全局變量(外部變量)的說明之前再冠以static就構(gòu)成了靜態(tài)的全局變量。全局變量本身就是靜態(tài)存儲(chǔ)方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲(chǔ)方式。這兩者在存儲(chǔ)方式上并無不同。這兩者的區(qū)別雖在于非靜態(tài)全局變量的作用域是整個(gè)源程序,當(dāng)一個(gè)源程序由多個(gè)源文件組成時(shí),非靜態(tài)的全局變量在各個(gè)源文件中都是有效的。而靜態(tài)全局變量則限制了其作用域,即只在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于ー個(gè)源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用,因此可以避免在其它源文件中引起錯(cuò)誤。從以上分析可以看出,把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲(chǔ)方式即改變了它的生存期。把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域,限制了它的使用范圍。static函數(shù)與普通函數(shù)作用域不同。僅在本文件。只在當(dāng)前源文件中使用的函數(shù)應(yīng)該說明為內(nèi)部函數(shù)(static),內(nèi)部函數(shù)應(yīng)該在當(dāng)前源文件中說明和定義。對(duì)于可在當(dāng)前源文件以外使用的函數(shù),應(yīng)該在ー個(gè)頭文件中說明,要使用這些函數(shù)的源文件要包含這個(gè)頭文件static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據(jù)上一次結(jié)果值;static函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內(nèi)存中只有一份,普通函數(shù)在每個(gè)被調(diào)用中維持ー份拷貝2、程序的局部變量存在于()中,全局變量存在于()中,動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存在于()中。答:棧;靜態(tài)區(qū):堆3、設(shè)有以下說明和定義:typedefunion{longi;intk[5];charc;}DATE;structdata{intcat;DATEcow;doubledog;}too;DATEmax;則語句printf("%>d",sizeof(too)+sizeof(max));的執(zhí)行結(jié)果是:答:DATE是ー個(gè)union,變量公用空間.里面最大的變量類型是int[5],占用20個(gè)字節(jié).所以它的大小是2。data是ー個(gè)struct,每個(gè)變量分開占用空間.依次為int4+DATE20+doubles=32.所以結(jié)果是20+32=52.當(dāng)然…在某些16位編輯器下,int可能是2字節(jié),那么結(jié)果是int2+DATE10+doubles=204、隊(duì)列和棧有什么區(qū)別?答:隊(duì)列先進(jìn)先出,棧后進(jìn)先出+5、己知一個(gè)單向鏈表的頭,請(qǐng)寫出刪除其某ー個(gè)結(jié)點(diǎn)的算法,要求,先找到此結(jié)點(diǎn),然后刪除。答:sInodetype*Delete(slnodetype*Head,intkey)(if(Head->number==key){Head=Pointer->next;free(Pointer);break;}Back=Pointer;Pointer=Pointer->next;

if(Pointer->number==key)(Back->next=Pointer->next;free(Pointer);break;)voiddelete(Node*p)(if(Head=Node)while(p)))フ、請(qǐng)找出下面代碼中的所以錯(cuò)誤說明:以下代碼是把ー個(gè)字符串倒序,如、、abcd〃倒序后變?yōu)椤眃cba”#includenstring.h"main()(char*src=nhello,world',;char*dest=NULL;intlen=strlen(src);dest=(char*)malloc(len);char*d=dest;char*s=src[len];while(len--?=0)d++=sーー;

printf(n%sn,dest);return0;)答:還要加上#include<stdio.h>intmain()(char*src="hello,world”;intlen=strlen(src);char*dest=(char*)malloc((len+1)*sizeof(char));〃要為、。分配ー個(gè)空間char*d=dest;char*s=&src[len-l];〃指向最后一個(gè)字符while(len--?=0)*d++=*s--;*d=0;〃尾部要加、。printf("%s\n",dest);free(dest);/Z使用完,應(yīng)當(dāng)釋放空間,以免造成內(nèi)存匯泄露return0;)Tag標(biāo)簽:C++,華為,筆試題華為筆試題及解答本文轉(zhuǎn)自:/u/1948l/showart_138335.html下面是ー份華為筆試題,主要是概念原理型的題目,我做了一份解答,其中有些地方可能答得不太準(zhǔn)確,還有少數(shù)地方不清楚答案.如果你知道答案,希望能替我補(bǔ)充下,謝謝!華為筆試題.請(qǐng)你分別畫出OSI的七層網(wǎng)絡(luò)結(jié)構(gòu)圖和TCP/IP的五層結(jié)構(gòu)圖。OSI七層網(wǎng)絡(luò)模型

應(yīng)用層表示層會(huì)話層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層TCP四層模型(一般都是四層,五層是不是加上物理層?)應(yīng)用層傳輸層網(wǎng)絡(luò)層鏈路層.請(qǐng)你詳細(xì)地解釋一下IP協(xié)議的定義,在哪個(gè)層上面?主要有什么作用?TCP與UDP呢?IP協(xié)議(InternetProtocol)又稱互聯(lián)網(wǎng)協(xié)議,是支持網(wǎng)間互連的數(shù)據(jù)報(bào)協(xié)議,它與TCP協(xié)議(傳輸控制協(xié)議)一起構(gòu)成了TCP/IP協(xié)議族的核心。它提供網(wǎng)間連接的完善功能,包括IP數(shù)據(jù)報(bào)規(guī)定互連網(wǎng)絡(luò)范圍內(nèi)的IP地址格式。IP是網(wǎng)絡(luò)層協(xié)議,工作在數(shù)據(jù)鏈路層的上面。IP協(xié)議的作用就是向傳輸層(TCP層)提供統(tǒng)ー的IP包,即將各種不同類型的MAC幀轉(zhuǎn)換為統(tǒng)ー的IP包,并將MAC幀的物理地址變換為全網(wǎng)統(tǒng)ー的邏輯地址(IP地址)。這樣,這些不同物理網(wǎng)絡(luò)MAC幀的差異對(duì)上層而言就不復(fù)存在了。正因?yàn)檫@一轉(zhuǎn)換,オ實(shí)現(xiàn)了不同類型物理網(wǎng)絡(luò)的互聯(lián)。TCP和UDP都是傳輸層協(xié)議.TCP(TransmissionControlProtocol,傳輸控制協(xié)議)是面向連接的協(xié)議,在收發(fā)數(shù)據(jù)前,必須和對(duì)方建立連接。UDP(UserDataProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議。它是面向非連接的協(xié)議,它不與對(duì)方建立連接,而是直接就把數(shù)據(jù)包發(fā)送過去。.請(qǐng)問交換機(jī)和路由器各自的實(shí)現(xiàn)原理是什么?分別在哪個(gè)層次上面實(shí)現(xiàn)的?原理太多了,略去【(哪位能給個(gè)簡(jiǎn)單的,請(qǐng)補(bǔ)充,謝謝!)交換機(jī)是在數(shù)據(jù)鏈路層實(shí)現(xiàn)的路由器在網(wǎng)絡(luò)層實(shí)現(xiàn)。.請(qǐng)問C++的類和C里面的struct有什么區(qū)別?C++中的類有構(gòu)造函數(shù),析構(gòu)函數(shù),繼承等等.C中的struct中,沒有構(gòu)造函數(shù)等C++類オ有的元素。然而,C++中的class和struct基本上是等同的,除了一點(diǎn)它們數(shù)據(jù)成員的默認(rèn)訪問權(quán)限是不同的。class的默認(rèn)訪問權(quán)限為private,而struct為public..請(qǐng)講ー講析構(gòu)函數(shù)和虛函數(shù)的用法和作用。假設(shè)有一個(gè)名為A的類,那么A的析構(gòu)函數(shù)為如下形式A::~A()<},沒有參數(shù)也無返回值。析構(gòu)函數(shù)主要作用是在對(duì)象銷毀前釋放其占用的資源。要將類的成員函數(shù)定義為虛函數(shù),只需在函數(shù)聲明前加上關(guān)鍵字virtual.虛函數(shù)的作用是為了實(shí)現(xiàn)多態(tài),可以在運(yùn)行時(shí)決定具體調(diào)用哪個(gè)函數(shù)(動(dòng)態(tài)綁定)。.全局變量和局部變量有什么區(qū)別?是怎么實(shí)現(xiàn)的?操作系統(tǒng)和編譯器是怎么知道的?全局變量和局部變量的區(qū)別主要在于它們的作用域和生存期不同。全局變量對(duì)于整個(gè)程序均可見,而局部變量只對(duì)它所在的函數(shù)或者語句塊可見.全局變量的生存期與程序的生存期相同,而局部變量的生存期在退出函數(shù)或語句塊后便結(jié)束。通過將全局變量和局部變量置于內(nèi)存中不同的段來實(shí)現(xiàn)的,全部變量存放與全局?jǐn)?shù)據(jù)區(qū),局部變量位于棧內(nèi)。操作系統(tǒng)和編譯器識(shí)別變量的過程不清楚,麻煩哪位補(bǔ)充一下..8086是多少位的系統(tǒng)?在數(shù)據(jù)總線上是怎么實(shí)現(xiàn)的?8086是16位的系統(tǒng)。8086地址總線有20位,CPU有1M的尋址空間,然而8086只有16位,為了能夠?qū)ぶ?M內(nèi)存空間,必須通過分段來完成,即:物理地址=16位的段基址左移4位+16位的段內(nèi)偏移量,這樣就可以尋址全部的地址空間了。Tag標(biāo)簽:C++,華為,筆試題華為筆試網(wǎng)絡(luò)題華為筆試網(wǎng)絡(luò)題(1).在OSI7層模型中,網(wǎng)絡(luò)層的功能有()A.確保數(shù)據(jù)的傳送正確無誤B.確定數(shù)據(jù)包如何轉(zhuǎn)發(fā)與路由C.在信道上傳送比特流D.糾錯(cuò)與流控.FDD!使用的是 局域網(wǎng)技術(shù)。()A.以太網(wǎng)B.快速以太網(wǎng)C.令牌環(huán)D?令牌總線.下面那種LAN是應(yīng)用CSMA/CD協(xié)議的()A.令牌環(huán)B.FDDIC.ETHERNETD.NOVELL.TCP和UDP協(xié)議的相似之處是()A.面向連接的協(xié)議B.面向非連接的協(xié)議C.傳輸層協(xié)議D.以上均不對(duì).應(yīng)用程序PING發(fā)出的是 報(bào)文()A.TCP請(qǐng)求報(bào)文B.TCP應(yīng)答報(bào)文C.ICMP請(qǐng)求報(bào)文D.ICMP應(yīng)答報(bào)文.以下說法錯(cuò)誤的是(多)()A.中繼器是工作在物理層的設(shè)備B.集線器和以太網(wǎng)交換機(jī)工作在數(shù)據(jù)連路層C.路由器是工作在網(wǎng)絡(luò)層的設(shè)備D.橋能隔離網(wǎng)絡(luò)層廣播.當(dāng)橋接收的分組的目的MAC地址在橋的映射表中沒有對(duì)應(yīng)的表項(xiàng)時(shí),采取的策略是()A.丟掉該分組B.將該分組分片C?向其他端口廣播該分組D.以上答案均不對(duì).LANSwitch在網(wǎng)絡(luò)層次模型中的地位()A.物理層B.鏈路層C.網(wǎng)絡(luò)層D.以上都不是.小于ー的TCP/UDP端口號(hào)已保留與現(xiàn)有服務(wù)ーー對(duì)應(yīng),此數(shù)字以上的端口號(hào)可自由分配。()A.199 B.100 C.1024 D.2048.當(dāng)一臺(tái)主機(jī)從一個(gè)網(wǎng)絡(luò)移到另ー個(gè)網(wǎng)絡(luò)時(shí),以下說法正確的是()A.必須改變它的IP地址和MAC地址B.必須改變它的IP地址,但不需改動(dòng)MAC地址C.必須改變它的MAC地址,但不需改動(dòng)IP地址D.MAC地址、IP地址都不需改動(dòng)答案:l.B;2.C;3.C;4.C;5.C;6.BD;7.C;8.B;9.C;10.B.筆試網(wǎng)絡(luò)題1、OSI模型7層結(jié)構(gòu)2、TCP/IP模型結(jié)構(gòu)3、CP/UDP區(qū)別4、建立連接的步驟5、TCP/IP建立連接的過程?(3-wayshake)答:在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。第一次握手:建立連接時(shí),客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+l),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài):第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+l),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。6、1cMp是什么協(xié)議,處于哪ー層?答:Internet控制報(bào)文協(xié)議,處于網(wǎng)絡(luò)層(IP層)7、IP組播有那些好處?答:Internet上產(chǎn)生的許多新的應(yīng)用,特別是髙帶寬的多媒體應(yīng)用,帶來了帶寬的急劇消耗和網(wǎng)絡(luò)擁擠問題。組播是ー種允許ー個(gè)或多個(gè)發(fā)送者(組播源)發(fā)送單ー的數(shù)據(jù)包到多個(gè)接收者(一次的,同時(shí)的)的網(wǎng)絡(luò)技術(shù)。組播可以大大的節(jié)省網(wǎng)絡(luò)帶寬,因?yàn)闊o論有多少個(gè)目標(biāo)地址,在整個(gè)網(wǎng)絡(luò)的任何一條鏈路上只傳送單ー的數(shù)據(jù)包。所以說組播技術(shù)的核心就是針對(duì)如何節(jié)約網(wǎng)絡(luò)資源的前提下保證服務(wù)質(zhì)量。8、比特率和波特率的比較9、郵件協(xié)議幾層,介紹?10、怎么樣用命令行格式査看網(wǎng)絡(luò)配置11、Qos是什么,介紹下Tag標(biāo)簽:華為,筆試題,網(wǎng)絡(luò)題華為新員エ轉(zhuǎn)正筆試題第一部分【公司篇】1、華為公司的全稱為()A、深圳市華為技術(shù)有限公司B、華為技術(shù)有限公司C、華為公司D、我司(答案:B,答A、C者酌情給分,答D者立即辭退,我司三令五申禁止使用該華為內(nèi)部土語,屢禁不止,老員エ不可教也,只好從新員工抓起,格殺勿論)2、華為公司的企業(yè)性質(zhì)是0A、民營(yíng)B、私營(yíng)C、國(guó)營(yíng)D、上市公司(答案:A,本題主要讓考生了解公司的性質(zhì))3,華為公司的商標(biāo)象征()A、紅太陽B、菊花C、扇貝(答案:B,答A者酌情給分,答C者立即辭退,天天就想著吃)4、從下列選項(xiàng)中選擇出公司的常務(wù)副總裁〇A、任正非B、孫亞芳C、李ー男D、鄭寶用E、張燕燕(答案:BD,答C者立即辭退,讓他到李一男的公司去報(bào)到吧)5、華為公司的年終獎(jiǎng)一般是在每年的什么時(shí)候發(fā)。A、元旦后B、春節(jié)前C、7月下旬或8月上旬D、勞動(dòng)節(jié)前E、國(guó)慶節(jié)前(答案:C(切記,因?yàn)槭悄曛歇?jiǎng),而不是年終獎(jiǎng))6、華為公司的配給你的股票是()A、??發(fā)的B、用自己的獎(jiǎng)金去買(答案:B)7,老板常說的土八路,是指()A、老板自己的革命年代的光輝歷史B、本地化的用服兄弟C、季度考核為D的兄弟(答案:B)第二部分【部門篇】1、你所在的ー級(jí)部門為〇B、國(guó)際技術(shù)支援部C、國(guó)際技術(shù)支援部國(guó)內(nèi)分部D、用服(答案:B.答A、C者酌情給分,答D者作不合格處理,為了提髙技術(shù)支援部形象,公司早就取消用服這個(gè)字眼,而且于2001年春節(jié)后悄悄地將技術(shù)支援部前加、、國(guó)際’’二字)2、你所在的二級(jí)部門為。A、傳輸產(chǎn)品技術(shù)支援管理部B、傳輸工程部C、傳輸用服工程中心D、光網(wǎng)絡(luò)產(chǎn)品技術(shù)支援管理部(答案:A,首先得把自己的部門搞清楚,答D者,有遠(yuǎn)見,有潛カ,可以酌情給分,很可能在2001年未就改成這個(gè)名字,因?yàn)槭袌?chǎng)中研已經(jīng)改了,就差技術(shù)支援部了)3、傳輸?shù)纳虡?biāo)為()A、SBSB、SDHC、OptiXD、Metro(答案:C,答A者酌情給分,最起碼還知道老商標(biāo))4、技術(shù)支援部與國(guó)際技術(shù)支援部的關(guān)系()A、國(guó)際技術(shù)支援部是技術(shù)支援部下面的ー個(gè)部門,負(fù)責(zé)海外B、技術(shù)支援部是國(guó)際技術(shù)支援部下面的ー個(gè)部門,負(fù)責(zé)國(guó)內(nèi)C、技術(shù)支援部是國(guó)際技術(shù)支援部的前身D、國(guó)際技術(shù)支援部是技術(shù)支援部的前身(答案:〇第三部分【業(yè)務(wù)篇】1、SBS是()A、傳輸產(chǎn)品的老商標(biāo)B、同步骨干系統(tǒng)C、傻不傻的拼音縮寫D、帥不帥的拼音縮寫(答案:AB.答CD者立即辭退)2、SDH是()A、傳輸產(chǎn)品商標(biāo)B、同步數(shù)字序列C、傻得很的拼音縮寫D、傻得好的拼音縮寫(答案:B,答CD者立即辭退)3、由于你是新員エ,沒有公配手機(jī)時(shí),當(dāng)你在現(xiàn)場(chǎng)遇到緊急事故時(shí),你會(huì)()向公司求助A、打用戶機(jī)房?jī)?nèi)的電話B、借用戶手機(jī)C、拔110D、拔200或300E、立即打車回辦事處(答案:D,答CE者立即辭退,按照公司規(guī)定,不能隨便使用用戶的電話,以提髙公司形象)4、在開局時(shí),用戶問你在華為干幾年了,你會(huì)回答。A、我是新員エB、1年多了C、2年多了D、3年多了(答案:B,答A者按不合格處理,按照公司規(guī)定,不能說自己是新員エ,幾千萬的設(shè)備,怎能讓ー個(gè)新員エ用來練兵,用戶知道鼻子不氣歪オ怪,答CD者,用戶會(huì)哼之以鼻,在華為做了2、3年,還在下面撅個(gè)臟開局,鬼才相信你的話呢!)5、接上題,假如你回答說在華為干1年多了,用戶會(huì)說〇A、那你一定是新員エ了B、那你一定是老員エ了(答案:B.用戶對(duì)華為很了解,都知道你如果在華為做一年,就已經(jīng)是老員エ了)6、接上題及上上題,用戶會(huì)繼續(xù)問,'、那你咋連手機(jī)、便攜機(jī),一個(gè)都沒有呢?",你會(huì)回答〇A、啊,我還沒有轉(zhuǎn)正咧,等俺轉(zhuǎn)正時(shí),誤碼儀、手機(jī)、便攜機(jī),ー個(gè)都不能少B、啊,沒有關(guān)系,正是由于我是老員エ,所以開局用不著C、啊,真倒霉,在來的路上,被土匪打劫了D、啊,被我的兩個(gè)徒弟拿走了,因?yàn)樗麄兪切聠Tエ,沒有工具膽小,有了工具好壯膽(答案:BCD,答A者,立即辭退,這么點(diǎn)事都搞不定)7、當(dāng)你發(fā)現(xiàn)用戶的機(jī)房中沒有拖鞋時(shí),你會(huì)〇A、入鄉(xiāng)隨俗,直接進(jìn)機(jī)房B、光腳丫C、馬上出去自己花錢買幾雙拖鞋送給用戶D、馬上出去買幾雙拖鞋送給用戶,之后開票回來貼票報(bào)銷E、馬上出去買幾雙拖鞋送給用戶,之后開票找局長(zhǎng)報(bào)銷(答案:C.答A者,立即辭退,答B(yǎng)者,酌情給分,答D者,不合格處理,答E者,簡(jiǎn)直是在找死,立即辭退)8、技術(shù)支援工程師工作的特點(diǎn)〇A、白天睡覺,晚上干活B、用戶隨叫隨到C、用戶就是上帝,用戶怎么說,我們就怎么做D、我是上帝,我想咋干就咋干(答案:ABC,答D者,立即辭退)9、在與客戶開會(huì)及紙面件交流時(shí),你會(huì)使用()來稱呼對(duì)方A、局方B、用戶C、客戶D、貴公司(答案:BCD?答A者,立即辭退,我司三令五申禁止使用該華為內(nèi)部土語,屢禁不止, 老員エ不可教也,只好從新員工抓起,格殺勿論)10、工程師甲對(duì)乙說:'、晩上不去泡吧嗎",乙說:'、哦,真不巧,我晚上要去市局割接,下次吧請(qǐng)問乙指的、、割接’‘是什么意思〇A、發(fā)貨電纜不夠長(zhǎng),從別的地方割一段,然后接上B、ー個(gè)工程師替換另ー個(gè)工程師守局,交接的時(shí)候要寫ー個(gè)報(bào)告,然后從中割開,一人拿一半.C、局里晚上有一個(gè)慶?;顒?dòng),請(qǐng)他剪彩.D、業(yè)務(wù)從舊系統(tǒng)上倒到新系統(tǒng)上(答案:D(答錯(cuò)者,按不合格處理)11,工程師A某周日晚正在家里看電視,突然手機(jī)響了,電信局運(yùn)維員エ突然打電話過來,小A接起電話,用戶聲音很急迫,說:''不好了,癱了,你快來處理''O請(qǐng)問這里''癱了''最有可能是什么意思()A、設(shè)備漏電將維護(hù)人員電癱了B、設(shè)備支架不夠結(jié)實(shí),被壓癱了C、設(shè)備壞了,將維護(hù)人員嚇癱了D、設(shè)備壞了,大面積業(yè)務(wù)中斷了(答案:D,答錯(cuò)者,按不合格處理)12、案例分析:某位局長(zhǎng)到傳輸機(jī)房視察工作時(shí),被某物砸傷了腦袋瓜,請(qǐng)問,它最有可能是()A、SS02PBS電源盒蓋板B、SS03PBS電源盒蓋板C、子架蓋板D、防雷盒(答案:A)13、下雨了,打雷了,你會(huì)。A、收衣服B、擔(dān)心網(wǎng)上運(yùn)行的設(shè)備遭到雷公襲擊C、擔(dān)心強(qiáng)盜偷襲機(jī)房?jī)?nèi)的設(shè)備D、擔(dān)心食堂開飯會(huì)晚點(diǎn)(答案:B)突然手機(jī)響了,14、夜深人靜,輾轉(zhuǎn)反側(cè)的你正在考慮小布什與科爾誰當(dāng)選總統(tǒng)會(huì)對(duì)中國(guó)更有利時(shí),最有可能發(fā)生的是()突然手機(jī)響了,A、主管也睡不覺,想找你喝酒B、狐朋狗友找你去蹦的C、用戶找你,因?yàn)闃I(yè)務(wù)斷了D、打錯(cuò)了,是騷擾電話(答案:D)15、請(qǐng)你選擇出最常用的排除故障的方法()A、復(fù)位B、拔插C、掉電D、禱告E、燒香拜神(答案:ABC)16、了為有效降低成本,除了〇的電話,其它的電話一律不接,然后用固定電話回拔過去A、陌生的號(hào)碼B、很熟悉的用戶C、不很熟悉的用戶D、主管與同事E,狐朋狗友F、老婆(答案:C)17,論文題目:驚心動(dòng)魄的一夜本題的目的是考新員エ的文筆,為技術(shù)案例及技術(shù)論文作準(zhǔn)備.寫作要求:1)、故事情節(jié)必須包括:①業(yè)務(wù)割接: ②重大事故; ③事故上報(bào); ④局長(zhǎng)親自督陣; ⑤業(yè)務(wù)中斷時(shí)間不小于5小時(shí); ⑥未造成特別惡劣的影響; ⑦描述電話內(nèi)容個(gè)數(shù)不少于30個(gè);⑧事件發(fā)生有準(zhǔn)確的時(shí)間點(diǎn),精確到秒; ⑨復(fù)位,拔插,換板; ⑩涉及人物不少于20個(gè).2),要體現(xiàn)一個(gè)工程師如何排除萬難,在巨大的精神壓カ下冷靜沉著,終于解決問題,表現(xiàn)了一個(gè)華為エ程師優(yōu)良的單兵作戰(zhàn)能力。3),字?jǐn)?shù)不少于300。字,不超過350。字。18、如果A站和B站之間出現(xiàn)B2誤碼,問題可能在〇板A、A站T16B、A站R16C、A站ASPD、A站X16E、B站T16F、B站R16G、B站ASPH、B站X16I、以上答案均不正確(答案:ABCDEFGH)19、接上題,上述故障現(xiàn)象最有可發(fā)生的地點(diǎn)是〇A、江西九江B、佳木斯本地網(wǎng)C、河南信陽D、沈陽城域(答案:A)20、接上上題,如果讓你去維護(hù)A站與B站之間的B2問題,你會(huì)攜帶哪些必帶物品〇A、便攜機(jī)B、T16、R16、X16、ASP各ー塊C、工具箱D、私人行李E、2M誤碼表F,光功率計(jì)G、老婆(答案:ABCDEF,有句名言,華為工程師出差,除了老婆,什么都得帶)21、接上題,對(duì)于上述出差必備物品,你會(huì)最佳的攜帶方法是〇A、左肩便攜機(jī)、右肩工具箱、左手儀表、右手備板、身后行李B、右肩便攜機(jī)、左肩工具箱、右手儀表、左手備板、身后行李C、讓老子拿這么多東西出差,早知道這樣,老子就不來華為用服了(答案:AB,重復(fù)那句名言,華為工程師出差,除了老婆,什么都得帶)22、接上題,對(duì)于上述情況,你如何打車?。A、向過路司機(jī)擠眉弄眼,眉來眼去,注意,盡量使用媚眼B、將手中的物品放下,向司機(jī)打手勢(shì)C、啥都不用,將一只腳抬起向司機(jī)示意即可D、放開嗓子喊,出租車!(答案:C.經(jīng)實(shí)踐證明,這招很管用)23、接18題,如果A與B點(diǎn)相距40KM,在A站已經(jīng)定位出B站有問題,則從A站下午 13點(diǎn)鐘開車前去換板,車子時(shí)速80KM,需求多長(zhǎng)時(shí)間才能回到A站?〇A、2小時(shí)左右B、8小時(shí)左右C、12小時(shí)左右D、24小時(shí)左右E、48小時(shí)左右(答案:D,答A者開除。因?yàn)楝F(xiàn)場(chǎng)后,白天不能換板,然后等到午夜12點(diǎn)以后オ可以換板, 次日繼續(xù)留守觀察ー上午后,次日下午才能返回)第四部分【生活篇】1、以下手段可以蒙混入關(guān)的是。A、外地身份證B、良民證C、邊防證D、深圳特區(qū)暫住證E、華為エ卡F、婚育證明G、結(jié)婚證H、乘華為班車(答案:CDH)2、如下哪些證件可以應(yīng)付當(dāng)?shù)鼐游瘯?huì)的計(jì)劃生育檢査〇A、婚育證明B、不育證明C、結(jié)婚證D、邊防證(答案:A)3、華為公司員エ在業(yè)余時(shí)間不允許做的事情。A、打麻將B、玩撲克C、出入不健康場(chǎng)所D、將エ卡帶在胸前炫耀E、按摩洗頭(答案:ACD)4、你可以通過以下途徑出租或求租住房及買賣二手商品〇A、生協(xié)NotesB、NotesMailC、華為電子公告牌D、一位辭職員エ辦的個(gè)人主頁R華為專用物業(yè)公告欄》,地址10/hw/(答案:D)5、華為エ卡可以用來()A、在深銀聯(lián)ATM機(jī)上取款B、在華為小賣部買東西C、在華為食堂??吃早餐D、只要蹭到晚9點(diǎn),就可以到食堂領(lǐng)**的宵夜(答案:BD)6、在購(gòu)買機(jī)票時(shí),正常人可以打7折,如果你憑華為エ卡,可以打()A、5折B、7折C、8折D、97折(答案:D)7、如下線路中,票價(jià)最便宜的是()A、113B、204C、226D、331(答案:〇8、如下線路中,小偷最多的是()A、113B、204C、226D、331(答案:BC)9、如下線路中,不能到新時(shí)代廣場(chǎng)的是。A、113B、204C、226D、331E、437F、22(答案:E)10、如下線路中,哪ー個(gè)線路能到新時(shí)代廣場(chǎng)但不能坐的是。A、113B、204C、226D、217E、437F、22(答案:F,因?yàn)樗@很遠(yuǎn),上班會(huì)遲到)11、在新時(shí)代廣場(chǎng),如果你既想拿宵夜,又想坐班車,你會(huì)()A、晚8:50去ー樓刷卡,再馬上跑到三樓,準(zhǔn)排第一,再叫大師傅將宵夜包好,卡機(jī)時(shí)間比快那么幾分鐘,到點(diǎn)刷卡后,馬上順樓梯飛奔到停車場(chǎng)即可,注意千萬不是坐電梯。B、蹭到晚9點(diǎn)鐘以后,領(lǐng)完宵夜,再混一會(huì)兒,坐晚9點(diǎn)以后的班車C、算了,本來魚和熊掌就不能兼得,老子不領(lǐng)了,下班就回家(答案:AB)12、到辦事處出差,當(dāng)?shù)匕才拍阕」镜募w宿舍,真倒霉,同屋的哥們雷聲隆隆,你會(huì)0A、推醒他,給他ー個(gè)紅牌警告B、找辦事處主任理論C、忍了,到客廳凳子上將就一下D、不受那份氣,搬家,到賓館開房間E、武力解決,找本厚書,如華為文摘、走出混飩、培訓(xùn)手冊(cè)等,很很的砸那位哥們一下F、戴上耳機(jī),聽走扁美國(guó)G、頭上蒙上厚被,裝聽不見H、故意打出更響的呼嚕,嚇ー嚇那位哥們(答案:該無標(biāo)準(zhǔn)答案,只要不選BD,答D者,按不合格處理)13、出差回來,發(fā)現(xiàn)出差前還在宿舍中的自己的拖鞋不翼而飛,你會(huì)〇A、死活要將屬于自己的東西找回來,毫不在乎地接著穿B、死活要將屬于自己的東西找回來,用開水燙燙或用消毒水處理一下,然后接著穿C、死活要將屬于自己的東西找回來,然后丟到垃圾桶里D、不要了,再買一雙新的,以免得腳氣E、隨便找一雙穿,管它是誰的F、發(fā)誓下次出差前一定要將自己的拖鞋藏起來(答案:該無標(biāo)準(zhǔn)答案,因?yàn)槊總€(gè)人的個(gè)性不同)14、請(qǐng)從如下四個(gè)句子中選擇一個(gè)正確的描述〇A、人最寶貴的是生命B、人,最寶貴的是生命C、生命對(duì)于人是最寶貴的D、對(duì)于人,沒有比生命更寶貴的(答案:D)15、請(qǐng)問馬路邊的、、風(fēng)炮補(bǔ)胎’’是()A、是汽車修理店的一種招牌,''補(bǔ)胎''是ー種維修業(yè)務(wù),''風(fēng)炮''是一位很有名氣的修車大師,收了很多徒弟,所以,徒第們往往打著師傅的名氣開店,于是,街道就是了N多的風(fēng)炮補(bǔ)胎執(zhí)招牌。這與''狗不理包子''類似.B、是汽車修理店的一種招牌,''風(fēng)炮''是ー種髙效的補(bǔ)胎工具.C、是汽車修理店的一種招牌,''風(fēng)炮''是ー該店的修車師傅的名字,與、'王麻子''剪刀類似.D、是自行車修理店的一種招牌,''風(fēng)炮''是ー種快速粘膠,該膠補(bǔ)自行車胎即快又好.(答案:B)16、請(qǐng)問,距離新時(shí)代廣場(chǎng)最近的''風(fēng)炮補(bǔ)胎''招牌在〇A、從黃貝嶺至蛇口113大巴線的新時(shí)代廣場(chǎng)下車點(diǎn)的馬路對(duì)面B、從蛇口至黃貝嶺113大巴線的新時(shí)代廣場(chǎng)上車點(diǎn)的馬路邊上C、別騙人了,新時(shí)代廣場(chǎng)附近壓根就沒有(答案:AB)17、如下廣告詞正確的是()A、用一天的電,花兩天的錢B、用兩天的電,花一天的錢C、新飛冰箱好,不如新飛廣告做的好D、新飛廣告做的好,不如新飛冰箱好(答案:BD)18、請(qǐng)問,你最討厭如下哪些就餐行為0A、早餐不刷卡,用I0塊錢買B、早餐買N樣C、米飯打N下D、餐紙扯N長(zhǎng)E、夜宵領(lǐng)N樣F、就餐完畢不做5S,雞蛋皮、筷子皮亂扔在餐桌上G、走路時(shí)不照顧自己的餐盤,將餐液濺灑在他人身上H、吃飯咂咂響,喝湯吃面條呼嚕呼噌叫J、在ー個(gè)擁擠的電梯里,某人手持ー盒瘋牛牛奶,使出吃奶的勁狂吸K、領(lǐng)9點(diǎn)鐘的夜宵,坐9點(diǎn)鐘的班車Tag標(biāo)簽:華為,筆試題,新員エ,轉(zhuǎn)正C/C++筆試題(エ)1.找錯(cuò)試題1:SBVoidtestl〇{charstring[10];char*strl='T0123456789T,;strcpy(string,strl);)試題2:SBVoidtest2()(charstring[10]zstrl[10];for(1=0;I<10;I++)(strl[i]=a;}strcpy(string,strl);)試題3:0BVoidtest3(char*strl)charstring[10];if(strlen(strl)<=10)strcpy(stringzstrl);}}解答:testl:字符串strl需要11個(gè)字節(jié)才能存放下(包括末尾的、?!?,而string只有10個(gè)字節(jié)的空間,strcpy會(huì)導(dǎo)致數(shù)組越界test2:如果面試者指出字符數(shù)組strl不能在數(shù)組內(nèi)結(jié)束可以給3分;如果面試者指出strcpy(string,strl)調(diào)用使得從strl內(nèi)存起復(fù)制到string內(nèi)存起所復(fù)制的字節(jié)數(shù)具有不確定性可以給7分,在此基礎(chǔ)上指出庫函數(shù)strcpy工作方式的給10分test3:if(strlen(strl)<=10)應(yīng)改為if(strlen(strl)<10),因?yàn)閟trlen的結(jié)果未統(tǒng)計(jì)‘、?!加玫?個(gè)字節(jié)剖析:考査對(duì)基本功的掌握:(1)字符串以'、。'結(jié)尾;(2)對(duì)數(shù)組越界把握的敏感度:(3)庫函數(shù)strcpy的工作方式,如果編寫ー個(gè)標(biāo)準(zhǔn)strcpy函數(shù)的總分值為1。,下面給出幾個(gè)不同得分的答案:2分voidstrcpy(char*strDest,char*strSrc)<while((*strDest++=*strSrc++)!='\0');}4分voidstrcpy(char*strDest,constchar*strSrc)//將源字符串加const,表明其為輸入?yún)?shù),加2分while((*strDest++=*strSrc++)!='、〇,);7分voidstrcpy(char*strDest,constchar*strSrc){//對(duì)源地址和目的地址加非。斷言,加3分assert((strDest!=NULL)&&(strSrc!=NULL));while((*strDest++=*strSrc++)!='\0');>1。分//為了實(shí)現(xiàn)鏈?zhǔn)讲僮?將目的地址返回,加3分!圧!廠!char*strcpy(char*strDest,constchar*strSrc)(ass

溫馨提示

  • 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)論