第 1 頁(yè):上機試題 |
第 2 頁(yè):參考答案 |
點(diǎn)擊查看:2018年9月計算機二級C++考試上機練習題及答案匯總
一、程序改錯題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,使其輸出結果為:
n=0
注意:不要改動(dòng)main函數,不能增加或刪除行,也不能更改程序的結構,錯誤的語(yǔ)句在//******error******的下面。
試題程序:
#include
//********error*******。
classTC()
{
public:
//********error********
void~TC(){}
TC(intn)
{
cout<<’n’<<’=’< };
//********error********
}
voidmain()
{
TCtest(0);
return;
}
二、簡(jiǎn)單應用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp。請完成函數fun(char*str,charch)的定義,本函數采用二分法,在已按字母次序從小到大排序的字符數組str中,查找字符ch,若ch在數組中,函數返回字符ch在數組中的下標,否則返回1。
二分法查找的思想是初始查找區間的下界為0,上界為len-1,查找區間的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功;若list[k]>ch,則新的查找區間的下界不變,上界改為k-1;否則新的查找區間的下界改為k+1,上界不變。在新區間內繼續用二分法查找。
注意:請勿改動(dòng)主函數main與其他函數中的任何內容,僅在函數fun的花括號中填入所編寫(xiě)的若干語(yǔ)句。
試題程序:
#include(iostream.h>
intfun(char*str,charch)
{
}
voidmain()
{
charstr[]={’a’,’b’,’C’,’d’,’e’,’f’,’9’,’h’,’i,’
j’,’k’);
charch;
cout<<"請輸入一個(gè)字符:"< cin>>ch;
cout<<"輸入字符的位置是:"< return;
}
三、綜合應用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp,閱讀下列程序說(shuō)明和代碼,功能如下:
從屏幕輸入數字,然后由大到小插入到指定的鏈中。當輸入0時(shí),表示輸出的數據已經(jīng)輸入完成,把數據打印到屏幕,并釋放內存。
其中定義的類(lèi)不完整,按要求完成下列操作,將類(lèi)的定義補充完整。
(1)在父結點(diǎn)的Next中保存新插入的結點(diǎn)的指針,請在注釋1后添加適當的語(yǔ)句。
(2)把pNext的子結點(diǎn)賦給pNext本身,請在注釋2后添加適當的語(yǔ)句。
(3)判定P的子結點(diǎn)不為空,如果不為空,則打印P中的數據到屏幕,請在注釋3后添加適當的語(yǔ)句。
(4)用t1保存動(dòng)態(tài)申請內存結點(diǎn)的鏈表頭,請在注釋4
后添加適當的語(yǔ)句。
注意:僅在函數指定位置添加語(yǔ)句,請勿改動(dòng)主函數
main與其他函數中的任何內容。
試題程序:
#include
classTC
{
public:
TC(intdata=O)
{
this->data=data;
this->next=NULL;
}
intdata;
TC*next;
};
voidInsert(TC*P,intdata)
{
TC*temp=newTC(data);
TC*pParent=P:
TC*pNext=p-)next:
while(pNext)
{
if(data>pNext->data)
{
//********1********
temp->next=pNexti
return;
}
else
{
pParent=pNext;
//********2********
}
}
if(pNext==NULL)
{
pParent->next=temp;
return;
}
}
voidprintf(TC*p)
{
//********3********
while()
{
coutdata<<"";
P=P->next;
}
cout< }
voidDelete(TC*p)
{
//********4********
TC*t1=;
TC*t2;
while(t1!=NULL)
{
t2=t1->next:
deletetl;
t1=t2:
}
}
voidmain()
{
inti=0;
TChead:
do
{
intdata;
cout<<"請輸入一個(gè)數字:"< cin>>data;
if(data==O)break;
Insert(&head,data);
}while(1);
printf(&head);
Delete(&head):
return;
}
}
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復習知識點(diǎn)匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |