點擊查看:2015年計算機二級考試C++過關練習題及答案匯總
1[單選題]下列鏈表中,其邏輯結構屬于非線性結構的是( )。
A.二叉鏈表B.循環(huán)鏈表C.雙向鏈表D.帶鏈的棧
參考答案:A
2[單選題]在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是( )。
A.
B.
C.
D.
參考答案:C
參考解析:
3[填空題]找出矩陣A3×4中第一個最大元素以及它的行號和列號(從0開始計算)。
#define M 3
#define N 4
#include
using namespace std;
int main()
{int i,j,row,colum,max;
int a[M][N];
for(i=0;i
for(j=0;j
cin>>a[i][j];
max=__1__; row=0,colum=0;
for (i=0;i
for(j=0;j
if (__2__)
{ max=a[i][j];
row=i;
colum=j;
}
cout<<”\nmax=”<
return 0;
}
參考解析:
1:a[0][0] 2:maxmax
4[單選題] 下列對于軟件測試的描述正確的是( )。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運行結果正確
C.軟件測試的目的是盡可能地多發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結構化原則
參考答案:C
參考解析:軟件測試是為了盡可能多地發(fā)現(xiàn)程序中 的錯誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。
5[單選題]
參考答案:A
6[單選題]下面關于C++的特點中描述不正確的是( )。
A.C++是C語言的超集,大多數(shù)C程序在不用修改的情況下就可以在C++的集成環(huán)境中運行或調(diào)試
B.C++是面向對象的程序設計語言
C.C++中沒有結構化編程的語句
D.C++的執(zhí)行效率很高參考答案:C
參考解析:C++是基于C語言發(fā)展起來的一種面向對象的高級語言,具有了面向對象程序設計語言的特征,同時具有結構化編程的思想。
7[單選題]設有以下定義程序:
#include
class A1
{
public:
void show1()
{
cout << "class A1" << endl;
}
};
class A2:public A1
{
public:
void show2()
{
cout<<"class A2"<
}
};
class A3:protected A2
{
public:
void show3()
{
cout<<"class A1"<
}
};
void main()
{
A1 obj1;
A2 obj2;
A3 obj3;
}
則以下不合法的調(diào)用語句是( )。
A.obj1.show1();B.obj2.show1();C.obj3.show1();D.obj2.show2();
參考答案:C
參考解析:由于 class A3:protected A2,所以類 A3 的對象 obj3 不能直接訪問基類 A1 的成員函數(shù) show1(),所以選項C 是錯誤的;其他選項均有訪問的權限,正確。
8[填空題]軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的_____集合。
參考解析:軟件工具
【解析】軟件開發(fā)環(huán)境或稱軟件工程環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。這些軟件工具按照一定的方法或模式組合起來,支持軟件生命周期內(nèi)的各個階段和各項任務的完成。
9[填空題]在關系模型中,一個關系的屬性名表稱為_______。也就是二維表的表框架,相當于己錄型。
參考答案:關系模式
【解析】在關系模型中.一個關系的屬性名表稱為關系模式。
10[簡答題]用vc++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了多個類,其中定義的類并不完整,按照要求完成下列操作,將類的定義補充完整;使其輸出如下:
TC2
TC3
TCl
(1)類TC2公共繼承于TC1,請在注釋1后添加適當?shù)恼Z句。
(2)print函數(shù)為虛函數(shù),請在注釋2后添加適當?shù)恼Z句。
(3)修改語句,使得p指定對象0bj3,請在注釋3后添加適當?shù)恼Z句。
(4)修改語句,利用P調(diào)用print函數(shù),完成輸出信息,在注釋4后添加適當?shù)恼Z句。
注意:僅在函數(shù)指定位置添加語句,請勿改動主函數(shù)main與其他函數(shù)中的任何內(nèi)容。
試題程序:
#include
usingnamespacestd;
classTCl
{
public:
voidprint()
{
cout<<"TCl"<
}
};
//********1********
classTC2
{
public:
//********2********
voidprint()
{
cout<<"TC2"<
}
};
classTC3:publicTC2
{
public:
voidprint()
{
cout<<"TC3"<
}
};
intmain()
{
TC20bj2;
TC30bj3;
TC1*P;
obj2.print();
obj3.print();
//********3********
p=obj3;
//********4********
P.print();
return0;
}
參考解析:
(1)將“classTC2”補充完整為“classTC2:publicTCl”。
(2)將“voidprint()”補充完整為“virtualvoidprint()”。
(3)將“p=obj3;”修改為“p=&obj3;”。
(4)將“P.print();”修改為“p->print();”。
【解析】本題中第1處要求“類TC2公共繼承于TC1”。從已有的類產(chǎn)生一個新的子類,成為類的派生。聲明派生類的一般形式為“class派生類名:[繼承方式]基類名”。根據(jù)題目中的要求以及派生類的一般形式,在第1處添加語
句“ClaSSTC2:publicTC1”。第2處要求“print函數(shù)為虛函數(shù)”。在C++中,用virtual聲明的函數(shù)為虛函數(shù)。因此第2處的語句應修改為“virtualvoidprint()”。第3處要求“使得P指定對象obj3”。p為指針變量,obj3為類的對象,將一個指針變量指向另一個變量,只要把被指向的變量的地址賦給指針變量即可。取對象obj3地址的語句為&obj3,所以這里補全語句為“p=&obj3;”。第4處要求“利用P調(diào)用print()函數(shù)”。C++中用“->”運算符實現(xiàn)成員訪問,因此調(diào)用print函數(shù),應將第4處的語句修改為“p->print();”。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |