第 1 頁:上機試題 |
第 2 頁:參考解析 |
點擊查看:2018年9月計算機二級C++考試上機練習題及答案匯總
一、程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有誤,請改正其中的錯誤,使程序正常運行,并使程序的輸出結(jié)果為
平均值為29
最大值為112
最小值為-11
注意:錯誤的語句在//******error******的下面,修改該語句即可。
試題程序:
#include(iostream)
usingnamespacestd;
intmain()
{
inti,Ave,Min,Max;
intdata[8]={100,21,-73,86,14,0,-21,1};
Ave=0;
for(i=0:i<8:i++)
//******error******
Ave=data[i];
Ave/=8:
cout<<"平均值為:"< Max=Min=data[O];
for(i=0;i<8;i++)
{
//******error******
if(data[i](Max)Max=data[i];
//******error******
if(data[i])Min)Min=data[i];
}
cout<<"最大值為:"< cout<<"最小值為:"< return0;
}
二、簡單應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。閱讀下列函數(shù)說明和代碼,完成空出部分程序。函數(shù)sum(intA[NUM][NUM],intn)的功能是計算矩陣中所有非質(zhì)數(shù)數(shù)字的和。
提示:函數(shù)isPrime(intn)的功能是判定當前數(shù)字是否為質(zhì)數(shù),如果是,則返回true。
注意:不能修改程序的其他部分,只能修改sum函數(shù)。
試題程序:
#include(iostream.h)
#include
#defineNUM50
intA[NUM][NUM]=
{
{1,3,5,7,9},
{11,13,15,17,19},
{21,23,25,27,29},
{31,33,35,37,39},
{41,43,45,47,49}
};
boolisPrime(intn)
{
if(n==1)
returnfalse;
if(n==2)
returntrue;
for(inti=2;i(n/2;i++)
{
if(n%i==0)
returnfalse;
}
returntrue;
}
intsum(intAENUM]ENUM],intn)
{
}
intmain()
{
cout< return0;
}
三、綜合應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了類BA、PA1和PA2,其中PA1類由BA類公有派生,PA2類由PA1類公有派生。上述3個類的定義并不完整,請按要求完成下列操作,將程序補充完整。
程序輸出結(jié)果如下:
1O
5
1057
(1)定義類BA的構(gòu)造函數(shù),該構(gòu)造函數(shù)有一個整型的參數(shù)m,在構(gòu)造函數(shù)中將m賦值給數(shù)據(jù)成員a。請在注釋1之后添加適當?shù)恼Z句。
(2)定義類PA1的構(gòu)造函數(shù),該構(gòu)造函數(shù)有兩個整型的參數(shù)m和n,在構(gòu)造函數(shù)中將m賦值給數(shù)據(jù)成員b,將n作為基類BA構(gòu)造函數(shù)的參數(shù)值傳人。請在注釋2之后添加適當?shù)恼Z句。
(3)定義類PA2的構(gòu)造函數(shù),該構(gòu)造函數(shù)有3個整型的參數(shù)m、n和k,在構(gòu)造函數(shù)中請將m賦值給數(shù)據(jù)成員c,將n和k分別賦值給基類PA1構(gòu)造函數(shù)的參數(shù)m和n。請在注釋3之后添加適當?shù)恼Z句。
(4)完成類PA2的成員函數(shù)show的定義,該函數(shù)調(diào)用基類成員函數(shù),輸出基類私有成員a、b及類PA2自身的數(shù)據(jù)成員C的值,上述3個值在輸出時用空格隔開。請在注釋4之后添加適當?shù)恼Z句。
注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)容。
試題程序:
#include(iostream.h>
classBA
{
inta;
public:
//********1********
intgeta(){returna;}
};
classPAl:publicBA
{
intb;
public:
//********2********
intgetb(){returnb;}
};
classPA2:publicPAl
{
intC;
public:
//********3********
voidshow()
{
//********4********
}
};
voidmain()
{
PA2a(7,5,10);
cout< cout< a.show();
}
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |