2022年上半年程序員模擬題B(下午試題)_第1頁(yè)
2022年上半年程序員模擬題B(下午試題)_第2頁(yè)
2022年上半年程序員模擬題B(下午試題)_第3頁(yè)
2022年上半年程序員模擬題B(下午試題)_第4頁(yè)
2022年上半年程序員模擬題B(下午試題)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

精品文檔-下載后可編輯年上半年程序員模擬題B(下午試題)2022年上半年程序員模擬題B(下午試題)

1.【問(wèn)答題】15分|閱讀下列說(shuō)明,補(bǔ)充(1)-(9),將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。

2.【問(wèn)答題】15分|閱讀以下問(wèn)題說(shuō)明、C程序和函數(shù),將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。

3.【問(wèn)答題】15分|

4.【問(wèn)答題】15分|閱讀下列說(shuō)明和C代碼,回答問(wèn)題,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。

【說(shuō)明1】函數(shù)deldigit(char*s)的功能是將字符串s中的數(shù)字字符去掉,使剩余字符按原次序構(gòu)成一個(gè)新串,并保存在原串空間中。其思路是:先申請(qǐng)一個(gè)與s等長(zhǎng)的臨時(shí)字符串空間并令t指向它,將非數(shù)字字符按次序暫存入該空間,最后再拷貝給s。

【C函數(shù)】voiddeldigit(char*s){char*t=(char*)malloc((1));/*申請(qǐng)串空間*/inti,k=0;if(!t)return;for(i=0;istrlen(s);i++)if(!(*(s+i)=’0’*(s+i)=’9’)){t[k++]=(2);}(3)=’\0’;/*設(shè)置串結(jié)束標(biāo)志*/strcpy(s,t);free(t);}【說(shuō)明2】函數(shù)reverse(char*s,intlen)的功能是用遞歸方式逆置長(zhǎng)度為len的字符串s。例如,若串s的內(nèi)容為“abcd”,則逆置后其內(nèi)容變?yōu)椤癲cba”。【C函數(shù)】voidreverse(char*s,intlen){charch;if((4)){ch=*s;*s=*(s+len-1);*(s+len-1)=ch;reverse((5));}}

5.【問(wèn)答題】15分|閱讀下列說(shuō)明和C++-代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。

【說(shuō)明】

某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成。現(xiàn)采用裝飾(Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖5-1所示的類圖。

【C++代碼】

#include

usingnamespacestd;

classinvoice{

public:

(1){

cout"Thisisthecontentoftheinvoice!"}

};

classDecorator:publicinvoice{

Invoice*ticket;

public:

Decorator(lnvoice*t){ticket=t;}

voidprintinvoice(){

if(ticket!=NULL)

(2);

}

};

classHeadDecorator:publicDecorator{

public:

HeadDecorator(lnvoice*t):Decorator(t){}

voidprintinvoice0{

cout"Thisistheheaderoftheinvoice!"(3);

}

};

classFootDecorator:publicDecorator{

public:

FootDecorator(invoice*t):Decorator(t){}

voidprintlnvoice(){

(4);

cout"Thisisthefootnoteoftheinvoice!"}

};

intmain(void){

Invoicet;

FootDecoratorf(t);

HeadDecoratorh(f);

H.printlnvoice();

cout“_____”FootDecoratora(NULL);

HeadDecoratorb((5));

B.printinvoice();

return0;

}

程序的輸出結(jié)果為:

Thisistheheaderoftheinvoice!

Thisisthecontentoftheinvoice!

Thisisthefootnoteoftheinvoice!

Thisistheheaderoftheinvoice!

Thisisthefootnoteoftheinvoice!

6.【問(wèn)答題】15分|閱讀下列說(shuō)明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。

【說(shuō)明】

某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成?,F(xiàn)采用裝飾(Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖6-1所示的類圖。

【java代碼】

classinvoice{

publicvoidprintInvoice(){:

System.out.println("Thisisthecontentoftheinvoice!");

}

}

classDecorator:extendsInvoice{

protectedInvoiceticket;

publicDecorator(lnvoicet){

ticket=t;

}

publicvoidprintinvoice(){

if(ticket!=NULL)

(1);

}

}

classFootDecoratorextendsDecorator{

publicFootDecorator(lnvoicet){

super(t);

}

publicvoidprintinvoice(){

Systent.out.println("Thisistheheaderoftheinvoice!");

(2);

}

}

classFootDecoratorextendsDecorator{

publicFootDecorator(invoicet):{

super(t);

}

publicvoidprintlnvoice(){

(3);

Systent.out.println("Thisistheheaderoftheinvoice!");

}

}

Classtest{

publicstaticvoidmain(string[]args){

Invoicet=newinvioce();

Invoiceticket;

Ticket=(4);

Ticket.Printinvoice();

Systent.out.println(““)

Ticket=(5);

Ticket.Printinvoice();

}

}

程序的輸出結(jié)果為:

Thisistheheaderoftheinvoice!

This

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論