版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
華僑大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)(二)試卷(A)
系別計(jì)算機(jī)、軟件工程、網(wǎng)絡(luò)工程08考試日期2023年06月29日
姓名學(xué)號(hào)成績(jī)
一、選擇題(20分,每小題2分)
(1)關(guān)于重載函數(shù)在調(diào)用時(shí)匹配依據(jù)的說法中,錯(cuò)誤的是⑴.
A)參數(shù)個(gè)數(shù)皿B)參數(shù)的類型。
C)函數(shù)名字sD)函數(shù)的類型
(2)下面對(duì)友元函數(shù)描述對(duì)的的是(2)。
A)友元函數(shù)的實(shí)現(xiàn)必須在類的內(nèi)部定義
B)友元函數(shù)是類的成員函數(shù)
C)友元函數(shù)破壞了類的封裝性和隱藏性
D)友元函數(shù)不能訪問類的私有成員
(3)(3)不是面向?qū)ο笙到y(tǒng)所包含的要素。?
A)對(duì)象B)內(nèi)聯(lián)C)類D)繼承
⑷在C++語言中函數(shù)返回值的類型是由夬定的。
A)調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)43)return語句中的表達(dá)式類型
C)定義該函數(shù)時(shí)所指定的函數(shù)類型D)調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型
⑸在C++語言中,對(duì)函數(shù)參數(shù)默認(rèn)值描述對(duì)的的是⑥。
A)函數(shù)若有多個(gè)參數(shù),只能為一個(gè)參數(shù)設(shè)定默認(rèn)值(函數(shù)參數(shù)的默認(rèn)值只能設(shè)定一個(gè))
B)一個(gè)函數(shù)的參數(shù)若有多個(gè),則參數(shù)默認(rèn)值的設(shè)定可以不連續(xù)
C)函數(shù)參數(shù)必須設(shè)定默認(rèn)值
D)在設(shè)定了參數(shù)的默認(rèn)值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認(rèn)值
(6)在C++中,數(shù)據(jù)封裝要解決的問題是
A)數(shù)據(jù)的規(guī)范化B)便于數(shù)據(jù)轉(zhuǎn)換
C)避免數(shù)據(jù)丟失D)實(shí)現(xiàn)數(shù)據(jù)隱蔽(防止不同模塊之間數(shù)據(jù)的非法
訪問)
(7)CH語言規(guī)定,程序中各函數(shù)之間(7)
A)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
0允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
(8)以下關(guān)于派生類特性的敘述中,錯(cuò)誤的敘述是(8)。
A)派生類中只能繼承基類成員而不能重定義基類成員。
B)對(duì)于私有繼承,基類成員的訪問權(quán)限在派生類中所有變成私有。
0派生類對(duì)基類的繼承具有傳遞性。
D)初始化從基類繼承來的數(shù)據(jù)成員,必須通過調(diào)用基類的構(gòu)造函數(shù)來完畢。
(9)以下關(guān)于指針函數(shù)的敘述中,對(duì)的的是&_。
A)指針函數(shù)用來存放函數(shù)名~B)指針函數(shù)用來存放函數(shù)調(diào)用結(jié)果的地址
0指針函數(shù)用來指示函數(shù)的入口不)指針函數(shù)就是函數(shù)指針的別名
(10)將全局?jǐn)?shù)據(jù)對(duì)象的存儲(chǔ)類別限定為static,其目得是(10)。
A)為了解決同一程序中不同的源文獻(xiàn)中全局量的同名問題;
B)為了保存該變量的值;
0使該變量成為局部變量;
D)使該變量能作為函數(shù)參數(shù)。
二、閱讀以下程序并給出執(zhí)行結(jié)果(20分,每小題5分)。
1、
#include<iostream>
usingnamespacestd;
c1assA{
:帶格式的:縮進(jìn):首行縮進(jìn):0.5字符)
pub1ic:_-*A(){cout?"A->";}
~A(){cout?,,<-A;}
);
classB{
public:。B(){cout<<"B->}
o~B(){cout?"v-?B:";)
);
classC{
Public:<>C(){cout?"C—>";)
。-C(){cout?"V-?C;";}
);
voidfunc(){
cout?"\nfunc:
Aa;
staticBb:
Cc;
}
intmain(){
cout<<"main:";
for(inti=l:i<=2;++i){
if(i==2)Cc;elseAa;
Bb;。。}
func();func();
return1:
)
2、
#include<iostream>
usingnamespacestd;
c1assB1
{public:
oBl(inti){cout?"constructingB1"<<i?endl?)
—Bl(){cout<<"destructingB1"<<end1;?)
);
classB2
{public:
B2(){?cout?MconstructingB2*"?endl;}
~B2(){cout<<"destructingB2"<<end1;}
}:
classC:publicB2,publicB1
{pub1ic:
C(inta,intb):Bl(a),b1(b)
{cout?"constructingC"?endl;)
-C()
{cout?"destructingC"<<end1;}
private:?
Blbl:
B2b2;
};
voidmain()
(
Cobj(1,2);
)
3、
#include<iostream>
usingnamespacestd;
classA
(
,:帶格式的:縮進(jìn):首行縮進(jìn):I字符I
pnvate:----------------------------------------------------------------
“/…其它成員
,一<:帶格式的:縮進(jìn):首行縮進(jìn):I字符]
pub11c:"----------------------------------------------------------------'
ov-4-rtual-voidfunc(intdata)
。{cout<<"classA:"<<data<<end1;?)
);
c1assB:publieA
(
〃…其它成員
,.[帶格式的:縮進(jìn);首行縮進(jìn):I字符I
public:'----------------------------------------------------------------
voidfunc()
{?cout<<°funotioninBwithoutparameter!\n°?)
_____voidfunc(intdata)
。{coinV〈"classB:"<<data<<end1;。}
);
intmain()
?Aa,*p;
A&pl=a;
oBb;
p=&b;
?p1.func(I);
p->func(100);
returnI;
)
4、
#include<iostream>
usingnamespacestd;
func(inta,intb);
intmain()
{
*intk=4,m=1,p;
?p=func(k,m);cout?p<<endl;
叩=1\1底(k,m);cout<<p<<end1;
?retum1;
)
func(inta,intb)
{
?staticintm=0,i=2;
i+=m+1;
m=i+a+b;
?return(m);
)
三、閱讀以下程序(或函數(shù))并簡(jiǎn)要敘述其功能(20分,每小題5分)Uint
chnum(char*str)
{
inti,j,k,h,1en,num=O;
1en=str1en(str);
?for(i=0;i<len;i++)
?<>k=l;
?j=len-i;
?while(j>1)
{
8k=k*10;
°j-;
8}
-h=str[i]-'O';
anum=num+h*k;
1
returnnum;
)
輸入:123
運(yùn)營(yíng)結(jié)果:?此題比較難,且沒有主函數(shù)無法運(yùn)營(yíng)
功能:
2、
#include<iostream>
usingnamespacestd;
intmain()
(
?char*a[5]={"student","worker","cadre","soldier","peasant"};
?char*pl,*p2;
pl=p2=a[0];
for(inti=0;i<5;i++)
?{
aif(strcmpCa[i],pl)>0)p1=a[i];
if(strcmp(a[i],p2)<0)p2=a[i];
)
cout?p1<<'J?p2?endl;
return1;
)
運(yùn)營(yíng)結(jié)果:?
功能:
3、
#include<iostream>
usingnamespacestd;
voidfunc(int[],int);
intmain()
(
intaiTay口={48,91,83,75,36};
dnt1en=sizeof(array)/sizeof(int);
for(inti=0;i<len;i4~+)
?cout?array[i]<<"J;
ocout<<endK<end1;
ofunc(array,1en);
?return1;
)
voidfunc(inta[]Jntsize)
nii,temp;
for(intpass=l;pass<size:pass++>
I
。for(i=0;i<size-pass;i++)
?if(a[i]>a[i+l])
{temp=a[i];
*a[i]=a[i+1];
a°a[i+l]=temp;
g)
)
for(i=0;i<size;i++)。
<?cout?a[i]?",n;
out?end1;
)
請(qǐng)敘述函數(shù)func()的功能。
4、
:帶格式的:雙麗麗
tn*ng~namemaee-s逐出
=Jn&f-比np^eronst-che+?F*-*F2*
出
=_char@[80]一比卜8>04-:
-------??IQIIinpu〔tw—strin李士
gim/麻業(yè)
“??IH《4:¥*的ul*三(q<t'np(H,4)<4endh
p-cturR~~l~:i
+
intfunp(constchar*strl,constchar*str2)
(
while(*strl&&*str1==*str2)
(
strl++;str2++;
)
return*strl-*str2;
)
請(qǐng)敘述函數(shù)funp()的功能。
四、閱讀以下程序并填空(填上對(duì)的的語法成分),使其成為完整的程序(10分,
每空2分)
從已建立的學(xué)生鏈表中刪除學(xué)號(hào)為number的學(xué)生結(jié)點(diǎn)。
structStudcnt
{
?longnumber;
f1oatscore;
Student*next;
Student*De1ete(Student*head,longnumber)//刪除鏈表結(jié)點(diǎn)
。Sludent*p,*pGuard;〃P指向要?jiǎng)h除的結(jié)點(diǎn),pGuard指向要?jiǎng)h除的結(jié)點(diǎn)的前一
結(jié)點(diǎn)
if<CD)〃原鏈表為空鏈表
(
^cout?*'\nListisnul1!\n*';
return(head);
*I
if(⑵>//要?jiǎng)h除的結(jié)點(diǎn)為鏈表的第一個(gè)結(jié)點(diǎn),、帶格式的:縮進(jìn):首行縮進(jìn):L5字符
?(
。p=head;
?head=head->next;
deletep;
?cout?number?"theheadoflisthavebeendeleted\n";
?retum(head);
)
for(Student—*pGuard=head;(3);pGuard=pGuard—>next)
?(
對(duì)f(pGuard—>next->number==number>//找到要?jiǎng)h除的結(jié)點(diǎn)
?(
O0(4)3
8。(5)____________________
1etep;
。cout?number<<"havebeendeleted\n";
?return(head);
。}
cout<<number<<"notfound!\n";?!ㄎ凑业揭?jiǎng)h除的結(jié)點(diǎn)
return(head);
)
五、編程題(30%)
1、編寫函數(shù)char*copystr(char*dest,constchar*source,intm)
將字符串source中第m個(gè)字符開始的所有字符(sourcc的最右子串)復(fù)制成另一個(gè)字符串
dest,并返回復(fù)制的申,請(qǐng)?jiān)谥骱瘮?shù)中輸入字符串及m的值并輸出復(fù)制結(jié)果。
2、設(shè)計(jì)并測(cè)試復(fù)數(shù)類(Complex)
⑴設(shè)計(jì)一個(gè)復(fù)數(shù)類(Complex)包含兩個(gè)數(shù)據(jù)成員:實(shí)部(real),虛部(imagin
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車美容店裝修承包
- 杭州市書畫院裝修合同
- 藝術(shù)品臨時(shí)運(yùn)輸協(xié)議
- 森林公園砂石運(yùn)輸外包協(xié)議
- 汽車整車出口運(yùn)輸協(xié)議樣本
- 鋼結(jié)構(gòu)建筑鋼材運(yùn)輸合同
- 鋼鐵廠土方運(yùn)輸服務(wù)協(xié)議
- 美食廣場(chǎng)超市裝修合同
- 教育園區(qū)土方轉(zhuǎn)運(yùn)合同
- 美容院裝修升級(jí)合作協(xié)議
- 頸椎病中醫(yī)護(hù)理方案課件
- 《信息科技》學(xué)科新課標(biāo)《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》
- 范微觀濟(jì)學(xué)現(xiàn)代觀點(diǎn)課后習(xí)題詳解
- 安全生產(chǎn)應(yīng)知應(yīng)會(huì)教育培訓(xùn)課件
- 貨款互抵協(xié)議書模板
- 社康述職報(bào)告
- 【良品鋪?zhàn)悠髽I(yè)營(yíng)運(yùn)能力存在的問題及對(duì)策(8700字論文)】
- 服務(wù)器基礎(chǔ)與日常運(yùn)維
- 國(guó)際貨物運(yùn)輸中的跨境電商與海商法的法律適用
- 2024年廣西南寧城投集團(tuán)招聘筆試參考題庫含答案解析
- 華為公司員工滿意度
評(píng)論
0/150
提交評(píng)論