




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.static有什么用途?(請至少說明兩種) (1)函數(shù)體內(nèi)static變量的作用范圍為該函數(shù)體,不同于auto變量,該變量的內(nèi)存只被分配一次,因此其值在下次調(diào)用時仍維持上次的值;(2)在模塊內(nèi)的static全局變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問;(3)在模塊內(nèi)的static函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用,這個函數(shù)的使用范圍被限制在聲明它的模塊內(nèi);(4)在類中的static成員變量屬于整個類所擁有,對類的所有對象只有一份拷貝;(5)在類中的static成員函數(shù)屬于整個類所擁有,這個函數(shù)不接收this指針,因而只能訪問類的static成員變量。2.引用與指針有什么區(qū)別
2、? 1) 引用必須被初始化,指針不必。 2) 引用初始化以后不能被改變,指針可以改變所指的對象。 3) 不存在指向空值的引用,但是存在指向空值的指針。3. 什么是“引用”?申明和使用“引用”要注意哪些問題?答:引用就是某個目標(biāo)變量的“別名”(alias),對應(yīng)用的操作與對變量直接操作效果完全相同。申明一個引用的時候,切記要對其進(jìn)行初始化。引用聲明完畢后,相當(dāng)于目標(biāo)變量名有兩個名稱,即該目標(biāo)原名稱和引用名,不能再把該引用名作為其他變量名的別名。聲明一個引用,不是新定義了一個變量,它只表示該引用名是目標(biāo)變量名的一個別名,它本身不是一種數(shù)據(jù)類型,因此引用本身不占存儲單元,系統(tǒng)也不給引用分配存儲單元。
3、不能建立數(shù)組的引用。4. 將“引用”作為函數(shù)參數(shù)有哪些特點(diǎn)?(1)傳遞引用給函數(shù)與傳遞指針的效果是一樣的。這時,被調(diào)函數(shù)的形參就成為原來主調(diào)函數(shù)中的實(shí)參變量或?qū)ο蟮囊粋€別名來使用,所以在被調(diào)函數(shù)中對形參變量的操作就是對其相應(yīng)的目標(biāo)對象(在主調(diào)函數(shù)中)的操作。(2)使用引用傳遞函數(shù)的參數(shù),在內(nèi)存中并沒有產(chǎn)生實(shí)參的副本,它是直接對實(shí)參操作;而使用一般變量傳遞函數(shù)的參數(shù),當(dāng)發(fā)生函數(shù)調(diào)用時,需要給形參分配存儲單元,形參變量是實(shí)參變量的副本;如果傳遞的是對象,還將調(diào)用拷貝構(gòu)造函數(shù)。因此,當(dāng)參數(shù)傳遞的數(shù)據(jù)較大時,用引用比用一般變量傳遞參數(shù)的效率和所占空間都好。(3)使用指針作為函數(shù)的參數(shù)雖然也能達(dá)到與使用
4、引用的效果,但是,在被調(diào)函數(shù)中同樣要給形參分配存儲單元,且需要重復(fù)使用*指針變量名的形式進(jìn)行運(yùn)算,這很容易產(chǎn)生錯誤且程序的閱讀性較差;另一方面,在主調(diào)函數(shù)的調(diào)用點(diǎn)處,必須用變量的地址作為實(shí)參。而引用更容易使用,更清晰。5.全局變量和局部變量在內(nèi)存中是否有區(qū)別?如果有,是什么區(qū)別? 全局變量儲存在靜態(tài)數(shù)據(jù)庫,局部變量在堆棧。6.堆棧溢出一般是由什么原因?qū)е碌模?沒有回收垃圾資源。具體 :分配的數(shù)組過大, 函數(shù)遞歸的層次過深。等。7.分別寫出BOOL,int,float,指針類型的變量a 與“零”的比較語句。答案:BOOL : if ( !a ) or if(a)int : if ( a = 0)
5、float :const EXP = 0.000001 if ( a -EXP)pointer : if ( a != NULL) or if(a = NULL) (.寫出float x 與“零值”比較的if語句。) if(x0.000001&x-0.000001)8. 什么時候需要“引用”?流操作符、賦值操作符=的返回值、拷貝構(gòu)造函數(shù)的參數(shù)、賦值操作符=的參數(shù)都推薦使用引用。9. 結(jié)構(gòu)與聯(lián)合有和區(qū)別?1. 結(jié)構(gòu)和聯(lián)合都是由多個不同的數(shù)據(jù)類型成員組成, 但在任何同一時刻, 聯(lián)合中只存放了一個被選中的成員(所有成員共用一塊地址空間), 而結(jié)構(gòu)的所有成員都存在(不同成員的存放地址不同)。2. 對于
6、聯(lián)合的不同成員賦值, 將會對其它成員重寫, 原來成員的值就不存在了, 而對于結(jié)構(gòu)的不同成員賦值是互不影響的。.不能做switch()的參數(shù)類型是: switch的參數(shù)不能為實(shí)型。10 頭文件中的ifndef/define/endif 的作用?答:防止該頭文件被重復(fù)引用。11. include 與 include file.h的區(qū)別?答:前者是從系統(tǒng)標(biāo)準(zhǔn)目錄的路徑尋找和引用file.h,而后者是從當(dāng)前工作路徑搜尋并引用file.h。12 在C+ 程序中調(diào)用被C 編譯器編譯后的函數(shù),為什么要加extern “C”?首先,作為extern是C/C+語言中表明函數(shù)和全局變量作用范圍(可見性)的關(guān)鍵字,
7、該關(guān)鍵字告訴編譯器,其聲明的函數(shù)和變量可以在本模塊或其它模塊中使用。通常,在模塊的頭文件中對本模塊提供給其它模塊引用的函數(shù)和全局變量以關(guān)鍵字extern聲明。例如,如果模塊B欲引用該模塊A中定義的全局變量和函數(shù)時只需包含模塊A的頭文件即可。這樣,模塊B中調(diào)用模塊A中的函數(shù)時,在編譯階段,模塊B雖然找不到該函數(shù),但是并不會報錯;它會在連接階段中從模塊A編譯生成的目標(biāo)代碼中找到此函數(shù)extern C是連接申明,被extern C修飾的變量和函數(shù)是按照C語言方式編譯和連接的,來看看C+中對類似C的函數(shù)是怎樣編譯的:作為一種面向?qū)ο蟮恼Z言,C+支持函數(shù)重載,而過程式語言C則不支持。函數(shù)被C+編譯后在符
8、號庫中的名字與C語言的不同。例如,假設(shè)某個函數(shù)的原型為: void foo( int x, int y );該函數(shù)被C編譯器編譯后在符號庫中的名字為foo,而C+編譯器則會產(chǎn)生像_foo_int_int之類的名字(不同的編譯器可能生成的名字不同,但是都采用了相同的機(jī)制)。_foo_int_int這樣的名字包含了函數(shù)名、函數(shù)參數(shù)數(shù)量及類型信息,C+就是靠這種機(jī)制來實(shí)現(xiàn)函數(shù)重載的。例如,在C+中,函數(shù)void foo( int x, int y )與void foo( int x, float y )編譯生成的符號是不相同的,后者為_foo_int_float。13.New delete 與mal
9、loc free 的聯(lián)系與區(qū)別?答案:都是在堆(heap)上進(jìn)行動態(tài)的內(nèi)存操作。用malloc函數(shù)需要指定內(nèi)存分配的字節(jié)數(shù)并且不能初始化對象,new 會自動調(diào)用對象的構(gòu)造函數(shù)。delete 會調(diào)用對象的析構(gòu)函數(shù),而free 不會調(diào)用對象的析構(gòu)函數(shù).14. c中struct 和c+中 class 的區(qū)別答案:struct 的成員默認(rèn)是公有的,而類的成員默認(rèn)是私有的。C中struct不能包含成員函數(shù),c+中class可以包含成員函數(shù)。15 說說Const的作用?(1)欲阻止一個變量被改變,可以使用const關(guān)鍵字。在定義該const變量時,通常需要對它進(jìn)行初始化,因?yàn)橐院缶蜎]有機(jī)會再去改變它了;(
10、2)對指針來說,可以指定指針本身為const,也可以指定指針?biāo)傅臄?shù)據(jù)為const,或二者同時指定為const;(3)在一個函數(shù)聲明中,const可以修飾形參,表明它是一個輸入?yún)?shù),在函數(shù)內(nèi)部不能改變其值;(4)對于類的成員函數(shù),若指定其為const類型,則表明其是一個常函數(shù),不能修改類的成員變量;(5)對于類的成員函數(shù),有時候必須指定其返回值為const類型,以使得其返回值不為左值。寫一個程序, 要求功能:求出用1,2,5這三個數(shù)不同個數(shù)組合的和為100的組合個數(shù)。如:100個1是一個組合,5個1加19個5是一個組合。 答案:最容易想到的算法是:設(shè)x是1的個數(shù),y是2的個數(shù),z是5的個數(shù),n
11、umber是組合數(shù)注意到0=x=100,0=y=50,0=z=20,所以可以編程為:number=0;for (x=0; x=100; x+)for (y=0; y=50; y+)for (z=0; z=20; z+)if (x+2*y+5*z)=100)number+;coutnumberendl;上面這個程序一共要循環(huán)100*50*20次,效率實(shí)在是太低了事實(shí)上,這個題目是一道明顯的數(shù)學(xué)問題,而不是單純的編程問題。因?yàn)閤+2y+5z=100所以x+2y=100-5z,且z=20 x=100 y=50所以(x+2y)=100,且(x+5z)是偶數(shù)對z作循環(huán),求x的可能值如下:z=0, x=1
12、00, 98, 96, . 0z=1, x=95, 93, ., 1z=2, x=90, 88, ., 0z=3, x=85, 83, ., 1z=4, x=80, 78, ., 0.z=19, x=5, 3, 1z=20, x=0某個偶數(shù)m以內(nèi)的偶數(shù)個數(shù)(包括0)可以表示為m/2+1=(m+2)/2某個奇數(shù)m以內(nèi)的奇數(shù)個數(shù)也可以表示為(m+2)/2所以,求總的組合次數(shù)可以編程為:number=0;for (int m=0;m=100;m+=5)number+=(m+2)/2;coutnumber=a&*s=z)*us = *s-32;else*us = *s;*us = 0;int main()char *s,*us;char ss20;printf(Please input a string:n);scanf(%s,ss);s = ss;uppers(s,us);printf(The result is:n%sn,us);getch();請?jiān)谛∮?9999的正整數(shù)中找符合下列條件的數(shù),它既是完全平方數(shù),又有兩位數(shù)字相同,如:144,676。#include#include/函數(shù)havesamenum確認(rèn)num是否滿足條件int havesamenum(int num)int i=0,j;cha
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 客服人員服務(wù)標(biāo)準(zhǔn)與獎勵協(xié)議3篇
- 定金合同轉(zhuǎn)讓人權(quán)益書3篇
- 工程項(xiàng)目施工安全合同樣本3篇
- 一日常規(guī)心得體會 一日常規(guī)工作培訓(xùn)心得(3篇)
- 家庭裝修施工合同違約上訴3篇
- 物業(yè)應(yīng)急預(yù)案范文(19篇)
- 遠(yuǎn)離垃圾食品關(guān)注身體健康演講稿(34篇)
- 會計(jì)核算心得體會(15篇)
- 保安個人述職報告(27篇)
- 2024年羅甸縣第一醫(yī)共體平巖分院招聘專業(yè)技術(shù)人員考試真題
- 《小學(xué)生預(yù)防溺水安全教育班會》課件
- 傳統(tǒng)園林技藝智慧樹知到期末考試答案2024年
- 直播中的禮儀與形象塑造
- 2024年八年級數(shù)學(xué)下冊期中檢測卷【含答案】
- 老年人中醫(yī)健康知識講座總結(jié)
- 海南聲茂羊和禽類半自動屠宰場項(xiàng)目環(huán)評報告
- 跳繩市場調(diào)研報告
- 《民法典》合同編通則及司法解釋培訓(xùn)課件
- 《大學(xué)生的情緒》課件
- 交通事故法律處理與索賠案例分析與實(shí)踐指導(dǎo)
- 大學(xué)生組織管理能力大賽題庫第三屆
評論
0/150
提交評論