計算機二級考試C++上機考試試題_第1頁
計算機二級考試C++上機考試試題_第2頁
計算機二級考試C++上機考試試題_第3頁
計算機二級考試C++上機考試試題_第4頁
計算機二級考試C++上機考試試題_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

計算機二級考試C++上機考試試題一、程序改錯題

使用VC++6.0打開考生文件夾下的源程序文件1.cpp。本程序要求輸入一個字符串,然后將其中的小寫字母改成大寫字母,字符可能輸入多行,當輸入字符“?”時,默認字符輸入結(jié)束,最終把結(jié)果輸出到屏幕中。

留意:不要改動main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯誤的語句在//******error******的下面。

試題程序:

#include

voidmain()

{

inti=0;

charstr[120];

coutEnterastringendwith’?’.//********error********

cin.getline(str,120);

//********error********

while(str)

{

//********error********

if(str[i])=’a’)

str[i]=str[i]-’a’+’A’;

i++;

}

coutreturn;

}

二、簡潔應(yīng)用題

使用VC++6.0打開考生文件夾下的源程序文件2.cpp。完成函數(shù)fun(char*sl,char*s2)的空出部分。函數(shù)fun(char*s1,char*s2)的功能是將在字符串s1中下標為偶數(shù)的字符,緊隨其后重復消失一次,放在一個新串s2中,s2中字符按原字符串中字符的挨次排列。(留意0為偶數(shù))

例如:當s1中的`字符串為“abcdef”時,s2中的字符串應(yīng)為“aaccee”。

留意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

#include(iostream.h)

voidfun(char*s1,char*s2)

{

}

voidmain()

{

charsi[100】,s2【1OO];

coutPleaseenterstringstrin9:cin.getline(s1,100);

fun(s1,s2);

coutTheresultis:return;

}

三、綜合應(yīng)用題

使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了用于表示日期的類Date,但類Date的定義并不完整,按要求完成下列操作,將類的定義補充完整。

(1)定義私有成員變量year、month、day。分別表示年、月、日,類型為int。請在解釋1后添加適當?shù)恼Z句。

(2)完成構(gòu)造函數(shù),分別給year、month、day賦值,請在解釋2后添加適當?shù)恼Z句。

(3)完成重載符號“十=”的定義,請在解釋3后添加適當?shù)恼Z句。

(4)完成print打印函數(shù),輸出到屏幕和文件的格式相同,請在解釋4后添加適當?shù)恼Z句。

留意:僅在函數(shù)指定位置添加語句,請勿改動主函數(shù)main與其他函數(shù)中的任何內(nèi)容。

程序正常運行,輸出的結(jié)果為2023年11月813。

試題程序:

#include(iostream.h)

#include(fstream)

#include(iomanip)

#includeusingnamespacestd;

voidWriteFile(intc)

{

ofstreamout1;

out1.open(3.txt,ios_base::app);

out1out1.close();

}

voidWriteFile(char*str)

{

ofstreamoutl;

out1.open(3.txt,ios_base::app);

out1out1.close();

}

voidClearFile()

{

ofstreamout1;

out1.open(3.txt);

out1.close();

}

classDate

{

public:

Date(inty,intm,intd)

{

//********1********

}

voidprint();

//********2********

{

month+=m;

inti=month/12:

intj=month;

if(j==0)

{year+=(i-1);

month=12;

}

else

{

year+=i:

month=j;

}

return*this;

}

private:

//********3********

};

voidDate::print()

{

//********4********

WriteFile(year):

WriteFile(年);

WriteFile(month);

WriteFile(月);

WriteFile(day);

WriteFile(日);

}

intmain()

{

ClearFile();

DateOly_day(2023,8,8);

Olyday+=3:

Oly_day.print();

return0;

}

上機考試試題答案與解析

一、程序改錯題

(1)應(yīng)改為“ein.getline(str,120,’?’);”。

(2)應(yīng)改為“while(str[i])”。

(3)應(yīng)改為“if(str[i]=’a’str[i]=’2’)”。

【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符個數(shù),終止標志字符)”,所以第1處改為“cin.getline(str,120,’?’);”。第2處的“while(str)”語句應(yīng)當是推斷字符串str中的每一個字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中推斷每一個字符是否為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)當修改為“while(str[i])”。第3處的“if(str[i]=’a’)”語句是推斷字符str[i]是否為小寫字符,而現(xiàn)有的語句只是推斷字符是否大于’a’,但是小寫字符應(yīng)當是’a’到’2’,所以修改為“if(str[i]=’a’str[i]=’z’)”。

二、簡潔應(yīng)用題

inti;

for(i=0;s1[i]!=0;i++)//循環(huán)推斷每一個字符

{

if(i%2==0)//推斷字符串中下標為偶數(shù)位置

{

s2[i]=s1[3];

s2[i+1]=s1[i];

s2[i+2]=’’;//新串添加尾符

}

}

【解析】推斷一個字符串中的某一個字符下標i是否為偶數(shù),可用“i%2==0”來推斷。對串s1中各個字符串逐個進行考查,滿意條件的字符就挨次放在新串s2中,否則就不存放。全部字符處理完成后,記得在新串s2的末尾加上結(jié)束符“’’。

三、綜合應(yīng)用題

(1)應(yīng)添加“year=y;month=m;day=d;”。

(2)應(yīng)添加“Dateoperator+=(intm)”。

(3)應(yīng)添加“intyear,month,day;”。

(4)應(yīng)添加“cout【解析】本題中第1處要求“完成構(gòu)造函數(shù),分別給year、month、day賦值”。在程序中“Date(inty,intm,intd)”的構(gòu)造函數(shù)中添加給year、month、day賦值的語句,即在第1處添加“year=y;month=m;day=d;”。第2處要求“完成重載符號‘+=’的定義”。在C++中,運算符重栽的定義方法是定義一個重載運算符的函數(shù),格式為函數(shù)operator+重載運算符號+,所以這里補全“Dat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論