版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)2009訊飛軟件開(kāi)發(fā)筆試題目(C+)A卷答案請(qǐng)寫在答題紙上第一部分 綜合基礎(chǔ)試題 共50分1、(4分)用變量a給出下面的定義a) 一個(gè)整型數(shù);b)一個(gè)指向整型數(shù)的指針;c)一個(gè)指向指針的指針,它指向的指針是指向一個(gè)整型數(shù);d)一個(gè)有10個(gè)整型的數(shù)組;e)一個(gè)有10個(gè)指針的數(shù)組,該指針是指向一個(gè)整型數(shù);f)一個(gè)指向有10個(gè)整型數(shù)數(shù)組的指針;g)一個(gè)指向函數(shù)的指針,該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù);h)一個(gè)有10個(gè)指針的數(shù)組,該指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返
2、回一個(gè)整型數(shù)答案:a)int ab)int *a;c)int *a;d)int a10;e)int *a 10;f) int a10, *p=a;g)int (*a)(int)h) int( *a10)(int) 2、(4分)請(qǐng)寫出以下語(yǔ)句的輸出結(jié)果:Int i=43;Int j=5;Double f=25.45181;printf(“i=%d,j=%d,f=%3.2f”,i,j,f);printf(“i=%x,j=%06d,i/j=%d”,i,j,i/j);答案:A)i=43,j=5,f=25.45(說(shuō)明:本來(lái)應(yīng)該輸出最小位有效數(shù)字,.,但是由于限定了位小數(shù),所以強(qiáng)制有位小數(shù),有效數(shù)字的個(gè)數(shù)
3、就起不到強(qiáng)制作用了。如果是%3.1,則輸出為25.5)B)i=2b ,j=00005,i/j=8 (%x顯示的是一個(gè)無(wú)符號(hào)的0 x 16進(jìn)制的整數(shù),%06d輸出的是6位數(shù),不夠6位數(shù),前面補(bǔ)0,i/j兩個(gè)整數(shù)相除,只取商的整數(shù)值)3、(2分)請(qǐng)完成以下宏定義:a)用預(yù)處理指令#define 聲明一個(gè)常數(shù),用以表明1年中有多少個(gè)秒(忽略閏年問(wèn)題)b)寫一個(gè)“標(biāo)準(zhǔn)”宏MIN,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)答案:a)#define seconds 365*24*60*60b) #define MIN(a,b) (a)(b)(a):(b) ABS宏 #define ABS (x)0)?(x):(-
4、(x)4、(6分)以下為32為windows下的c+程序,請(qǐng)計(jì)算:a)char str=”hello”;char *p=str;請(qǐng)計(jì)算:sizeof(str)=sizeof(p)=strlen(p)=答案:6,字符串?dāng)?shù)組以0(空格為結(jié)尾,所以str數(shù)組空間大小為5+1)4,5,strlen函數(shù)區(qū)的字符指針str的長(zhǎng)度,不包括空字符。b)void func(char str100)Void *p=malloc(100);請(qǐng)計(jì)算:sizeof(str)=4sizeof (p)=4c)int a3=1,2,3;int b=sizeof(a)/sizeof(a0);請(qǐng)計(jì)算:b=35、(2分) 設(shè)有定義
5、:int n=0,*p=&n,*q=&p; 則以下選項(xiàng)中,正確的賦值語(yǔ)句是(d)a)p=1; b)*q=2; c)q=p; d)*p=5;6、(2分)const關(guān)鍵字的用途?(至少說(shuō)明兩種)答案:避免變量的值被修改修飾指針 int*const p(地址不可以被修改)int const*p(值不可以被修改)修飾函數(shù)形參 表示該參數(shù)只是用來(lái)傳入值Canst修飾的成員變量 不可以被成員函數(shù)更改、對(duì)于類的成員函數(shù)有時(shí)候必須返回const修飾的類型 避免函數(shù)返回值為左值7、(2分)typedef的c語(yǔ)言中頻繁用以聲明一個(gè)已經(jīng)存在的數(shù)據(jù)類型的同義詞。也可以用以預(yù)處理器做類似的事情。例如:#define d
6、ps struct s*Typedef struct s *tps;以上兩種情況的意圖都是要定義dps和tps作為一個(gè)指向結(jié)構(gòu)s指針。哪種方法更好一些呢?(如果有的話)為什么?1) #define是,在編譯預(yù)處理時(shí)進(jìn)行簡(jiǎn)單的替換,不作正確性檢查,不關(guān)含義是否正確照樣帶入,只有在編譯已被展開(kāi)的時(shí)才會(huì)發(fā)現(xiàn)可能的錯(cuò)誤并報(bào)錯(cuò)。例如:#define PI 3.程序中的:area=PI*r*r 會(huì)替換為3.*r*r如果你把#define語(yǔ)句中的數(shù)字9 寫成字母g 預(yù)處理也照樣帶入。2)typedef是在編譯時(shí)處理的。它在自己的內(nèi)給一個(gè)已經(jīng)存在的類型一個(gè)別名,但是You cannot use the typ
7、edef specifier inside a function definition。8、(8分) 以下是一組有關(guān)內(nèi)存知識(shí)的問(wèn)題,請(qǐng)仔細(xì)看題,回答:Void GetMemory(char *p)P=(char *)malloc(100);Void Test(void)Char *str=Null;GetMemory(str);Strcpy(str,”hello world”);Printf(str);請(qǐng)問(wèn)運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?a)_在函數(shù)中申請(qǐng)內(nèi)存 函數(shù)調(diào)用完畢內(nèi)存直接釋放 str值仍為NULL_char *GetMemory(void)Char p=”hello world”)
8、;Return p;Void Test(void)Char *str=NULL;Str=GetMemory();Printf(str);請(qǐng)問(wèn)運(yùn)行Test函數(shù)會(huì)有什么結(jié)果?b)_void GetMemory2(char *p,int num)*p=(char *)malloc(num);Void Test(void)Char *str=NULL;GetMemory(&str,100);Strcpy(str,”hello”);Printf(str);請(qǐng)問(wèn)運(yùn)行Test函數(shù)會(huì)有什么結(jié)果?c)_hello_void Test(void)Char *str=(char *)malloc(100);Strc
9、py(str,”hello”);Free(str);If(str!=NULL)Strcpy(str,”world”);Printf(str);請(qǐng)問(wèn)運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?world9、(6分)請(qǐng)寫出以下程序的輸出結(jié)果:Class APublic:A() Printf(“A constructed.n”);Virtual A()printf(“A deconstructed.n”);Virtual void Fn()printf(“A fn called.n”);Class B:public APublic:B()printf(“B constructed.n”);Virtual B(
10、)printf(“B deconstructed.n”);Virtual void Fn()printf(“B fn called.n”);Class C:public BPublic:C()printf(“C constructed.n”);Virtual C()printf(“C deconstructed.n”);Virtual void Fn()printf(“C fn called.n”);Void main(int argc,char* grgv)A *pA=new B;If(pA!=NULL)pA-fn();B *pB=static_cast(pA);If(pB!=NULL)pB
11、-fn();C * pC=static_cast(pA);If(pC!=NULL)pC-fn();delete pA;10.(2分)以下說(shuō)法錯(cuò)誤的是:(b)A)指針和引用作為函數(shù)參數(shù)都可以改變實(shí)參B)指針和引用都可以在定義后任意的改變指向C)引用必須在創(chuàng)建的時(shí)候初始化,而指針則不需要D)不能空引用,但是可以有空指針11、?(2分) 下列關(guān)于多態(tài)的描述,錯(cuò)誤的是(c)A)C+語(yǔ)言的多態(tài)性分為編譯時(shí)的多態(tài)和運(yùn)行時(shí)的多態(tài)性B)編譯時(shí)的多態(tài)性可以通過(guò)函數(shù)重載來(lái)實(shí)現(xiàn)C)運(yùn)行時(shí)的多態(tài)性可以通過(guò)模板和虛函數(shù)來(lái)實(shí)現(xiàn)D)實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的機(jī)制稱動(dòng)態(tài)綁定12、(2分) 運(yùn)算符的重載形式有兩種,重載為_(kāi)類的成員函數(shù)
12、重載_和_友元函數(shù)重載_13、(2分) main主函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼?請(qǐng)說(shuō)明理由?一段程序是以main函數(shù)開(kāi)始 main函數(shù)執(zhí)行完畢程序結(jié)束 如果想在mian函數(shù)退出后執(zhí)行代碼可以使用atexit()函數(shù) 注冊(cè)一個(gè)函數(shù)14、(2分)C+中的空類,默認(rèn)產(chǎn)生那些類成員函數(shù)?缺省的構(gòu)造函數(shù)缺省的拷貝構(gòu)造函數(shù)缺省的析構(gòu)函數(shù)缺省的賦值運(yùn)算符缺省的地址運(yùn)算符缺省的地址運(yùn)算符const第二部分 概念簡(jiǎn)答 (共10分)15、(4分)簡(jiǎn)述STL庫(kù)的功能,并給出遍歷一個(gè)包含一組整型數(shù)的vector的代碼。16、(5分)請(qǐng)寫出貝葉斯公式P(A|B)=P(B|A)*P(A)/P(B)(5分)進(jìn)程
13、和線程的區(qū)別和聯(lián)系?1)進(jìn)程:子進(jìn)程是父進(jìn)程的復(fù)制品。子進(jìn)程獲得父進(jìn)程時(shí)間空間, 堆和棧的復(fù)制品 2)線程:相對(duì)進(jìn)程而言,線程是程序執(zhí)行的基本單位,它可以與同進(jìn)程的其他線程共享數(shù)據(jù),但擁有自己的棧空間,擁有獨(dú)立的執(zhí)行序列。 速度: 線程產(chǎn)生的速度快,線程間的通信快.切換快,因?yàn)樗麄?都在同一個(gè)地址空間 資源利用率:線程的資源利用率比較好也是他們?cè)谕粋€(gè)地址空間 同步問(wèn)題:線程使用公共變量或內(nèi)存是需要使用同步機(jī)制,還是因?yàn)?他們?cè)谕坏刂房臻g。 二者都可以提高程序的并發(fā)度,提高程序運(yùn)行效率和響應(yīng)時(shí)間。線程和進(jìn)程在使用上各有優(yōu)缺點(diǎn):線程執(zhí)行開(kāi)銷小,但不利于資源管理和保護(hù)。 同時(shí),線程適合在SMP機(jī)
14、器上運(yùn)行,而進(jìn)程則可以跨機(jī)器遷移(SMP)(共享內(nèi)存多處理器)2 .用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的功能?要求給出算法和思路堆棧的特征:FILO 先進(jìn)后出隊(duì)列的特征:FIFO 先進(jìn)先出所以,用兩個(gè)棧s1和s2模擬一個(gè)隊(duì)列時(shí),s1作輸入棧,逐個(gè)元素壓棧,以此模擬隊(duì)列元素的入隊(duì)。當(dāng)需要出隊(duì)時(shí),將棧s1退棧并逐個(gè)壓入棧s2中,s1中最先入棧的元素,在s2中處于棧頂。s2退棧,相當(dāng)于隊(duì)列的出隊(duì),實(shí)現(xiàn)了先進(jìn)先出。顯然,只有棧s2為空且s1也為空,才算是隊(duì)列空。算法中假定棧s1和棧s2容量相同。出隊(duì)從棧s2出,當(dāng)s2為空時(shí),若s1不空,則將s1倒入s2再出第三部分 算法設(shè)計(jì)與設(shè)計(jì)思考 共30分18、(10分) 請(qǐng)不
15、用任何c runtime函數(shù)實(shí)現(xiàn)以下函數(shù):Inter trim_str(char *pstr)函數(shù)功能如下:濾掉字符串頭尾的空格、回車、tab輸出字符串通過(guò)輸入字符串指針?lè)祷厝绻晒t返回0否則返回非0(10分)有N個(gè)大小不等的自然數(shù)(1,2,3,.N)請(qǐng)將它們從小到大排列。算法要求:時(shí)間復(fù)雜度為O(n),空間復(fù)雜度為O(1)。請(qǐng)簡(jiǎn)要說(shuō)明你采用的排序算法并寫出c的偽代碼??焖倥判?0、(10分) 用文字和圖示(類圖)描述你所知道的除單件模式和簡(jiǎn)單工廠之外的一種設(shè)計(jì)模式,并用c+實(shí)現(xiàn)第四部分 知識(shí)面考察 共10分21、(10分)請(qǐng)?jiān)谙铝腥}中任選一題作答A)什么是內(nèi)存的垃圾回收集算法,其作用是什
16、么?據(jù)你所知,有那些開(kāi)發(fā)語(yǔ)言中提供了垃圾收集機(jī)制?自動(dòng)回收你曾經(jīng)聲明過(guò),但不使用了的那些變量。C# JAVAB)現(xiàn)在非常多的用戶都在談SOA,根據(jù)Gartner的預(yù)測(cè),2008年,企業(yè)80%應(yīng)用都將通過(guò)使用SOA來(lái)實(shí)現(xiàn),你理解SOA是什么?SOA的關(guān)鍵特點(diǎn)有哪些?SOA帶來(lái)什么?面向服務(wù)的體系結(jié)構(gòu)SOA服務(wù)具有平臺(tái)獨(dú)立的自我描述XML文檔。SOA 服務(wù)用消息進(jìn)行通信,該消息通常使用XML Schema來(lái)定義在一個(gè)企業(yè)內(nèi)部,SOA服務(wù)通過(guò)一個(gè)扮演目錄列表(directory listing)角色的登記處(Registry)來(lái)進(jìn)行維護(hù)。C)隨著互聯(lián)網(wǎng)的普及,很多新興的、傳統(tǒng)的軟件廠商都在探討SAA
17、S的前景,甚至很多行業(yè)觀點(diǎn)認(rèn)為SAAS是軟件行業(yè)的未來(lái)趨勢(shì)。你是怎么理解SAAS的,你怎么看待這種趨勢(shì)?SAAs和更早之前的ASP感念有什么異同?用戶用軟件不再需要一次性花費(fèi)大量資金購(gòu)買軟件,只需要按需要支付租金就可以了,如果不想續(xù)用,可以隨時(shí)停租附加:goto語(yǔ)句有沒(méi)有必要存在程序設(shè)計(jì)語(yǔ)言中答案:結(jié)構(gòu)程序設(shè)計(jì)是避免使用GOTO語(yǔ)句的一種程序設(shè)計(jì); 結(jié)構(gòu)程序設(shè)計(jì)是自頂向下的程序設(shè)計(jì); 結(jié)構(gòu)程序設(shè)計(jì)是一種組織和編制程序的方法,利用它編制的程序易于理解、易于修改; 程序結(jié)構(gòu)化的一個(gè)主要功能是使程序正確性的證明容易實(shí)現(xiàn); 結(jié)構(gòu)程序設(shè)計(jì)對(duì)設(shè)計(jì)過(guò)程中的每一步去驗(yàn)證其正確性,這樣便自動(dòng)導(dǎo)致自我說(shuō)明和自我捍
18、衛(wèi)的程序設(shè)計(jì)風(fēng)格;在60年代末和70年代初,關(guān)于GOTO語(yǔ)句的用法的爭(zhēng)論比較激烈。主張從高級(jí)程序語(yǔ)言中去掉GOTO語(yǔ)句的人認(rèn)為,GOTO語(yǔ)句是對(duì)程序結(jié)構(gòu)影響最大的一種有害的語(yǔ)句,他們的主要理由是:GOTO語(yǔ)句使程序的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)結(jié)構(gòu)不一致,從而使程序難以理解,難以查錯(cuò)。去掉GOTO語(yǔ)句后,可直接從程序結(jié)構(gòu)上反映程序運(yùn)行的過(guò)程。這樣,不僅使程序結(jié)構(gòu)清晰,便于理解,便于查錯(cuò),而且也有利于程序的正確性證明。 持反對(duì)意見(jiàn)的人認(rèn)為,GOTO語(yǔ)句使用起來(lái)比較靈活,而且有些情形能提高程序的效率。若完全刪去GOTO語(yǔ)句,有些情形反而會(huì)使程序過(guò)于復(fù)雜,增加一些不必要的計(jì)算量。1974年,DE克努斯對(duì)于GOTO語(yǔ)句爭(zhēng)論作了全面公正的評(píng)述,其基本觀點(diǎn)是:不加限制地使用GOTO語(yǔ)句,特別是使用往回跳的GOTO語(yǔ)句,會(huì)使程序結(jié)構(gòu)難于理解,在這種情形,應(yīng)盡量避免使用GOTO語(yǔ)句。但在另外一些情況下,為了提高程序的效率,同時(shí)又不致于破壞程序的良好結(jié)構(gòu),有控制地使用一些GOTO語(yǔ)句也是必要的。用他的話來(lái)說(shuō)就是:“在有些情形,我主張刪掉GOTO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)教育部十二大學(xué)科劃分
- 2024-2025學(xué)年魯教版(五四學(xué)制)七年級(jí)英語(yǔ)下冊(cè)+復(fù)習(xí)學(xué)案
- 城市軌道交通專業(yè)英語(yǔ)(第三版) 課件 U5 Monorail
- 二輪復(fù)習(xí)古代中國(guó)的政治制度課件
- 2025年湖南益陽(yáng)市桃江縣竹鄉(xiāng)國(guó)有資產(chǎn)運(yùn)營(yíng)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年中石油廣東銷售分公司招聘筆試參考題庫(kù)含答案解析
- 2025年重慶出版集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年重慶交運(yùn)科技有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年日照城投集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年國(guó)投資本股份有限公司招聘筆試參考題庫(kù)含答案解析
- 1超分子化學(xué)簡(jiǎn)介
- 廣東省中醫(yī)院進(jìn)修申請(qǐng)表
- 聚酯合成副反應(yīng)介紹
- 電除顫教學(xué)課件
- 竣工之風(fēng)量平衡測(cè)試報(bào)告air distribution balance report
- 貝利嬰幼兒發(fā)展量表(BSID)
- 說(shuō)明書hid500系列變頻調(diào)速器使用說(shuō)明書s1.1(1)
- 橫版榮譽(yù)證書模板可修改打印 (9)
- 建設(shè)銀行股份關(guān)聯(lián)交易申報(bào)及信息披露系統(tǒng)操作手冊(cè)新一代
- 建筑工程施工勞務(wù)清包工合同
- 成都市國(guó)土資源局關(guān)于加強(qiáng)國(guó)有建設(shè)用地土地用途變更和
評(píng)論
0/150
提交評(píng)論