2016下半年計算機二級C上機考試試題及答案
1.程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件,該程序運行時有錯誤,請改正其中的錯誤,使程序正確運行,並且使程序輸出的結果為
0K
注意:錯誤的語句在//******error******的下面,修改該語句即可。
試題程序:
#include
classTC
{
public:
TC()
{
a=b=0:
}
private:
inta,b;
};
classTCl:publicTC
{
public:
TC1()
{
}
//******error******
virtualvoidfunc();
};
classTC2:publicTCl
{
public:
TC2()
{
a=0:
b=0:
}
voidfunc()
{
//******error******
cout<<"OK" }
private:
inta;
intb;
};
voidmain()
{
TC20bj;
//******error******
TCl*p=(TCl*)obj;
p->func();
}
(1)應改為“virtualvoidfunc()=0;”。
(2)應改為“cout<<"0K"<(endl;”。
(3)應改為“TCl*p=(TCl*)&obj;”。
【解析】本題中TCl類中的func函數是純虛函數,純虛函數的定義格式為virtual<函數類型><函數名>((參數表>)=0”,因此第1處的語句應為“virtualvoidfunc()=0;”。func函數沒有參數表。編譯程序後發現第2處的語句有錯誤,cout流中的數據是用流插入運算符“<<”順序加入的,因此“<”不正確,應改成“cout<<"0K"<
2.綜合應用題
使用VC++6.0打開考生文件夾下的源程序文件。其中定義的類不完整,按要求完成下列操作,將類的定義補充完整。
(1)完成TC的構造函數,請改正註釋1後的錯誤。
(2)完成func函數定義,請改正註釋2後的錯誤。
(3)初始化CmyClass的成員變量Num3為4,請改正註釋3後的錯誤。
(4)完成func函數,請改正註釋4後的錯誤。
輸出的.結果為
Num1=12
Num2=18
Num3=16
Num1=4
Num2=2
Num3=19
注意:除在指定位置添加語句之外,不要改動程序中的其他內容。
試題程序:
#include
classTC
{
public:
//********1********
TC(inti,intj)
{
Numl=i;
Num3+=i:
}
voiddisplay()
{
cout<<"Num1="< cout<<"Num2="< cout<<"Num3="< }
voidAddNum(inti)
{
Num3+=i;
}
private:
intNum1;
constintNum2;
staticintNum3;
//********2********
};
//********3********
voidfunc()
{
TCobj(1,2);
1=4;
//********4********
um();
lay();
}
voidmain()
{
TCmyObj(12,18);
lay();
rune();
return;
}
(1)將“TC(inti,intj)”補充完整為“TC(inti,intj):Num2(j)”。
(2)應添加“friendvoidfunc();”。
(3)應添加“intTC::Num3=4;”。
(4)將“um()”補充完整為“um(2);”。
【解析】本題在第1處完成類的構造函數初始化類的成員變量,常數據成員也必須初始化,並且不能被更新,常數據成員的初始化只能通過構造函數的成員初始化類表進行,因此第1處的語句應為“TC(inti,intj):Num2(j)”,i用來初始化Num1和Num3,j初始化Num2。第2處完成fune的函數定義,由審題分析可知,函數fune為類的友元,故第2處的語句應為“friendvoidrune();”。第3處的語句是靜態成員的初始化,靜態數據成員的初始化格式為“(數據類型)<類名>::<靜態數據成員)=<初始值>”,因此第3處的語句應為“intTC::Num3=4;”。成員函數AddNum帶有一個整型參數,因此調用此函數時必須有參數傳入,可由程序運行結果分析得知傳入的參數值的大小。在fun函數內,定義TCobj(1,2)後,1=1,2=2,Num3=16+1=17,1=4,Numl為4,obj。Num2為常數據成員,其值不會改變,調用AddNum函數後調用顯示函數顯示成員變量值,可知Num3為19,因此AddNum()的參數為19-17=2,即第4處的語句應為“um(2);”。
3.簡單應用題
使用VC++6.0打開考生文件夾下的源程序文件。閲讀下列函數説明和代碼。
函數func(intd口,intn)的功能是將長度為num的數組d中的奇數擴大1倍,並存儲到數組d中。
例如:2,15,6,-3,8,-11,9,24,50
返回4,30,12,-6,16,-22,18,48,100
將func(intd[],intnum)函數補充完整。
注意:請勿改動主函數main。
試題程序:
#include
voidfunc(intd[],intnum)
{
}
intmain()
{
intData[]={2,15,6,-3,8,-11,9,24,50};
func(Data,9);
for(inti=0;i(sizeof(Data)/sizeof(int);i++)
{
cout< }
cout< return0;
}
for(inti=0;i {
if(d[i]%2!=O)
d[i]=2*d[i];
}
【解析】由審題分析可知,利用循環來逐個判斷d[]中的元素,d[]中元素個數為hum,因此循環變量從0變化至num。在循環內,用if語句判斷該元素是不是奇數,即if(d[i]%2!=0),將滿足條件的d[i]擴大一倍。
更多計算機二級相關試題推薦:
1.2016年9月計算機二級C語言選擇題及答案
2.2016計算機二級C語言測試題及答案[最新]
3.2016年計算機二級C語言基本知識點
4.2016年計算機二級c語言真題
5.計算機二級C語言機試題庫及答案
6.計算機二級c語言試題及答案
7.2016年計算機二級C語言練習題及答案
8.2016年計算機二級C語言選擇模擬題及答案
9.2016計算機二級C語言考前模擬試題及答案
10.計算機二級考試C語言試題與答案
-
計算機二級《MSOffice》模擬考試題
在計算機考試到來之前,yjbys小編為大家分享以下的計算機二級考試模擬試題,希望能幫助到大家!選擇題1在面向對象方法中,不屬於對象基本特點的是()。A.一致性B.分類性C.多態性D.標識唯一性參考答案:A參考解析:對象有如下一些基本特點:標識唯一性、分類性、多態性、封裝...
-
C程序的三種基本控制結構
C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類複雜的數據結構。下面是yjbys小編收集一些關於C程序的三種基本控制結構,希望大家認真閲讀!算法做任何事情都有一定的步驟。為解決一個問題而採取的方法和步驟,就稱為算法。算法是一...
-
2017年9月計算機二級c語言考試試題基礎版
英國著名詩人拜倫的女兒愛達·勒芙蕾絲曾設計了巴貝奇分析機上計算伯努利數的一個程序。她甚至還創建了循環和子程序的概念。下面是小編收集的關於計算機二級c語言考試試題,希望大家認真閲讀!一、選擇題1.下述標識符中,()是合法的用户標識符。A.A#Ch*2.在C...
-
內蒙古農業大學2016年下半年計算機等級考試網上報名通知
全國計算機等級考試(NCRE),由教育部考試中心主辦,面向社會,用於考查應試人員計算機應用能力的全國性計算機水平考試。本次報名工作安排於2016年6月1日上午8:00至10日下午5:30完成報名及繳費。考生最多可報考任意不同兩個科目,嚴禁重複報考同一科目。現將具體事項通...