第 1 頁:上機試題 |
第 2 頁:參考答案 |
點擊查看:2018年9月計算機二級C++考試上機練習題及答案匯總
一、程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件1.cpp。本程序要求輸入一個字符串,然后將其中的小寫字母改成大寫字母,字符可能輸入多行,當輸入字符“?”時,默認字符輸入結(jié)束,最后把結(jié)果輸出到屏幕中。
注意:不要改動main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯誤的語句在//******error******的下面。
試題程序:
#include
voidmain()
{
inti=0;
charstr[120];
cout<<"Enterastringendwith’?’."< //********error********
cin.getline(str,120);
//********error********
while(str)
{
//********error********
if(str[i])=’a’)
str[i]=str[i]-’a’+’A’;
i++;
}
cout< return;
}
二、簡單應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。完成函數(shù)fun(char*sl,char*s2)的空出部分。函數(shù)fun(char*s1,char*s2)的功能是將在字符串s1中下標為偶數(shù)的字符,緊隨其后重復(fù)出現(xiàn)一次,放在一個新串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];
cout<<"Pleaseenterstringstrin9:"< cin.getline(s1,100);
fun(s1,s2);
cout<<"Theresultis:"< 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é)果為2008年11月813。
試題程序:
#include(iostream.h)
#include(fstream)
#include(iomanip)
#include usingnamespacestd;
voidWriteFile(intc)
{
ofstreamout1;
out1.open("3.txt",ios_base::app);
out1< out1.close();
}
voidWriteFile(char*str)
{
ofstreamoutl;
out1.open("3.txt",ios_base::app);
out1< out1.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(2008,8,8);
Olyday+=3:
Oly_day.print();
return0;
}
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |