一、填空題
1.在面向?qū)ο蠓椒ㄖ,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為【1】。
【參考答案】
1.【1】繼承
2.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于【2】的聯(lián)系。
【參考答案】
2.【2】一對(duì)多(或1:N)
3.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向【3】的設(shè)計(jì)方法。
【參考答案】
3.【3】數(shù)據(jù)結(jié)構(gòu)
4.軟件設(shè)計(jì)模塊化的目的是【4】。
【參考答案】
【4】降低復(fù)雜性
5.在樹(shù)結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有【5】。
【參考答案】
【5】前件
6.C++中封裝性、繼承性和【6】是面向?qū)ο笏枷氲闹饕卣鳌?/P>
【參考答案】
【6】 多態(tài)性
7.下列for語(yǔ)句的循環(huán)次數(shù)為【7】。
for(int a=0,b=1;b&&a<5;a++);
【參考答案】
【7】5
8.C++程序是從【8】函數(shù)開(kāi)始執(zhí)行的。
【參考答案】
【8】main
9.派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行【9】的構(gòu)造函數(shù),然后執(zhí)行成員對(duì)象的構(gòu)造函數(shù),最后執(zhí)行【10】的構(gòu)造函數(shù)。
【參考答案】
9.【9】基類(lèi) 【10】派生類(lèi)
11.C++語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以【11】作為開(kāi)始和結(jié)束的標(biāo)記。
【參考答案】
【11】/**/
12.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁铡?/P>
st=(char*)【12】;
【參考答案】
【12】malloc(11)或malloc(sizeof(char)*11)
13.下列程序在構(gòu)造函數(shù)和析構(gòu)函數(shù)中申請(qǐng)和釋放類(lèi)的數(shù)據(jù)成員int *a,申請(qǐng)時(shí)使用形參b初始化a,請(qǐng)?zhí)羁铡?/P>
class A
{
public:
A(int b);
~A();
private:
int *a;
};
A::(int b)
{【13】;}
A::~A()
{【14】;}
【參考答案】
【13】a=new int(b) 【14】delete a
15.將x+y*z中的“+”用成員函數(shù)重載,“*”用友元函數(shù)重載應(yīng)寫(xiě)為【15】。
【參考答案】
【15】x.operator+(operator *(y,z))
二、改錯(cuò)題
使用VC6打開(kāi)考生文件夾下的工程kt1_1,此工程包含一個(gè)源程序文件kt1_1.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果為:
Whichact(aorb)?b
act1
act2
Bact3
Bact4
Bend
源程序文件kt1_1.cpp清單如下:
#include
classA
{public:
virtualvoidact1(){cout<<"act1\n";act2();}
voidact2(){cout<<"act2\n";act3();}
voidact3(){cout<<"Aact3\n";act4();}
virtualvoidact4{cout<<"Aact4\n";act5();}
voidact5(){cout<<"Aend\n";}
};
classB:publicA
{
voidact3(){cout<<"Bact3\n";act4();}
voidact4(){cout<<"Bact4\n";act5();}
voidact5(){cout<<"Bend\n";}
};
voidmain(void)
{
charc;
A*a;
cout<<"Whichact(aorb)?";
cin<
if(c==''a'')
a=newA;
else
a=newB;
a->act1();
deletea;
【參考答案】
(1)將void act3(){cout<<"Aact3\n";act4();}
改為:virtual void act3(){cout<<"Aact3\n";act4();}
(2)將virtual void act4{cout<<"Aact4\n";act5();}
改為:virtual void act4(){cout<<"Aact4\n";act5();}
(3)將cin<
改為:cin>>c;
【試題解析】
(1)主要考查對(duì)虛函數(shù)使用規(guī)則的理解,要實(shí)現(xiàn)對(duì)函數(shù)act3的動(dòng)態(tài)聯(lián)編應(yīng)該使用虛函數(shù),這樣在本題中對(duì)于函數(shù)的調(diào)用才能實(shí)現(xiàn)根據(jù)不同對(duì)象調(diào)用不同函數(shù);
(2)主要考查對(duì)函數(shù)定義的掌握,雖然參數(shù)表為空,但括號(hào)是不能省略的;
(3)主要考查是否會(huì)使用流輸入操作,本題中使用的是流輸出符。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |