版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第第頁《面向?qū)ο蟪绦蛟O(shè)計(jì)》模擬試題及答案0《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案
一、單項(xiàng)選擇題〔每題2分,共20分〕
1.C++程序的基本功能模塊為〔〕。
A.表達(dá)式B.標(biāo)識(shí)符C.語句D.函數(shù)
2.當(dāng)處理特定問題的循環(huán)次數(shù)已知時(shí),通常采納〔〕來解決。
A.for循環(huán)B.while循環(huán)C.do循環(huán)D.switch語句
3.下面函數(shù)原型語句正確的選項(xiàng)是〔〕。
A.intFunction(voida);B.voidFunction(int);
C.intFunction(a);D.int(doublea);
4.假定變量m定義為“intm=7;”,那么定義變量p的正確語句為〔〕。
A.intp=m;B.int*p=m;C.intp=*m;D.int*p=m;
5.假定變量a和pa定義為“doublea[10],*pa=a;”,要將12.35賦值給數(shù)組a中的下標(biāo)為5的元素,不正確的語句是〔〕。
A.pa[5]=12.35;B.a[5]=12.35;
C.*(pa+5)=12.35;D.*(a[0]+5)=12.35;
6.假定AA為一個(gè)類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,*為該類的一個(gè)對(duì)象,那么訪問*對(duì)象中數(shù)據(jù)成員a的格式為〔〕。
A.*.aB.*.a()C.*-GetValue()D.*.GetValue()
7.類的構(gòu)造函數(shù)是在定義該類的一個(gè)()時(shí)被自動(dòng)調(diào)用執(zhí)行的。
A.成員函數(shù)B.數(shù)據(jù)成員C.對(duì)象D.友元函數(shù)
8.假定AB為一個(gè)類,那么執(zhí)行“AB*;”語句時(shí)將自動(dòng)調(diào)用該類的()。
A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)
9.假定一個(gè)類AB只含有一個(gè)整型數(shù)據(jù)成員a,當(dāng)用戶不定義任何構(gòu)造函數(shù)時(shí),系統(tǒng)為該類定義的無參構(gòu)造函數(shù)為()。
A.AB(){a=0;}B.AB(intaa=0):a(aa){}
C.AB(intaa):a(aa){}D.AB(){}
10.假如表達(dá)式a++中的“++”是作為一般函數(shù)重載的運(yùn)算符,假設(shè)采納運(yùn)算符函數(shù)調(diào)用格式,那么可表示為〔〕。
A.a.operator++()B.operator++(a)
C.operator++(a,1)D.operator++(1,a)
二、填空題〔每題2分,共20分〕
1.存儲(chǔ)字符’a’和字符串”a”分別需要占用________和________個(gè)字節(jié)。
2.重載一個(gè)函數(shù)的條件是:該函數(shù)需要在參數(shù)的________或參數(shù)對(duì)應(yīng)的__________上與其它同名函數(shù)不相同。
3.假定p是一個(gè)指向整數(shù)對(duì)象的指針,那么用________表示該整數(shù)對(duì)象,用________表示指針變量p的地址。
4.元素a[i]和b[i][j]的指針訪問方式分別為__________和__________。
5.已知有定義“int*,a[]={5,7,9},*pa=a;”,在執(zhí)行“*=++*pa;”語句后,*的值是________,*(pa+1)的值為________。
6.在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類中,假定數(shù)組長度為MS,隊(duì)首元素位置為first,隊(duì)列長度為length,那么隊(duì)列為空和隊(duì)列為滿的條件分別為__________和__________。
7.對(duì)類中________和________成員的初始化只能通過在構(gòu)造函數(shù)中給出的初始化表項(xiàng)來實(shí)現(xiàn)的。
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
8.假定AB為一個(gè)類,該類中含有一個(gè)指向動(dòng)態(tài)數(shù)組空間的指針成員pa,那么在該類的析構(gòu)函數(shù)中應(yīng)當(dāng)包含有一條______________語句。
9.假定派生類及其基類中都定義有同名函數(shù)成員,假設(shè)要在派生類中調(diào)用基類的同名函數(shù)成員時(shí),就需要在其函數(shù)名前加上______和__________。
10.派生類的成員函數(shù)能夠徑直訪問所含基類的__________成員函數(shù)和___________成員函數(shù)。
三、程序填充題,對(duì)程序、函數(shù)或類中劃有橫線的位置,依據(jù)題意按標(biāo)號(hào)把合適的內(nèi)容填寫到程序后面的標(biāo)號(hào)處。〔每題5分,共20分〕
1.統(tǒng)計(jì)字符串中英文字母個(gè)數(shù)的程序。
#includeiostream.h
intcount(charstr[]);
voidmain(){
chars1[80];
cout”Enteraline:”;
cins1;
cout”count=”count(s1)endl;
}
intcount(charstr[]){
intnum=0;//給統(tǒng)計(jì)變量賦初值
for(inti=0;str[i];i++)
if(str[i]=’a’str[i]=’z’||___(1)___)___(2)___;___(3)___;
}
(1)(2)(3)
2.對(duì)數(shù)組a[n]中的n個(gè)元素按升序進(jìn)行的選擇排序算法。
voidSelectSort(inta[],___(1)___)
{
inti,j,k;
for(i=1;in;i++){//進(jìn)行n-1次選擇和交換
k=i-1;
for(j=i;jn;j++)
if(a[j]a[k])___(2)___;
int*=a[i-1];a[i-1]=a[k];___(3)___;
}
}
(1)(2)(3)
3.下面是一維數(shù)組類ARRAY的定義,ARRAY與一般一維數(shù)組的區(qū)分是:(a)用()而不是
[]進(jìn)行下標(biāo)訪問,(b)下標(biāo)從1而不是從0開始,(c)要對(duì)下標(biāo)是否越界進(jìn)行檢查。classARRAY{
int*v;//指向存放數(shù)組數(shù)據(jù)的空間
ints;//數(shù)組大小
public:
ARRAY(inta[],intn);
~ARRAY(){delete[]v;}
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
intsize(){returns;}
intoperator()(intn);
};
___(1)___operator()(intn)//()的運(yùn)算符成員函數(shù)定義
{
if(___(2)___){cerr下標(biāo)越界!;e*it(1);}
return___(3)___;
}
(1)(2)(3)
4.一種類定義如下:
classGoods
{
private:
chargd_name[20];//商品名稱
intweight;//商品重量
staticinttotalweight;//同類商品總重量
public:
Goods(char*str,intw){//構(gòu)造函數(shù)
strcpy(gd_name,str);
weight=w;
totalweight+=weight;
}
~Goods(){totalweight-=weight;}
char*GetN(){___(1)___;}//返回商品名稱
intGetW(){returnweight;}
___(2)___GetTotal_Weight(){//定義靜態(tài)成員函數(shù)返回總重量___(3)___;
}
}
(1)(2)(3)
四、理解問答題,寫出前三小題的程序運(yùn)行結(jié)果和指出后兩小題的程序〔或函數(shù)〕所能實(shí)現(xiàn)的功能?!裁款}6分,共30分〕
1.#includeiomanip.h
constintN=3;
voidmain()
{
inta[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}};
intb[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}};
inti,j,c[N][N];
for(i=0;iN;i++)//計(jì)算矩陣C
for(j=0;jN;j++)
c[i][j]=a[i][j]+b[i][j];
for(i=0;iN;i++){//輸出矩陣C
for(j=0;jN;j++)
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
coutsetw(5)c[i][j];
coutendl;
}
}
運(yùn)行結(jié)果:
2.#includeiostream.h
#includestring.h
classA{
char*a;
public:
A(char*s){
a=newchar[strlen(s)+1];
strcpy(a,s);
coutaendl;
}
~A(){delete[]a;}
};
voidmain(){
A*(*u*iaokai);
A*y=newA(weirong);
deletey;
}
運(yùn)行結(jié)果:
3.#includeiostream.h
classA{
inta,b;
public:
A(){a=b=0;}
A(intaa,intbb){a=aa;b=bb;}
intSum(){returna+b;}
int*Mult(){
int*p=newint(a*b);
returnp;
}
};
voidmain(){
A*(2,3),*p;
p=newA(4,5);
cout*.Sum()’’*(*.Mult())endl;
coutp-Sum()’’*(p-Mult())endl;
}
運(yùn)行結(jié)果:
4.voidfun5(char*a,constchar*b)
{
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
while(*b)*a++=*b++;
*a=0;
}
函數(shù)功能:
5.templateclassT
boolfun8(Ta[],intn,Tkey)
{
for(inti=0;in;i++)
if(a[i]==key)returntrue;
returnfalse;
}
函數(shù)功能:
五、編程題〔每題5分,共10分〕
1.根據(jù)下面函數(shù)原型語句編寫一個(gè)遞歸函數(shù)求出并返回?cái)?shù)組a中n個(gè)元素的平方和。intf(inta[],intn);
2.依據(jù)下面類中拷貝構(gòu)造函數(shù)的原型寫出它的類外定義。
classArray{
int*a;//指向動(dòng)態(tài)安排的整型數(shù)組空間
intn;//記錄數(shù)組長度
public:
Array(intaa[],intnn);//構(gòu)造函數(shù),利用aa數(shù)組長度nn初始化n,//利用aa數(shù)組初始化a所指向的數(shù)組空間Array(Arrayaa);//拷貝構(gòu)造函數(shù)
ArrayGive(Arrayaa);//實(shí)現(xiàn)aa賦值給*this的功能并返回*thisArrayUion(Arrayaa);//實(shí)現(xiàn)*this和aa中的數(shù)組合并的
//功能,把合并結(jié)果存入臨時(shí)對(duì)象并返回intLenth(){returnn;}//返回?cái)?shù)組長度
voidPrint(){//輸出數(shù)組
for(inti=0;in;i++)
couta[i]’’;
coutendl;
}
};
答案供參考
一、單項(xiàng)選擇題〔每題2分,共20分〕
1.D2.A3.B4.B5.D
6.D7.C8.B9.D10.C
二、填空題〔每題2分,共20分〕
評(píng)分標(biāo)準(zhǔn):每題假設(shè)有兩個(gè)空,那么每空1分;假設(shè)只有一個(gè)空,那么每空2分。
1.122.個(gè)數(shù)(或數(shù)目)類型
3.*pp4.*(a+i)*(*(b+i)+j)
5.676.length==0length==MS
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
7.對(duì)象基類常量引用〔四取二即可〕8.delete[]pa;
9.基類名類區(qū)分符10.公有愛護(hù)
三、程序填充題,對(duì)程序、函數(shù)或類中劃有橫線的位置,依據(jù)題意按標(biāo)號(hào)把合適的內(nèi)容填寫到程序后面的標(biāo)號(hào)處?!裁款}5分,共20分〕
評(píng)分標(biāo)準(zhǔn):對(duì)一空給2分,對(duì)兩空給4分,對(duì)三空給5分。
1.(1)str[i]=’A’str[i]=’Z’
(2)num++
(3)returnnum
2.(1)intn
(2)k=j
(3)a[k]=*
3.(1)intARRAY::
(2)n1||ns
(3)v[n-1]
4.(1)returngd_name
(2)staticint
(3)returntotalweight
四、理解問答題,寫出前三小題的程序運(yùn)行結(jié)果和指出后兩小題的程序〔或函數(shù)〕所能實(shí)現(xiàn)的功能。〔每題6分,共30分〕
1.101-6//2分
40-3//2分
6-6-9//2分
2.*u*iaokai//3分
weirong//3分
3.56//3分
920//3分
4.實(shí)現(xiàn)字符串系統(tǒng)函數(shù)strcpy的功能,把b所指的字符串拷貝到a所指的字符數(shù)組空間中。
5.函數(shù)模板,從一維數(shù)組a[n]中查找值為key的元素,假設(shè)查找勝利那么返回真否那么返回假。
第4、5小題評(píng)分標(biāo)準(zhǔn):按表達(dá)完整程度酌情給分。
五、編程題〔每題5分,共10分〕
評(píng)分標(biāo)準(zhǔn):按編程完整程度酌情給分。
1.intf(inta[],intn)
{
if(n==0)return0;
elsereturna[n-1]*a[n-1]+f(a,n-1);
}
2.Array::Array(Arrayaa){
n=aa.n;
a=newint[n];
for(inti=0;in;i++)a[i]=aa.a[i];
}
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案0
《面對(duì)對(duì)象程序設(shè)計(jì)》模擬試題及答案
一、單項(xiàng)選擇題〔每題2分,共20分〕
1.C++程序的基本功能模塊為〔〕。
A.表達(dá)式B.標(biāo)識(shí)符C.語句D.函數(shù)
2.當(dāng)處理特定問題的循環(huán)次數(shù)已知時(shí),通常采納〔〕來解決。
A.for循環(huán)B.while循環(huán)C.do循環(huán)D.switch語句
3.下面函數(shù)原型語句正確的選項(xiàng)是〔〕。
A.intFunction(voida);B.voidFunction(int);
C.intFunction(a);D.int(doublea);
4.假定變量m定義為“intm=7;”,那么定義變量p的正確語句為〔〕。
A.intp=m;B.int*p=m;C.intp=*m;D.int*p=m;
5.假定變量a和pa定義為“doublea[10],*pa=a;”,要將12.35賦值給數(shù)組a中的下標(biāo)為5的元素,不正確的語句是〔〕。
A.pa[5]=12.35;B.a[5]=12.35;
C.*(pa+5)=12.35;D.*(a[0]+5)=12.35;
6.假定AA為一個(gè)類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,*為該類的一個(gè)對(duì)象,那么訪問*對(duì)象中數(shù)據(jù)成員a的格式為〔〕。
A.*.aB.*.a()C.*-GetValue()D.*.GetValue()
7.類的構(gòu)造函數(shù)是在定義該類的一個(gè)()時(shí)被自動(dòng)調(diào)用執(zhí)行的。
A.成員函數(shù)B.數(shù)據(jù)成員C.對(duì)象D.友元函數(shù)
8.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年出租車行業(yè)掛靠管理協(xié)議模板版
- 拖欠農(nóng)民民工工資問題發(fā)言稿
- 2024年離退休人員管理工作總結(jié)
- 高一上學(xué)期生物教師工作總結(jié)
- 贈(zèng)與合同請(qǐng)求權(quán)基礎(chǔ)
- Naphthol-AS-MX-phosphate-disodium-salt-生命科學(xué)試劑-MCE
- 醫(yī)療行業(yè)保密協(xié)議書
- N-Acetyl-L-phenylalanine-Standard-生命科學(xué)試劑-MCE
- 生物化學(xué)(臨床專業(yè)(201-203、21級(jí)))學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 寵物疫病診療學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 【講座】初中語文部編本教材解讀課件
- 2023年傳染病防治知識(shí)考試試題及答案
- 高考作文寫作句子素材:動(dòng)漫臺(tái)詞(附適用主題與示例)
- 公開課聽課教師簽到表
- 開展新技術(shù)、新項(xiàng)目科室內(nèi)討論記錄
- 主題班會(huì)-同學(xué)情教學(xué)課件
- 道德與法治《健康看電視》優(yōu)秀課件
- 泌尿系統(tǒng)完整結(jié)構(gòu)培訓(xùn)課件
- (中職)Office 辦公軟件應(yīng)用W11-3詩詞-實(shí)訓(xùn)任務(wù)+評(píng)分標(biāo)準(zhǔn)
- 規(guī)培體表腫物切除術(shù)
- 履帶吊使用安全技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論