關(guān)于清明節(jié)的初中作文(精選11篇)
一、問(wèn)答題:50分

1、寫(xiě)出new和malloc、delete和free的區(qū)別
從面向?qū)ο髞?lái)說(shuō),new/delete和malloc/free的區(qū)別是:malloc/free只是單純的進(jìn)行內(nèi)存空間的分配和釋放,而使用new/delete時(shí),不僅分配了內(nèi)存空間,若new/delete的是一個(gè)類,還會(huì)調(diào)用類(經(jīng)測(cè)試,基本類型好像不會(huì)進(jìn)行默認(rèn)初始化)的構(gòu)造函數(shù)或析構(gòu)函數(shù)。
簡(jiǎn)單來(lái)說(shuō),兩者的區(qū)別主要有:
1. malloc與free是C++/C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)函數(shù),new/delete是C++的運(yùn)算符,與”+“、”-“、”*“、”/“有一樣的地位。
2. new/delete是可以重載的,而重載之后,就成為了函數(shù)。
3. malloc在申請(qǐng)內(nèi)存的時(shí)候,必須要提供申請(qǐng)的長(zhǎng)度,而且返回的指針是void*型,必須要強(qiáng)轉(zhuǎn)成需要的類型。
4. 當(dāng)new/delete在類中被重載的時(shí)候,可以自定義申請(qǐng)過(guò)程,比如記錄所申請(qǐng)內(nèi)存的總長(zhǎng)度,以及跟蹤每個(gè)對(duì)象的指針。
5. new/delete,其實(shí)內(nèi)部也調(diào)用了malloc/free。
兩者的共同點(diǎn)有:
1. 都必須配對(duì)使用,防止內(nèi)存泄露。
2. 都可用于申請(qǐng)動(dòng)態(tài)內(nèi)存和釋放內(nèi)存,都是在堆中分配內(nèi)存。
3. free和delete可以釋放NULL指針。
2、寫(xiě)兩個(gè)繼承類,解釋虛表指針和虛表的作用
每一個(gè)類都有虛表。
虛表可以繼承,如果子類沒(méi)有重寫(xiě)虛函數(shù),那么子類虛表中仍然會(huì)有該函數(shù)的地址,只不過(guò)這個(gè)地址指向的是基類的虛函數(shù)實(shí)現(xiàn)。如果基類有3個(gè)虛函數(shù),那么基類的虛表中就有三項(xiàng)(虛函數(shù)地址),派生類也會(huì)有虛表,至少有三項(xiàng),如果重寫(xiě)了相應(yīng)的虛函數(shù),那么虛表中的地址就會(huì)改變,指向自身的虛函數(shù)實(shí)現(xiàn)。如果派生類有自己的虛函數(shù),那么虛表中就會(huì)添加該項(xiàng)。
派生類的虛表中虛函數(shù)地址的排列順序和基類的虛表中虛函數(shù)地址排列順序相同。
3、寫(xiě)出static的用法和作用
static 是C++中很常用的修飾符,它被用來(lái)控制變量的存儲(chǔ)方式和可見(jiàn)性。函數(shù)內(nèi)部定義的變量,在程序執(zhí)行到它的定義處時(shí),編譯器為它在
棧上分配空間,大家知道,函數(shù)在棧上分配的空間在此函數(shù)執(zhí)行結(jié)束時(shí)會(huì)釋放掉,這樣就產(chǎn)生了一個(gè)問(wèn)題: 如果想將函數(shù)中此變量的值保存至
下一次調(diào)用時(shí),如何實(shí)現(xiàn)? 最容易想到的方法是定義一個(gè)全局的變量,但定義為一個(gè)全局變量有許多缺點(diǎn),最明顯的缺點(diǎn)是破壞了此變量的
訪問(wèn)范圍(使得在此函數(shù)中定義的變量,不僅僅受此函數(shù)控制)。 需要一個(gè)數(shù)據(jù)對(duì)象為整個(gè)類而非某個(gè)對(duì)象服務(wù),同時(shí)又力求不破壞類的封裝
性,即要求此成員隱藏在類的內(nèi)部,對(duì)外不可見(jiàn)。
4、寫(xiě)出計(jì)算機(jī)的存儲(chǔ)器層次,及原因
以處理器為中心,計(jì)算機(jī)系統(tǒng)的存儲(chǔ)依次為寄存器、高速緩存、主存儲(chǔ)器、磁盤(pán)緩存、磁盤(pán)和可移動(dòng)存儲(chǔ)介質(zhì)等7個(gè)層次。距離處理器越近的存儲(chǔ)工作速度越高,容量越小。其中,寄存器、高速緩存、主存儲(chǔ)器為操作系統(tǒng)存儲(chǔ)管理的管轄范圍,磁盤(pán)和可移動(dòng)存儲(chǔ)介質(zhì)屬于操作系統(tǒng)設(shè)備管理的管轄范圍。
5、寫(xiě)出對(duì)windows中的句柄的理解
所謂句柄實(shí)際上是一個(gè)數(shù)據(jù),是一個(gè)Long (整長(zhǎng)型)的數(shù)據(jù)。
句柄是WONDOWS用來(lái)標(biāo)識(shí)被應(yīng)用程序所建立或使用的對(duì)象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識(shí)諸如應(yīng)用程序?qū)嵗翱冢刂,位圖,GDI對(duì)象等等。WINDOWS句柄有點(diǎn)象C語(yǔ)言中的文件句柄。
二、算法題:30分
1、計(jì)算字符串的相似度-《編程之美》3.3
int calStringDis(string strA, int pABegin,int pAEnd,string strB, int pBBegin,int pBEnd)
{
if (pABegin > pAEnd)
{
if (pBBegin > pBEnd)
return 0;
else
return pBEnd – pBBegin + 1;
}
if (pBBegin > pBEnd)
{
if(pABegin > pAEnd)
return 0;
else
return pAEnd – pABegin + 1;
}
if (strA[pABegin] == strB[pBBegin])
{
return calStringDis(strA,pABegin+1,pAEnd,strB,pBBegin+1,pBEnd);
}
else
{
int t1 = calStringDis(strA,pABegin+1,pAEnd,strB,pBBegin+2,pBEnd);
int t2 = calStringDis(strA,pABegin+2,pAEnd,strB,pBBegin+1,pBEnd);
int t3 = calStringDis(strA,pABegin+2,pAEnd,strB,pBBegin+2,pBEnd);
return minValue(t1,t2,t3)+1;
}
}
2、判斷鏈表是否存在閉環(huán)
/pic/p>
/pic/p>
int HasLoop(LinkList L)
{
int step1 = 1;
int step2 = 2;
LinkList p = L;
LinkList q = L;
/pic/p>
while (p != NULL && q != NULL && q->next != NULL)
{
p = p->next;
if (q->next != NULL)
q = q->next->next;
printf("p:%d, q:%d \n", p->data, q->data);
if (p == q)
return 1;
}
return 0;
}
三、系統(tǒng)設(shè)計(jì)題:選做一題 20分
1、連連看游戲中,寫(xiě)出兩種算法的大致原理,來(lái)判斷兩個(gè)圖案是否能夠連線。并詳細(xì)解釋,寫(xiě)出其中一個(gè)算法的偽代碼。
2、解釋 延遲過(guò)程調(diào)用deferred procedure call (DPC)和異步過(guò)程調(diào)用asynchronous procdure call (APC)的工作機(jī)制。詳細(xì)描述利用APC實(shí)現(xiàn)DLL注入。
【清明節(jié)的初中作文】相關(guān)文章:
初中作文清明節(jié)03-09
清明節(jié)的初中作文范文08-20
清明節(jié)初中作文【推薦】04-14
清明節(jié)踏青初中作文03-06
清明節(jié)初中作文(精選21篇)04-08
清明節(jié)初中作文(精選31篇)04-07
初中清明節(jié)的一天作文09-07
關(guān)于清明節(jié)的600字作文初中09-09
有關(guān)清明節(jié)的初中作文(精選41篇)04-07
- 相關(guān)推薦