




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、請?zhí)顚?BOOL , float,指針變量與 “零值 ”比較的 if 語句(零值可以為0 ,0.0 ,F(xiàn)alse或空指針)。例如: int變量 n 與“零值 ”比較的 if 語句為:if(n=0)if(n!=0)1 、請寫出 BOOL flag與零值的比較的 if 語句:if(flag)if(!flag)2 、請寫出 float x與零值比較的 if 語句:const float EPSINON=0.00001;if(x=EPSINON) & (x=EPSINON)3 、請寫出 char *p與零值比較的 if 語句:if(p= =NULL)if(p!=NULL)二、以下為 windows
2、 NT下的 32為 C+ 程序,請計算 sizeof的值。1 、char str= ” Hello ”;Char *p=str;int n=10;請計算 sizeof(str)=6sizeof(p)=4sizeof(n)=42 、void Func(char str100)sizeof(str)=44 、 void *p=malloc(100);sizepf(p)=4三、簡答題。1 、頭文件中的 ifndef/define/endif干什么用?答:防止該頭文件被重復(fù)引用。2 、#include和#include“ filename.h”有什么區(qū)別?答 : 對 于 #include編 譯 器 從
3、 標(biāo) 準(zhǔn) 庫 路 徑 搜 索filename.h;對于 #include”filename.h”編譯 器從 用戶工作 路徑 搜索filename.h。3 、const有什么用途?答:可以定義 const常量;Const可以修飾函數(shù)的參數(shù)、返回值,甚至是函數(shù)的定義體。被const修飾的東西都受到強(qiáng)制保護(hù),可以防止意外的變動,能提高程序的健壯性。4 、在 C+ 程序中調(diào)用 C 編譯器編譯后的函數(shù),為什么要加extern” C”聲明?答:C+ 支持函數(shù)重載, C 語言不支持函數(shù)重載。函數(shù)被C+ 編譯后在庫中的名字與 C 語言不同。假設(shè)某個函數(shù)原型為:void foo(int x, int y);該函
4、數(shù)被C 語言編譯后在庫中的名字變?yōu)開foo, 而被 C+ 編譯后則會產(chǎn)生像_foo_int_int之類的名字。所以,C+ 提供了 C 連接交換指定符號extern”C ”來解決名字匹配問題。5 、請簡述以下兩個for循環(huán)的優(yōu)缺點(diǎn)。/第一個for(i=0; iN; i+)if(condition)DoSomething();/第二個if(condition) for(i=0; iN; j+)DoSomething();elseDoOtherthing();else for(i=0; iN; i+)DoOtherthing();答:第一個的優(yōu)點(diǎn)是:程序簡潔。缺點(diǎn)是:多執(zhí)行了N-1次邏輯判斷,并打斷
5、了循環(huán)“流水”作業(yè),是編譯器不能對循環(huán)進(jìn)行優(yōu)化處理,降低了效率。第二個的優(yōu)點(diǎn)是:循環(huán)效率高。缺點(diǎn)是:程序不夠簡潔。四、有關(guān)內(nèi)存的思考題。1 、void GetMemory(char *p)P=(char *)malloc(100);Void Test(void)Char *str=NULL;GetMemory(str);Strcpy(str,” hello world” );printf(str);請問運(yùn)行 Test函數(shù)會有什么樣的結(jié)果?答:程序會崩潰。因?yàn)?GetMemoty并不能傳遞動態(tài)內(nèi)存,Test函數(shù)的 str一直都是 NULL 。Strcpy(str,“hello world ”);
6、 將會使程序崩潰。2 、char *GerMemory(void)char p=” hello world”;return p;Void Test(void)Char *str=NULL;Str=GetMemory();Printf(str);請問運(yùn)行 Test函數(shù)后有什么樣的結(jié)果?答:可能是亂碼。因?yàn)?GetMemory返回的是指向 ”棧內(nèi)存 ”的指針,該地址的內(nèi)存不是NULL ,但其原先內(nèi)容已被清除,所以新內(nèi)容不可而知。3 、void GetMemory2(char *p, int num)*p=(char *)malloc(num);Void Test(void)Char *str=NU
7、LL;GetMemory(&str, 100);strcpy(str,“ hello ” );printf(str);請問運(yùn)行 Test函數(shù)后有什么樣的結(jié)果?答:輸出 ”hello ”,內(nèi)存泄漏。4 、void Test(void)Char *str=(char *)malloc(100);strcpy(str,“ hello” );free(str);if(str!=NULL)strcpy(str,“ world ” );printf(str);請問運(yùn)行 Test函數(shù)后有什么樣的結(jié)果?答:篡改動態(tài)內(nèi)存的內(nèi)容,后果難以預(yù)料,這種行為非常危險。因?yàn)?free(str)后, str變成野指針, i
8、f(str!=NULL)不起作用。五、編寫 strcpy函數(shù)。已知strcpy函數(shù)的原型是: char*strcpy(char*strDest,constchar *strSrc);其中, strDest是目的字符串, strSrc是源字符串。、不調(diào)用 C+/C 的字符串庫函數(shù),請編寫函數(shù) strcpy 。解答: char *strcpy(char *strDest, const char *strSrc)assert(strDest! = NULL) & (strSrc! = NULL);char *address = strDest;while(*strDest+ = *strSrc+)
9、!=0 )NULL;ruturnaddress;(2) 、strcpy能把 strSrc的內(nèi)容復(fù)制到strDest,為什么還要 char *類型的返回值?答:為了實(shí)現(xiàn)鏈?zhǔn)奖磉_(dá)式。例如: int length=strlen(strcpy(strDest,“hello world!”);六、編寫 String的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)。已知類 String的原型為:Class Stringpublic:String(const char *str=NULL);/普通構(gòu)造函數(shù)String(const String &other);/拷貝構(gòu)造函數(shù)String(void)/析構(gòu)函數(shù)String &o
10、peratr=(const String &orher);/賦值函數(shù)private:char *m_date;請寫出 String上述的四個函數(shù)。解答:/String的析構(gòu)函數(shù)String:String(void)delete m_data;/由于 m_data是內(nèi)部數(shù)據(jù)類型,所以可以寫出delete m_data;/String的普通構(gòu)造函數(shù)String:String(const char *p)if(p=NULL)m_data=new char(1);*m_data=0 ;elseInt length=strlen(str);m_data=new char(length+1);strcpy
11、(m_data,str);/String的拷貝構(gòu)造函數(shù)String:String(const String &other)int length=strlen(other.m_data);m_data=new char(length+1);strcpy(m_data, other.m_data);/String的復(fù)制構(gòu)造函數(shù)String & String:operate=(const String &other)if(this=&other)return this;/檢查自賦值delete m_data;/釋放原有的內(nèi)存資源int length=strlen(other.m_data); m_d
12、ata=new char(length+1); strcmp(m_data, other.m_data);/分配新的內(nèi)存資源,并復(fù)制內(nèi)容return this;/返回本對象的引用出師表兩漢:諸葛亮先帝創(chuàng)業(yè)未半而中道崩殂, 今天下三分, 益州疲弊, 此誠危急存亡之秋也。然侍衛(wèi)之臣不懈于內(nèi),忠志之士忘身于外者,蓋追先帝之殊遇,欲報之于陛下也。誠宜開張圣聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。宮中府中,俱為一體;陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理;不宜偏私,使內(nèi)外異法也。侍中、侍郎郭攸之、費(fèi)祎、董允等,此皆良實(shí),志慮忠純,是
13、以先帝簡拔以遺陛下:愚以為宮中之事,事無大小,悉以咨之,然后施行,必能裨補(bǔ)闕漏,有所廣益。將軍向?qū)櫍孕惺缇瑫詴耻娛拢囉糜谖羧眨鹊鄯Q之曰愚以為營中之事,悉以咨之,必能使行陣和睦,優(yōu)劣得所。“能 ”,是以眾議舉寵為督:親賢臣, 遠(yuǎn)小人, 此先漢所以興隆也; 親小人, 遠(yuǎn)賢臣, 此后漢所以傾頹也。 先帝在時,每與臣論此事, 未嘗不嘆息痛恨于桓、 靈也。 侍中、尚書、 長史、 參軍,此悉貞良死節(jié)之臣,愿陛下親之、信之,則漢室之隆,可計日而待也。臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達(dá)于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當(dāng)世之事,由是感激,遂許先帝以驅(qū)馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。先帝知臣謹(jǐn)慎,故臨崩寄臣以大事也。受命以來,夙夜憂嘆
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高精度計數(shù)儀表研發(fā)-第1篇-全面剖析
- 鏈上交易監(jiān)控與反洗錢機(jī)制-全面剖析
- 藝術(shù)與科技融合趨勢-第1篇-全面剖析
- 附加萬壽兩全保險(利差返還型)保險合同8篇
- 網(wǎng)絡(luò)游戲代理與合作協(xié)議
- 工業(yè)自動化設(shè)備生產(chǎn)供應(yīng)協(xié)議
- 2025共同經(jīng)營合同模板示例
- 2025年新房地產(chǎn)開發(fā)合同范本
- 2025年土地使用權(quán)轉(zhuǎn)讓合同協(xié)議
- 2024年超強(qiáng)吸水聚合物項(xiàng)目資金需求報告代可行性研究報告
- 基于STM32單片機(jī)的智能停車場車位管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 《土地管理法解析》課件
- 大數(shù)據(jù)開發(fā)工程師招聘面試題與參考回答(某世界500強(qiáng)集團(tuán))2025年
- 養(yǎng)老院查房巡視管理制度
- 按摩店技師免責(zé)協(xié)議書
- 聲音與情緒管理
- 直播中控轉(zhuǎn)正述職報告
- 史寧中:義務(wù)教育數(shù)學(xué)課標(biāo)(2022年版)解讀
- 中華人民共和國統(tǒng)計法
- 機(jī)電設(shè)備安裝與調(diào)試技術(shù)課件
- 高三小說復(fù)習(xí)之?dāng)⑹录记墒」_課獲獎?wù)n件市賽課比賽一等獎?wù)n件
評論
0/150
提交評論