大基面向?qū)ο蟛糠謴?fù)習(xí)題_第1頁(yè)
大基面向?qū)ο蟛糠謴?fù)習(xí)題_第2頁(yè)
大基面向?qū)ο蟛糠謴?fù)習(xí)題_第3頁(yè)
大基面向?qū)ο蟛糠謴?fù)習(xí)題_第4頁(yè)
大基面向?qū)ο蟛糠謴?fù)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)(面向?qū)ο蟛糠郑?fù)習(xí)題一、選擇題4關(guān)于成員函數(shù),以下敘述中不正確的是_a_ A. 成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B. 成員函數(shù)可以重載 C. 成員函數(shù)的參數(shù)可以設(shè)置默認(rèn)值D. 成員函數(shù)可以是另一個(gè)類的友元函數(shù) 5下列關(guān)于析構(gòu)函數(shù)說(shuō)法正確的是_d_。A. 析構(gòu)函數(shù)可以有參數(shù)。B. 析構(gòu)函數(shù)可以重載。C. 析構(gòu)函數(shù)一定被繼承。D. 析構(gòu)函數(shù)無(wú)返回值。6下列對(duì)友元的描述中,正確的是_d_。A. 友元可以在類外聲明和定義B. 友元降低了程序的運(yùn)行效率C. 友元不能訪問(wèn)類中的保護(hù)成員D. 友元破壞了類的封裝性7下面對(duì)靜態(tài)成員的描述中,錯(cuò)誤的是_c_。A. 靜態(tài)成員的提出是為了解決數(shù)據(jù)共享問(wèn)題B

2、. 靜態(tài)數(shù)據(jù)成員的初始化在類體外進(jìn)行C. 類的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值D. 靜態(tài)成員函數(shù)可以直接訪問(wèn)類中的靜態(tài)數(shù)據(jù)成員8下列對(duì)常量的定義中,錯(cuò)誤的是_c_。A. int const size=10;B. char * const p="Good Luck"C. void const print();D. const MyClass obj(10,10);9若有如下函數(shù)聲明:void Fun(int x);,則下列_d_能與該函數(shù)進(jìn)行重載。A. void Fun(int y);B. void Fun(int x,int y='1');C. int Fun

3、(int x);D. void Fun(int) const;10為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇_a_。A. 內(nèi)聯(lián)函數(shù)B. 重載函數(shù)C. 遞歸函數(shù)D. 函數(shù)模板?11派生類的對(duì)象對(duì)它的基類成員中什么是可訪問(wèn)的(a)。A. 公有繼承的公有成員B. 公有繼承的私有成員C. 公有繼承的保護(hù)成員D. 私有繼承的公有成員12、_d_不是構(gòu)造函數(shù)的特征。 A. 構(gòu)造函數(shù)的函數(shù)名與本類類名相同 B. 構(gòu)造函數(shù)可以重載 C. 構(gòu)造函數(shù)可以設(shè)置缺省形參值 D. 構(gòu)造函數(shù)必須指明返回類型13、下列函數(shù)中,_a_不是類的成員函數(shù)。 A. 友元函數(shù) B. 拷貝構(gòu)造函數(shù) C. 析構(gòu)函

4、數(shù) D. 構(gòu)造函數(shù)14、若有如下函數(shù)聲明:void Fun(int x);,則下列_d_能與該函數(shù)進(jìn)行重載。A. void Fun(int y);B. void Fun(int x,int y='1');C. int Fun(int x);D. void Fun(int) const;?15、若派生類的繼承方式為私有,則派生類自有的成員函數(shù)不能對(duì)基類的_b_直接訪問(wèn)。A. 公有成員B、私有成員C、保護(hù)成員D、全部成員;16、下列對(duì)常量的定義中,錯(cuò)誤的是_c_。A. int const size=10;B. char * const p="Good Luck"

5、C. void const print();D. const MyClass obj(10,10);17、設(shè)置虛基類的目的是_c_。A. 簡(jiǎn)化程序B. 消除二義性C. 實(shí)現(xiàn)多態(tài)D. 減少目標(biāo)代碼18、已知類A,并static int a 為其公有成員,下面初始化方法正確的是_d_。A. int a=0;B. a=0;C. A():a(0);   D. int A:a=0; ?19、下列運(yùn)算符中,不能重載的運(yùn)算符是_a_。A. : B. C. && . >>20、在建立派生類對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行方式為: cA. 先執(zhí)行派生類構(gòu)造函數(shù)后執(zhí)

6、行基類構(gòu)造函數(shù)B. 只執(zhí)行派生類構(gòu)造函數(shù)C. 先執(zhí)行基類構(gòu)造函數(shù)后執(zhí)行派生類構(gòu)造函數(shù)D. 僅執(zhí)行基類構(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、派生類中,重新定義基類的虛函數(shù)時(shí),虛函數(shù)的_d_必須保持一致。A. 參數(shù)個(gè)數(shù)B. 參數(shù)類型C. 返回值D. 參數(shù)個(gè)數(shù)、參數(shù)類型和返回值23. 當(dāng)派生類中有和基類一樣名字的成員時(shí),一般來(lái)說(shuō) _b_。 A. 將產(chǎn)生二義性           

7、60;  B. 派生類的同名成員將覆蓋基類的成員C. 是不能允許的              D. 基類的同名成員將覆蓋派生類的成員24. 如果是類B在類A的基礎(chǔ)上構(gòu)造,那么稱_b_。 A. 類A為基類或派生類,類B為子類或父類   B. 類A為基類、父類,類B為派生類或子類C. 類A為派生類,類B為基類   D. 類A為派生類

8、或子類,類B為基類、父類?25. 多繼承派生類構(gòu)造函數(shù)構(gòu)造對(duì)象時(shí),_b_最先被調(diào)用。A. 虛函數(shù)的構(gòu)造函數(shù) B. 派生類自己的構(gòu)造函數(shù)C. 非虛基類的構(gòu)造函數(shù) D. 派生類中子對(duì)象類的構(gòu)造函數(shù)二、 程序填空1、把一串字符中的小寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)的大寫(xiě)字母。#include <stdio.h>char fun(char c) if(c>='a'&&c<='z') _c=c+A-a_; return c;main() char c; c=getchar();while(c!='n')c=_fun(c)_;putc

9、har(c);c=_getchar()_;2、友元應(yīng)用#include "iostream.h"class studentpublic:int No;char *Name;_student(int n,char* str)_;student();_friend_ void f_age(int ag, student &p);private:int age;student:student(int n,char *str)No=n;Name=str;age=18;student:student ()cout<<"學(xué)號(hào)"<<No

10、<<endl;cout<<"姓名"<<Name<<endl;cout<<"年齡"<<age<<endl;void f_age(int ag, student &p)p.age =ag;cout<<"友元年齡"<<p.age <<endl;void main()student wang(5074401,"wang");f_age(30,wang);3、輸出一個(gè)點(diǎn)#include "

11、iostream.h"class pointpublic:point(int x,int y); point() cout<<X<<","<<Y<<endl; private: int X; int Y;point:point(int x,int y) _X=x_; _Y=y_;void main() point p1(10,10); 4、求出圓的面積:#include <iostream.h>class Point public: Point(double m,double n ); virtual v

12、oid Area();private: double x,y;Point:Point(double m,double n ) _x=m;y=n;_void Point: Area() cout<<"The area is 0"<<endl;class Circle :public Pointpublic: _Circle(double m,double n,double i)_; void Area();private: double r;Circle :Circle (double m,double n, double i): x(m),y(n)_

13、 r=i;void Circle : Area() double a=_2*pi*r*r_; cout<<"The area of the circle is:"<<a<<endl;void main() Point *pt; Circle c(1,2,3); _; pt-> Area ();5、下列程序執(zhí)行后的輸出結(jié)果是B0 D00 B1 D23 D B D B,請(qǐng)將下列程序補(bǔ)充完整。class Base public:Base(int i=0) x = i; cout<<'B'<<x<

14、;<' 'Base() cout<<"B"<<x<<' ' private:int x;class Derived : public Base int y, z;public: _ / Constructor _ / Destructor;void main() Derived obj1;Derived obj2(1,2,3);5、函數(shù)重載#include <iostream.h>int f_add(_int i ,int j_) return i+j; double f_add(_dou

15、ble i, double j_) return i+j; int f_add(int i,int j,int k) return i+f_add(_j,k_); void main()int a=1,b=2,c=3;double x=3.5,y=4.5;int e,f;double z;e=f_add(a,b); f=f_add(a,b,c);z=f_add(x,y); cout<<a<<"+"<<b<<"="<<e<<endl;cout<<a<<"

16、;+"<<b<<"+"<<c<<"="<<f<<endl;cout<<x<<"+"<<y<<"="<<z<<endl;三、寫(xiě)出下列程序的運(yùn)行結(jié)果1閱讀程序,輸入如下數(shù)據(jù):10052,寫(xiě)出運(yùn)行結(jié)果。#include "stdio.h"main()long m,p,q,t;p=q=0;scanf("%ld",&m);do

17、t=m%10;if(t=0) p+;elseif(q<=t) q=t;m/=10;while(m);printf("Count=%ld,Max=%ldn",p,q);Count=2,Max=52、閱讀程序,寫(xiě)出運(yùn)行結(jié)果#include "iostream.h"class testprivate:int num;float fl;public:test( );int getint( )return num;float getfloat( )return fl;test( );test:test( )cout << "Inital

18、izing default" << endl;num=1;fl=1.2;test:test( )cout<<"Desdtructor is active"<<endl;void main( )test array2;cout << array1.getint( )<< " " << array1.getfloat( ) <<endl;Initalizing defaultInitalizing default 1 1.2Desdtructor is active

19、Desdtructor is active3、閱讀程序,寫(xiě)出運(yùn)行結(jié)果。#include <iostream.h>class Apublic:A()cout<<"調(diào)用的無(wú)參構(gòu)造函數(shù)"<<endl;A(int x) a1=x;cout<<"調(diào)用的有參構(gòu)造函數(shù)"<<endl;A(A &p) a1=p.a1;cout<<"調(diào)用的復(fù)制構(gòu)造函數(shù)"<<endl;void add(A q)A temp;temp.a1=a1+q.a1;cout<<&

20、quot;結(jié)果為: "<<temp.a1 <<endl;private:int a1;main()A A1(1),A2(2);A1.add (A2);調(diào)用的有參構(gòu)造函數(shù)調(diào)用的有參構(gòu)造函數(shù)調(diào)用的復(fù)制構(gòu)造函數(shù)調(diào)用的無(wú)參構(gòu)造函數(shù) 結(jié)果為:34、分析下列程序的運(yùn)行結(jié)果#include <iostream.h>class add public:virtual void sm()=0; virtual void disp() ;class add1:public add private:int m1,n1;public:add1(int a,int b):m1

21、(a),n1(b)void sm() m1+=-n1; n1-; void disp() cout<<"m1="<<m1<<" "<<"n1="<<n1<<endl; ;void main() add1 a(4,6);add *p=&a;p->sm(); p->disp();m1=9 n1=45、閱讀程序,寫(xiě)出運(yùn)行結(jié)果#include <iostream.h> class A public: A(int i) a=i; cout&l

22、t;<"Constructor A. "<<endl; A() cout<<"Destructor A. "<<endl; void Print() cout<<a<<endl; private: int a; ; class B:public A public: B(int i,int j):A(i) b=j; cout<<"Constructor B. "<<endl; B() cout<<"Destructor B.

23、"<<endl; void Print() A:Print(); cout<<b<<endl; private: int b;class C:public Bpublic:C(int i,int j,int k):B(i,j),c(k) cout<<"Constructor C. "<<endl; C() cout<<"Destructor C. "<<endl; void Print() A:Print(); B:Print();cout<<c&l

24、t;<endl; private: int c;void main() C c1(1,2,3); c1.Print();Constructor A.Constructor B.Constructor C.1123Destructor C.Destructor B.Destructor A.?6、分析下列程序,寫(xiě)出運(yùn)行結(jié)果#include <iostream.h>class Test public:Test (double m,double n,double d):p(d) x=m; y=n; void Show();void Show() const;private:doub

25、le x, y;const double p;void Test:Show() cout<<x<<","<<y<<endl;cout<<"p="<<p<<endl;void Test:Show() const cout<<x<<","<<y<<" const"<<endl;cout<<"p="<<p<<" c

26、onst"<<endl;void main() Test a(8.9,2.5,3.1416);a.Show();const Test b(2.5,8.9,3.14);b.Show();7、分析下列程序,寫(xiě)出運(yùn)行結(jié)果#include<iostream.h> class Sample int x,y; public: Sample() x=y=0; Sample(int a,int b) x=a;y=b; Sample() if(x=y) cout<<"x=y"<<endl; else cout<<"

27、;x!=y"<<endl; void disp() cout<<"x="<<x<<",y="<<y<<endl; ; void main() Sample s1,s2(2,3); s1.disp(); s2.disp(); 8、分析下列程序,寫(xiě)出運(yùn)行結(jié)果#include <iostream.h>class Point public:Point(double m,double n ); virtual void Area();private: double x,y

28、;Point:Point(double m,double n ) x=m; y=n;void Point: Area() cout<<”The area is 0”<<endl;class Circle :public Pointpublic:Circle (double m,double n, double i); /聲明構(gòu)造函數(shù) void Area();private:double r;Circle :Circle (double m,double n, double i): Point(m,n) r=i;void Circle : Area()double a=3

29、.14*r*r;cout<<”The area of the circle is:”<<a<<endl;void main() Point *pt;Circle c(4,5,6); pt=&c; pt-> Area (); 四、編寫(xiě)程序1、已知數(shù)列: 編一程序,求其前十項(xiàng)的和。(畫(huà)出NS流程圖)2、編寫(xiě)一函數(shù)計(jì)算n!,調(diào)用該函數(shù)計(jì)算sinx的近似值,要求誤差小于,其中:3、定義一復(fù)數(shù)類,利用運(yùn)算符重載完成復(fù)數(shù)相加。主函數(shù)及運(yùn)行結(jié)果如下:(注意:實(shí)部為real;虛部為imag,為私有數(shù)據(jù)成員)#include <iostream.h>

30、class Complex;void main()Complex c1(1,2),c2(3,4),c3;c3=c1+c2;c3.put();4、編寫(xiě)一函數(shù)把字串中與某字符相同的字符刪除,主函數(shù)如下:#include <iostream.h>#include <stdio.h>main()char *str=new char;char c;gets(str); cin>>c;fun(str,c);puts(str);5、已知三角形的三遍,在該三角形的基礎(chǔ)上拉伸出高為H的三棱柱,編寫(xiě)三棱柱派生類,求三棱柱的體積。三角形類描述如下:class Trianglepublic:Triangle(float x,float y,float z) a=x;b=y;c=z;void Area() float t;t=

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論