




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
大學(xué)計(jì)算機(jī)應(yīng)用根底〔面向?qū)ο缶植俊硰?fù)習(xí)題
一、選擇題
4.關(guān)于成員函數(shù),以下表達(dá)中不正確的選項(xiàng)是一A0
A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B.成員函數(shù)可以重載
C.成員函數(shù)的參數(shù)可以設(shè)置默認(rèn)值D.成員函數(shù)可以是另一個(gè)類(lèi)的友元函
數(shù)
5.以下關(guān)于析構(gòu)函數(shù)說(shuō)法正確的選項(xiàng)是_Do
A.析構(gòu)函數(shù)可以有參數(shù)。B.析構(gòu)函數(shù)可以重載。
C.析構(gòu)函數(shù)一定被繼承。D.析構(gòu)函數(shù)無(wú)返回值。
6.以下對(duì)友元的描述中,正確的選項(xiàng)是_D—。
A.友元可以在類(lèi)外聲明和定義B.友元降低了程序的運(yùn)行效率
C.友元不能訪問(wèn)類(lèi)中的保護(hù)成員D.友元破壞了類(lèi)的封裝性
7.下面對(duì)靜態(tài)成員的描述中,錯(cuò)誤的選項(xiàng)是_C_。
A.靜態(tài)成員的提出是為了解決數(shù)據(jù)共享問(wèn)題
B.靜態(tài)數(shù)據(jù)成員的初始化在類(lèi)體外進(jìn)行
C.類(lèi)的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值
D.靜態(tài)成員函數(shù)可以直接訪問(wèn)類(lèi)中的靜態(tài)數(shù)據(jù)成員
8.以下對(duì)常量的定義中,錯(cuò)誤的選項(xiàng)是C。
A.intconstsize=10;B.char*constp="GoodLuck";
C.voidconstprint();D.constMyClassobj(10,10);
9.假設(shè)有如下函數(shù)聲明:voidFun(intx);,那么以下_B—能與該函數(shù)進(jìn)行重載。
A.voidFun(inty);B.voidFun(intx,inty='l');
C.intFun(intx);D.voidFun(int)const;
10.為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇
_A_o
A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板
11.派生類(lèi)的對(duì)象對(duì)它的基類(lèi)成員中什么是可訪問(wèn)的(A,C)。
A.公有繼承的公有成員B.公有繼承的私有成員
C.公有繼承的保護(hù)成員D.私有繼承的公有成員
12、—D_不是構(gòu)造函數(shù)的特征。
A.構(gòu)造函數(shù)的函數(shù)名與本類(lèi)類(lèi)名相同B.構(gòu)造函數(shù)可以重載
C.構(gòu)造函數(shù)可以設(shè)置缺省形參值D.構(gòu)造函數(shù)必須指明返回類(lèi)型
13、以下函數(shù)中,_A不是類(lèi)的成員函數(shù)。
A.友元函數(shù)B.拷貝構(gòu)造函數(shù)C.析構(gòu)函數(shù)D,構(gòu)造函數(shù)
14、假設(shè)有如下函數(shù)聲明:voidFun(intx);,那么以下一B―能與該函數(shù)進(jìn)行重載。
A.voidFun(inty);B.voidFun(intx,inty='l');
C.intFun(intx);D.voidFun(int)const;
15、假設(shè)派生類(lèi)的繼承方式為私有,那么派生類(lèi)自有的成員函數(shù)不能對(duì)基類(lèi)的
_B_______直接訪問(wèn)。
A.公有成員B、私有成員C、保護(hù)成員D、全部成員;
16、以下對(duì)常量的定義中,錯(cuò)誤的選項(xiàng)是_C_o
A.intconstsize=10;B.char*constp=nGoodLuck";
C.voidconstprint();D.constMyClassobj(10,10);
17、設(shè)置虛基類(lèi)的目的是_B。
A.簡(jiǎn)化程序B.消除二義性
C.實(shí)現(xiàn)多態(tài)D.減少目標(biāo)代碼
18、類(lèi)A,并staticinta為其公有成員,下面初始化方法正確的選項(xiàng)是_D=
A.inta=0;B.a=0;
C.A(…):a(0);D.intA::a=0;
19、以下運(yùn)算符中,不能重載的運(yùn)算符是A。
A.::B.[]C.&&D.?
20、在建立派生類(lèi)對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行方式為:C
A.先執(zhí)行派生類(lèi)構(gòu)造函數(shù)后執(zhí)行基類(lèi)構(gòu)造函數(shù)
B.只執(zhí)行派生類(lèi)構(gòu)造函數(shù)
C.先執(zhí)行基類(lèi)構(gòu)造函數(shù)后執(zhí)行派生類(lèi)構(gòu)造函數(shù)
D,僅執(zhí)行基類(lèi)構(gòu)造函數(shù)
21、為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用__A—函數(shù)實(shí)現(xiàn)。
A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板
22、派生類(lèi)中,重新定義基類(lèi)的虛函數(shù)時(shí),虛函數(shù)的_口必須保持一致。
A.參數(shù)個(gè)數(shù)B.參數(shù)類(lèi)型
C.返回值D.參數(shù)個(gè)數(shù)、參數(shù)類(lèi)型和返回值
23.當(dāng)派生類(lèi)中有和基類(lèi)一樣名字的成員時(shí),一般來(lái)說(shuō)-B—。
A.將產(chǎn)生二義性B.派生類(lèi)的同名成員將覆蓋基類(lèi)的成員
C.是不能允許的D.基類(lèi)的同名成員將覆蓋派生類(lèi)的成員
24.如果是類(lèi)B在類(lèi)A的根底上構(gòu)造,那么稱_B—。
A.類(lèi)A為基類(lèi)或派生類(lèi),類(lèi)B為子類(lèi)或父類(lèi)B.類(lèi)A為基類(lèi)、父類(lèi),類(lèi)B為
派生類(lèi)或子類(lèi)
C.類(lèi)A為派生類(lèi),類(lèi)B為基類(lèi)D.類(lèi)A為派生類(lèi)或子類(lèi),類(lèi)B為基類(lèi)、父類(lèi)
25.多繼承派生類(lèi)構(gòu)造函數(shù)構(gòu)造對(duì)象時(shí),_C_最先被調(diào)用。
A.虛函數(shù)的構(gòu)造函數(shù)B.派生類(lèi)自己的構(gòu)造函數(shù)
C.非虛基類(lèi)的構(gòu)造函數(shù)D.派生類(lèi)中子對(duì)象類(lèi)的構(gòu)造函數(shù)
二、程序填空
1、把一串字符中的小寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)的大寫(xiě)字母。
#include<stdio.h>
charfun(charc)
(
if(c>=,a,&&c<=,z,)
—c=c+32;
returnc;
}
main()
(
charc;
c=getchar();
while(c!='\n!)
(
c=_fun(c);
putchar(c);
c=_getchar(c);
)
)
2、友元應(yīng)用
#include"iostream.h"
classstudent
(
public:
intNo;
char*Name;
student();
?student。;
friendvoidf_age(intag,student&p);
private:
intage;
);
student::student(intn,char*str)
(
No二n;
Name=str;
age=18;
)
student::?student()
cout<v"學(xué)號(hào)"v<No<Vendl;
cout<<"姓名n?Name?endl;
coutvv"年齡“vvagevVendl;
)
voidJage(intag,student&p)
(
P-age=ag;
coutvv"友元年齡"vvp.age?endl;
}
voidmain()
(
studentwang(5074401,nwangn);
Lage(30,wang);
)
3、輸出一個(gè)點(diǎn)
#includeniostream.hn
classpoint
(
public:
point(intx,inty);
?point。
(
cout?X?n,n?Y?endl;
)
private:
intX;
intY;
);
point::point(intx,inty)
(
X=x;
Y二y;
)
voidmain()
{pointpl(10,10);}
4、求出圓的面積:
#include<iostream.h>
classPoint
public:
Point(doublem,doublen);
virtualvoidArea();
private:
doublex,y;
);
Point::Point(doublem,doublen)
{x=m,y=n}
voidPoint::Area()
{cout?"Theareais0H?endl;}
classCircle:publicPoint
(
public:
Circle();
voidArea();
private:
doubler;
);
Circle::Circle(doublem,doublen,doublei):Point(m,n)
{r=i;}
voidCircle::Area()
(
doublea=—3.14*r*r;
cout?"Theareaofthecircleis:"?a?endl;
)
voidmain()
(
Point*pt;
Circlec(l,2,3);
_pt=&c_____________;
pt->Area();
}
5、以下程序執(zhí)行后的輸出結(jié)果是80口0081口23~口~8~口~8,請(qǐng)將以下程
序補(bǔ)充完整。
classBase{
public:
Base(inti=0){x=i;cout?,B'?x<<'';}
~Base(){cout?',-B,,?x?,}
private:
intx;
);
classDerived:publicBase{
inty,z;
public:
—Derived(inti,inta=O,intb=O):Base(i){y=a;z=b;cout?/,D〃?
y?z?'';}//Constructor
_-Derived(){cout?,/?D"<<”;}//
Destructor
);
voidmain(){
Derivedobj1;
Derivedobj2(1,2,3);
)
5、函數(shù)重載
#include<iostream.h>
intf_add(_inti,intj)
{returni+j;}
doubleCadd(_doublei,doublej)
{returni+j;}
intCadd(inti,intj,intk)
{returni+fLadd(—intj,intk);}
voidmain()
(
inta=l,b=2,c=3;
doublex=3.5,y=4.5;
inte,f;
doublez;
e=Cadd(a,b);
f=f_add(a,b,c);
z=Ladd(x,y);
cout?a?n+',?b?,,=,,?e?endl;
cout?a?',+',?b?',+',?c?'-"?f?endl;
cout?x?n+n?y?n=n?z?endl;
)
三、寫(xiě)出以下程序的運(yùn)行結(jié)果
1.閱讀程序,輸入如下數(shù)據(jù):10052,寫(xiě)出運(yùn)行結(jié)果。
#include"stdio.h"
mainQ
(
longm,p,q,t;
p=q=0;
scanf("%ld",&m);
do
(
t=m%10;
if(t==O)p++;
else
if(q<=t)q=t;
m/=10;
}while(m);
printf(nCount=%ld,Max=%ld\nn,p,q);
)
2、閱讀程序,寫(xiě)出運(yùn)行結(jié)果
#include"iostream.h"
classtest
(
private:
intnum;
floatfl;
public:
test();
intgetint(){returnnum;}
floatgetfloat(){returnfl;}
~test();
);
test::test()
(
cout?"Initalizingdefault"?endl;
num=l;fl=1.2;
)
test::~test()
{cout?nDesdtructorisactiveH?endl;}
voidmain()
testarray[2];
cout?array[l].getint()?”"?array[l].getfloat()?endl;
)
3、閱讀程序,寫(xiě)出運(yùn)行結(jié)果。
#include<iostream.h>
classA
(
public:
A(){cout<<”調(diào)用的無(wú)參構(gòu)造函數(shù)”<<endl;}
A(intx)
{al=x;coutv<”調(diào)用的有參構(gòu)造函數(shù)”<<endl;}
A(A&p)
{al=p.al;coutvv”調(diào)用的復(fù)制構(gòu)造函數(shù)”《endl;}
voidadd(Aq)
(
Atemp;
temp.al=al+q.al;
cout<<"結(jié)果為:"?temp.al?endl;
)
private:
intal;
);
main()
(
AA1(1),A2(2);
Al.add(A2);
)
4、分析以下程序的運(yùn)行結(jié)果
#include<iostream.h>
classadd
(
public:
virtualvoidsm()=0;
virtualvoiddisp(){}
);
classaddkpublicadd
private:
int
public:
add1(inta,intb):ml(a),nl(b){}
voidsm(){ml+=—nl;nl—;}
voiddisp()
{cout?Hml=M?ml?nn?nnl="?nl?endl;}
);
voidmain()
(
addla(4,6);
add*p=&a;
p->sm();p->disp();
)
5、閱讀程序,寫(xiě)出運(yùn)行結(jié)果
#include<iostream.h>
classA
(
public:
A(inti){a=i;cout?"ConstructorA.n?endl;}
-A(){cout?nDestructorA.H?endl;}
voidPrint(){cout?a?endl;}
private:
inta;
);
classB:publicA
(
public:
B(inti,intj):A(i){b=j;cout?nConstructorB,n?endl;}
-B(){cout?nDestructorB.M?endl;}
voidPrint(){A::Print();cout?b?endl;}
private:
intb;
);
classC:publicB
(
public:
C(inti,intj,intk):B(i,j),c(k)
{cout?nConstructorC.n?endl;}
-C(){cout?nDestructorC.n?endl;}
voidPrint(){A::Print();B::Print();cout?c?endl;}
private:
intc;
);
voidmain()
(
Ccl(l,2,3);
cl.Print();
)
6、分析以下程序,寫(xiě)出運(yùn)行結(jié)果
#include<iostream.h>
classTest{
public:
Test(doublem,doublen,doubled):p(d){x=m;y=n;}
voidShow();
voidShow()const;
private:
doublex,y;
constdoublep;
);
voidTest::Show(){
cout<<x?",H?y?endl;
cout?np=H?p?endl;
)
voidTest::Show()const{
cout?x?","?y?Hconstu?endl;
cout?,,p=',?p?nconstn?endl;
)
voidmain(){
Testa(8.9,2.5,3.1416);
a.Show();
constTestb(2.5,8.9,3.14);
b.Show();
)
7、分析以下程序,寫(xiě)出運(yùn)行結(jié)果
#include<iostream.h>
classSample
intx,y;
public:
Sample(){x=y=O;}
Sample(inta,intb){x=a;y=b;}
?Sample。
(
if(x==y)
cout?"x=yn?endl;
else
cout?nx!=yn?endl;
}
voiddisp()
(
cout?"x="?x?",y="?y?endl;
)
);
voidmain()
(
Samplesl,s2(2,3);
sl.dispO;
s2.disp();
)
8、分析以下程序,寫(xiě)出運(yùn)行結(jié)果
#include<iostream.h>
classPoint
(
public:
Point(doublem,doublen);
virtualvoidArea();
private:
doublex,y;
);
Point::Point(doublem,doublen)
{x=m;
y=n;
)
voidPoint::Area()
{cout?/,Theareais0,,?endl;}
classCircle:publicPoint
public:
Circle(doublem,doublen,doublei);〃聲明構(gòu)造函數(shù)
voidArea();
private:
doubler;
);
Circle::Circle(doublem,doublen,doublei):Point(m,n)
{r=i;}
voidCircle::Area()
{doublea=3.14*r*r;
cout?/,Theareaofthecircleis:"?a?endl;
)
voidmain()
{Point*pt;
Circlec(4,5,6);
pt=&c;
pt->Area();
)
四、編寫(xiě)程序
1、數(shù)列:1------1-----------1----------1—編一程序,求其前十項(xiàng)的和?!伯?huà)出N~S
357911
流程圖)
#include<iostream>
usingnamespacestd;
intmain()
(
doublesum,m,n;
inti;
sum=l;
m=l;
n=l;
for(i=l;i<=9;i++)
(
n=n+2;
if(i%2!=0)
m=-(l/n);
elsem=l/n;
sum+=m;
)
cout<<”前十項(xiàng)的和為:"?sum?endl;
return0;
)
2、編寫(xiě)一函數(shù)計(jì)算n!,調(diào)用該函數(shù)計(jì)算sinx的近似值,要求誤差小于KT4,
其中:
#include<iostream>
#include<math.h>
usingnamespacestd;
intjiecheng(intn)
{
intsum=l,i;
for(i=l;i<=n;i++)
(
sum=sum*i;
)
returnsum;
)
doublemain()
{
doublesinx=0,x;
intn,i;
cout<v”請(qǐng)輸入X:";
cin?x;
cout?”請(qǐng)輸入n:
cin?n;
for(i=l;i<=n;i++)
(
sinx=pow((-1),(i-1))*pow(x,(2i-1))/jiecheng(2i-1);
)
cout?',sinx=n;
printf(H%10.4\nH,sinx);
return0;
}
3、定義一復(fù)數(shù)類(lèi),利用運(yùn)算符重載完成復(fù)數(shù)相加。主函數(shù)及運(yùn)行結(jié)果如下:
(注意:實(shí)部為real;虛部為imag,為私有數(shù)據(jù)成員)
#include<iostream.h>
classComplex
{public:
Complex()
(
real=O;
Image=0;
)
Complex(doubler,doublei):real(r),imag(i){}
Complexoperator+(Complexb&c2);
(
return(real+c2.real,imag+c2.imag)
)
Voidput()
(
cout?,"("<<real<<〃:?imag?,/i)〃?endl;
)
private:
doubleraeal;
doubleimage;
);
voidmain()
{Complexcl(l,2),c2(3,4),c3;
c3=cl+c2;
c3.put();
)
4、編寫(xiě)一函數(shù)把字串中與某字符相同的字符刪除,主函數(shù)如下:
#include<iostream.h>
#include<stdio.h>
main()
{
char*str=newchar[];
charc;
gets(str);
cin?c;
fun(str,c);
puts(str);
)
voidfun(str,c)
while(str[]!=,\O,)
(
if(strcmp(str[],c)==0)
deletestr[];
)
)
5、三角形的三遍,在該三角形的根底上拉伸出高為H的三棱柱,編寫(xiě)三棱柱
派生類(lèi),求三棱柱的體積。
三角形類(lèi)描述如下:
classTriangle
(
public:
Triangle(floatx,floaty,floatz){a=x;b=y;c=z;}
voidArea()
(
floatt;
t=(a+b+c)/2;
area=sqrt(t*(t-a)*(t-b)*(t-c));
}
floatGet_area(){returnarea;}
voidShow(){cout<<”三角形的面積為:H?area?endl;}
private:
floata,b,c;
floatarea;
};
classColumn:publicTriangle
(
)
主函數(shù)如下:
main()
(
TriangleTl(3,4,5);
Tl.Area();Tl.Show();
ColumnCl(3,4,5,10);
Cl.Volume();Cl.Show();
)
答案:
#include<iostream>
#include<math.h>
usingnamespacestd;
classTriangle
(
public:
Triangle(floatx,floaty,floatz)
(
a=x;b=y;c=z;
)
vo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ū)考試適應(yīng)性培訓(xùn)試題及答案
- 藥用拉丁語(yǔ)試題及答案
- 高空作業(yè)試題及答案解析
- 紡織品設(shè)計(jì)師證書(shū)考試基礎(chǔ)材料試題及答案
- 紡織品設(shè)計(jì)的文化傳播與市場(chǎng)反響試題及答案
- 紡織品的設(shè)計(jì)倫理與可持續(xù)性考量試題及答案
- 伐木合同協(xié)議書(shū)
- 合作協(xié)議書(shū)和合同協(xié)議書(shū)
- 長(zhǎng)期委托加工合同協(xié)議書(shū)
- 二手房合同協(xié)議書(shū)
- 2021年廣東深圳中考滿分作文《這創(chuàng)意讓我激動(dòng)不已》
- 安裝窗戶高空作業(yè)合同安全責(zé)任書(shū)
- 小學(xué)低年級(jí)游戲化學(xué)習(xí)對(duì)數(shù)學(xué)興趣激發(fā)的研究
- 甲狀腺手術(shù)甲狀旁腺保護(hù)
- 2024年初三數(shù)學(xué)競(jìng)賽考試試題
- 2024年醫(yī)院依法執(zhí)業(yè)培訓(xùn)課件
- DL∕T 1009-2016 水電廠計(jì)算機(jī)監(jiān)控系統(tǒng)運(yùn)行及維護(hù)規(guī)程
- 阿里巴巴員工紀(jì)律制度
- 人教部編版七(下)語(yǔ)文《愛(ài)蓮說(shuō)》練習(xí)
- 關(guān)于菜鳥(niǎo)驛站轉(zhuǎn)讓合同范本
- DL-T1342-2014電氣接地工程用材料及連接件
評(píng)論
0/150
提交評(píng)論