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