


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.C+程序設計試題 一、單項選擇題1對C+語言和C語言的兼容性,描述正確的是( A ) AC+兼容C BC+部分兼容C CC+不兼容C DC兼容C+2在C+中使用流進行輸入輸出,其中用于屏幕輸出的對象是( C )Acerr Bcin Ccout Dcfile cerr:標準錯誤輸出;cin:標準輸入 3對使用關鍵字new所開辟的動態存儲空間,釋放時必須使用( C )Afree Bcreate Cdelete Drelease4如沒有使用private關鍵字定義類的數據成員,則默認為( A )APrivate Bpublic Cprotected Dfriend5使用值傳遞方式將實參傳給形參,下
2、列說法正確的是( A )A形參是實參的備份 B實參是形參的備份 C形參和實參是同一對象 D形參和實參無聯系6在函數調用時,如某一默認參數要指明一個特定值,則有( A )A其之前所有參數都必須賦值 B其之后所有參數都必須賦值C其前、后所有參數都必須賦值 D其前、后所有參數都不必賦值7設存在函數int max(int,int)返回兩參數中較大值,若求22,59,70三者中最大值,下列表達式不正確的是( C )Aint m = max(22,max(59,70); Bint m = max(max(22,59),70);Cint m = max(22,59,70); Dint m = max(59,
3、max(22,70);8下列哪個類型函數不適合聲明為內聯函數( A )A函數體語句較多 B函數體語句較少 C函數執行時間較短 D函數執行時間過長9int Func(int,int);不可與下列哪個函數構成重載( B )Aint Func(int,int,int); Bdouble Func(int,int);Cdouble Func(double,double); Ddouble Func(int,double);說明:不能以形參名來區分函數;不能以函數返回值來區分函數。必須是形參的個數或者類型不同才能構成函數重載。10對類中聲明的變量,下列描述中正確的是( C )A屬于全局變量 B只屬于該類
4、 C屬于該類,某些情況下也可被該類不同實例所共享D任何情況下都可被該類所有實例共享11類的私有成員可在何處訪問( D )A通過子類的對象訪問 B本類及子類的成員函數中 C通過該類對象訪問 D本類的成員函數中12如果沒有為一個類定義任何構造函數的情況下,下列描述正確的是( A )A編譯器總是自動創建一個不帶參數的構造函數B這個類沒有構造函數C這個類不需要構造函數D該類不能通過編譯13一個類可包含析構函數的個數是( B )A0個 B1個 C至少一個 D0個或多個只有一個,多了編譯器都不知道調用哪個好。而構造函數可以有多個,因為構造函數調用時編譯器可以根據變量的類型和數量來確定調用哪個構造函數 ,而
5、析構函數是系統調用的,不能做到這種效果。14this指針存在的目的是( B )A保證基類公有成員在子類中可以被訪問B保證每個對象擁有自己的數據成員,但共享處理這些數據成員的代碼C保證基類保護成員在子類中可以被訪問D保證基類私有成員在子類中可以被訪問15下列關于類的權限的描述錯誤的是( A )A類本身的成員函數只能訪問自身的私有成員B類的對象只能訪問該類的公有成員C普通函數不能直接訪問類的公有成員,必須通過對象訪問D一個類可以將另一個類的對象作為成員16在編譯指令中,宏定義使用哪個指令( B )A*include B*define C*if D*else17設類A將其它類對象作為成員,則建立A類
6、對象時,下列描述正確的是( B )AA類構造函數先執行 B成員構造函數先執行 C兩者并行執行 D不能確定類的組合,描述的是一個類內嵌其他類的對象作為成員的情況,它們之間的關系是一種包含與被包含的關系。在聲明一個組合類的對象時,不僅它自身的構造函數將被調用,而且還將調用其內嵌對象的構造函數。這時構造函數的調用順序是:(1)按照內嵌對象在組合類的聲明中出現的次序,依次調用內嵌對象的構造函數;(2)執行本類構造函數的函數體,析構函數的調用執行順序與構造函數剛好相反。18下列描述錯誤的是( A )A在創建對象前,靜態成員不存在 B靜態成員是類的成員C靜態成員不能是虛函數 D靜態成員函數不能直接訪問非靜
7、態成員說明:靜態成員函數可以直接訪問該類的靜態數據和函數成員,而訪問非靜態成員,必須通過參數傳遞方式得到對象名,然后通過對象名來訪問。19對于友元描述正確的是( B )A友元是本類的成員函數 B友元不是本類的成員函數C友元不是函數 D友元不能訪問本類私有成員20在哪種派生方式中,派生類可以訪問基類中的protected成員( B )Apublic和private Bpublic和protected Cprotected和private D僅protected二、填空題(本大題共20小題,每小題1分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。21設要把一個文件輸出流對象myFi
8、le與文件“f:myText.txt相關聯,所用的C+語句是:_ myFile.open(“f:myText.txt”);_。22C+中ostream類的直接基類是_ ios類_。23運算符 只能用_成員 _運算符來重載,不能用友元運算符來重載。24定義虛函數所用的關鍵字是_ virtual _。25vector類中用于返回向量中第1個對象的方法是_ front( ) _。26在C+中,利用向量類模板定義一個具有20個char的向量E,其元素均被置為字符t,實現此操作的語句是_ vector<char>E(20,t) _。27類的繼承是指子類繼承基類的_數據成員_和成員函數。28不
9、同對象可以調用相同名稱的函數,但可導致完全不同的行為的現象稱為_多態性或(類的多態性)_。29_ *include _指令指示編譯器將一個源文件嵌入到帶該指令的源文件之中。30設類A有成員函數void Fun(void);若要定義一個指向類成員函數的指針變量pafn來指向Fun,該指針變量的聲明語句是:_ void(A:*pafn)(void);_。31設在程序中使用如下語句申請了一個對象數組:Point * ptr = new Point2;則在需要釋放ptr指向的動態數組對象時,所使用的語句是_ delete ptr; _。32 在保護派生中,基類權限為Private的成員在派生類中_不可
10、訪問_。33類A有如下成員函數int A:fun(double x)return (int) x2;int A:fun(int x)return x*2;設a為類A的對象,在主函數中有int s=afun(6.0)+a.fun(2),則執行該語句后,s的值為_7_。34對象傳送的消息一般由3部分組成:接收對象名、調用操作名和_必要的參數_。35將指向對象的指針作為函數參數,形參是對象指針,實參是對象的_地址值 _。36在使用string類的find成員函數來檢索主串中是否含有指定的子串時,若在主串中不含指定的子串,find函數的返回值是_ -1_。37在C+中,聲明布爾類型變量所用的關鍵字是_
11、 bool _。38執行下列代碼int a=29,b=100;cout <<setw (3) << a << b << endl;程序的輸出結果是:_ 29100_。(2前面有個空格)39執行下列代碼cout <<Hex:<< hex << 255;程序的輸出結果為_ Hex:ff _。40C+語言中可以實現輸出一個換行符并刷新流功能的操控符是_ endl _。三、改錯題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯誤,請用下橫線標出錯誤所在行并給出修改意見。41*include<iost
12、reamh>void main( ) int x=5,y=6;const int * p=x;*p=y;cout<<*p<<endl; *p=y; 指針p所指向的為一常量,不能進行左值操作42*include<iostreamh>class fprivate:int x,y;public:f1( )x=0;y=0;print( )cout<<x<<<<y<<endl;;void main( )f a;a.f1(1,1);a.print( ); a.f1(1,1); f1( )調用時實參與形參數量不一致43
13、*include<iostream.h> class f private:int x=0,y=0; public:void f1(int a,int b)x=a;y=b; void get( )cout<<x<<<<y<<endl; ; void main( ) f a; a.f1(1,3); a.get ( ); private:int x=0,y=0; 數據成員聲明時不允許直接賦值44*include<iostream.h> class pointprivate:float x; public:void f(float
14、 a)x=a; void f( )x=0; friend float max(point& a,point& b); ; float max(point& a,point& b)return(a.x>b.x)" a.x:b.x;void main( ) point a,b; a.f(2.2);b.f(3.3); cout<<a.max(a,b); cout<<a.max(a,b); max()不是類的成員函數,不能用a.max( )方式調用45*include<iostream.h> template<c
15、lass T>class fprivate:T x,y;public:void f1(T a,T b)x=a;y=b;T max( )retum(x>y)"x:y;;void main( )f a;a.f1(1.5,3.8); cout<<a.x<<a.y<<a.max( )<<endl; cout<<a.x<<a.y<<a.max()<<endl; x,y是私有類型,不能在主函數中直接使用四、完成程序題(本大題共5小題,每小題4分,共20分)46完成下面類中的成員函數的定義。
16、 class point private: int m,n; public: point(int,int); point(point&); ; point:point(int a,int b) m=a;_ n _=b; point:point(_point&t _) m=t.m; n=t.n; 47下面是一個輸入半徑,輸出其面積和周長的C+程序,在下劃線處填上正確的語句。 *include<iostream> using namespace std; _ const double _pi=3.14159; void main( ) double r; cout<
17、;<r=; _ cin>>r _ ; double l=2.0*pi*r;double s=pi*r*r;cout<<n The long is:<<l<<endl; cout<<The area is:<<s<<endl; 48在下劃線處填上缺少的部分。 *include<iostream> *include<fstream> using namespace std; class complex public: int real; int imag; complex(int r=
18、0,int i=0) real=r; imag=i; ; complex operator+(_ complex&a _,complex& b) int r=a.real+b.real; int i=a.imag+b.imag; return_ complex(r,i) _; void main( ) complex x(1,2),y(3,4),z; z=x+y; cout<<z.real<<+<<z.imag<<i<<endl; 49程序的輸出結果如下: 1,9 50,30 請根據輸出數據在下面程序中的下劃線處填寫正
19、確的語句。 源程序如下: *include<iostream> using namespace std; class base private: int m; public: base( ) ; base(int a):m(a) int get( )return m; void set(int a)m=a; ; void main() base*ptr=new base2; ptr- >set(30); ptr= _ ptr+1; _; ptr- >set(50); base a2=1,9; cout<<a0.get( )<<,<<a
20、1.get( )<<endl; cout<<ptr- >get( )<<,; ptr=ptr-1; cout<<_ ptr->get( ) _<<endl; delete ptr; 50在下面橫線處填上求兩個浮點數之差的cha函數的原型聲明、調用方法。 *include <iostream> using namespace std; void main( ) float a,b; _ float cha(float,float); _函數cha的原型聲明 a=12.5; b=6.5; float c=_ cha
21、(a,b) _; 調用函數cha cout<<c<<endl; float cha(float x,float y) float w; w=x-y; return w; 五、程序分析題(本大題共4小題,每小題5分,共20分)51給出下面程序的輸出結果。 *include <iostreamh> template <class T> class Sample T n; public: Sample(T i)n=i; int operator=(Sample &); ; template <class T> int Sample&
22、lt;T>:operator=(Samples) if(n=s.n) return 1; else return 0; void main( ) Sample<int>sl(2),s2(3); cout<<s1與s2的數據成員<<(sl =s2 "相等:不相等)<<endl; Sample<double>s3(2.5),s4(2.5); cout<<s3與s4的數據成員<<(s3=s4 " 相等:不相等)<<endl; S1與S2的數據成員不相等 S3與S4數據成員相等 5
23、2給出下面程序的輸出結果。 *include<iostream> using namespace std; template<class T> T max(T ml,T m2) return(m1>m2)"ml:m2: void main( ) cout<<max(1,7)<< t<<max(2.0,5.0)<<endl; cout<<max(y,b<<t<<max(A,a)<<endl; 7 5y a53給出下面程序的輸出結果 *include <io
24、stream> using namespace std; class A public: int x; A( ) A(int a)x=a; int get(int a)return x+a; ; void main( ) A a(8); int(A:*p)(int); p=A:get; cout<<(a.*p)(5)<<endl; A*pi=a; cout<<(pi- >*P)(7)<<endl; 131554給出下面程序的輸出結果。 include<iostream> *include<string> usi
25、ng namespace std; class Book char*title; char*author; int numsold; public: Book( ) Book(const char*strl,const char*str2,const int num) int len=strlen(strl); title=new charlen+1; strcpy(title,str1); len=strlen(str2); author=new charlen+1; strcpy(author,str2); numsold=num; void setbook(const char*str1
26、,const char*str2,const int num) int len=strlen(str1); title=new charlen+1; strcpy(title,str1); len=strlen(str2); author=new charlen+1; strcpy(author,str2); numsold=num; Book( ) delete title; delete author; void print(ostream&output) output<<書名:<<title<<endl; output<<作者:&l
27、t;<author<<endl; output<<月銷售量:<<numsold<<endl; ; void main( ) Book obj1(數據結構,嚴蔚敏,200),obj2; obj1.print(cout); obj2.setbook(C+語言程序設計,李春葆,210); obj2.print(cout); 月銷售量:200書名:c+程序設計作者:李春葆月銷售量:210六、程序設計題(本大題共1小題,共10分)55在三角形類TRI實現兩個函數,功能是輸入三個頂點坐標判斷是否構成三角形 *include<iostream.h> *include<math.h> class point private:float x,y; public:point(float a,float b)x=a;y=b; point( )x=0;y=0; , void set(float a,float b)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 接待與訪客管理表格:接待記錄與訪客信息統計表
- 學習路上的人物特寫作文(4篇)
- 數學應用題練習題庫
- 《高一化學溶液計算方法教學大綱》
- 數據挖掘技術應用情況表格(領域)
- 網絡營銷合作協議與簽署告知書
- 學生個性化閱讀理解能力培養課程教案
- 初一愉快的暑假生活作文100字11篇范文
- 低空經濟對跨境物流的影響與挑戰
- 秋游美景描述作文(8篇)
- 幼兒園小班語言課件:《池塘夏夜》
- 琴生不等式1市公開課一等獎省賽課微課金獎課件
- 虹吸式雨水排水系統施工方案
- 鼻淵護理常規課件
- MOOC 電工電子學-浙江大學 中國大學慕課答案
- 醫院總值班培訓課件
- 北京草場改造規劃方案
- 非肌層浸潤性膀胱癌診治中的幾個問題
- 軸類零件加工工藝涂裝與噴涂技術要點
- 水利施工安全培訓課件
- 民法典第七編醫療損害責任
評論
0/150
提交評論