C++程序設(shè)計試題及答案_第1頁
C++程序設(shè)計試題及答案_第2頁
C++程序設(shè)計試題及答案_第3頁
C++程序設(shè)計試題及答案_第4頁
C++程序設(shè)計試題及答案_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+程序設(shè)計試題、單項選擇題 (本大題共 20小題,每小題 1分,共 20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的 括號內(nèi)。錯選、多選或未選均無分。+源程序文件擴展名為 ( A )A. .cppB.h C.1ib D.obj2.在C+-中使用流進行輸入輸出,其中專用于從鍵盤進行輸入的流是(B )3. 包含自定義頭文件的預(yù)處理指令是 ( D)A. #define B.#includeC.#defineD.#includeC. 增加代碼量,減緩訪問速度D.增加代碼量,加快訪問速度4. 用于標識十六進制前綴或后綴是 ( D )A. 元B. 后綴 L 或 eC.前

2、綴零 D.前綴Ox5. 設(shè)存在整型變量 int x ,則下列句與其它三項含義不同的是 ( A )* p=&x; & p=x;& p=x&p=x ;6. 在定義類成員時,為產(chǎn)生封裝性,則需使用哪個關(guān)鍵字 ( D)7. 設(shè)函數(shù) void swap(int& ,int&) 將交換兩形參的值, 如兩整型變量 int a=10;int b=15;則執(zhí)行swap(a, b)后,a、b值分別為(C ), 10, 15,10,158. 函數(shù)默認參數(shù)在函數(shù)原型中說明,默認參數(shù)必須放在參數(shù)序列的 ( C )A. 前部B.中部 C.后部D.兩端9. 設(shè)存在函數(shù) int min(int , int) 返回兩參數(shù)中較小

3、值,若求 15, 26, 47三者中最小值,下列表達式中錯誤的是 ( B ) m=min(min(15 ,26) , min(15 ,47) ;m=min(15, 26,47) ;m=min(15, min(47 ,26) ;m =min(min(47 ,26) ,16) ;10. 下列函數(shù)不能和函數(shù) void print(char) 構(gòu)成重載的是 ( C ) print(int) print(char , char) ;print(char) print(int , int) ;11. 在下列成對的表達式中,運算結(jié)果類型相同的一對是 ( D )2 和 和 72 0 和 2l2.內(nèi)聯(lián)函數(shù)的特點

4、是 ( D )A. 減少代碼量,加快訪問速度B. 減少代碼量,減緩訪問速度13. 類的私有成員可在何處被訪問 ( A )A.本類的成員函數(shù)中B. 本類及子類的成員函數(shù)中C. 通過對象名在任何位置D. 不可訪問14. 類的構(gòu)造函數(shù)在以下什么情況下會被自動調(diào)用 ( B )A.定義成員函數(shù)時B. 定義對象時C. 定義數(shù)據(jù)成員時D.定義友元函數(shù)時15. 下列關(guān)于析構(gòu)函數(shù)描述正確的是 ( D )A .可以重載B.函數(shù)體中必須有 delete 語句C. 返回類型必須是void類型D. 不能指定返回類型16. 設(shè)有函數(shù) T Sum(T x,T y)return x+y;,其中T為模板類型,則下列語句中對該函

5、數(shù)錯誤的使用是 ( D) (1 , 2);(A,C) ;(A , C) ;A.#i ncludeC.#elseD.#p ragma18. 關(guān)于類的靜態(tài)成員函數(shù)描述錯誤的是(A )A.在創(chuàng)建對象前不存在B. 不能說明為虛函數(shù)C. 不能直接訪問非靜態(tài)函數(shù)D. 不是對象的成員19. 如果類A被聲明成類B的友元,則(D )A.類A的成員即類B的成員 B.類B的成員即類A的成員C.類A的成員函數(shù)不得訪問類B的成員D. 類B不一定是類A的友元20. 派生類的對象可以訪問以下那種情況繼承的基類成員(D )A.私有繼承的私有成員B. 公有繼承的私有成員C. 私有繼承的保護成員D. 公有繼承的公有成員二、填空題

6、(本大題共20小題,每小題1分,共20分) 請在每小題的空格中填上正確答案。錯填、不填均無分。21.若使用標準輸出流把整型變量 a的值輸出到屏幕上,實現(xiàn)此操作的 C+語句是_ coutwa 。+將數(shù)據(jù)從一個對象流向另一個對象的流動抽象為“流”,從流中獲取數(shù)據(jù)的操作稱為提取操作。23.執(zhí)行下列代碼int b=100coutHex : hex num, 或 complexvdouble num,。27.若有函數(shù)定義為:int add(i nt ml=0,int m2=2 , int m3=4)return ml+m2+m3 ; 在主函數(shù)中有 int s=add(1)+add(0 ,1)+add(0

7、,1,2); 則執(zhí)行此語句后s的值為15 28 。+中使用inline關(guān)鍵字說明函數(shù)為內(nèi)聯(lián)函數(shù)。29.在源程序中有宏定義:#define PI ,則若不想使該宏定義影響到程序的其它地方, 可以使用#undef PI刪除該宏定義。30.類和其它數(shù)據(jù)類型不同的是,組成這種類型的不僅可以有數(shù)據(jù), 還可以有對數(shù)據(jù)進 行操作的函數(shù)或成員函數(shù)。b=。31. 有下列代碼int a=0 ; double b=0 ; cinab;當用鍵盤輸入時,32. 對于類Point而言,其析構(gòu)函數(shù)的定義原型為Point:Point()或卩oint()33. 對象成員構(gòu)造函數(shù)的調(diào)用順序取決于這些對象在類中說明的順序,與它們在

8、成員初 始化列表中給出的順序 無關(guān)。34. 類的簡單成員函數(shù)是指聲明中不含 const、volatile 、static 關(guān)鍵字的函數(shù)。35. 與操作對象的數(shù)據(jù)類型相互獨立的算法稱為泛型算法。36. 從一個或多個以前定義的類產(chǎn)生新類的過程稱為派生。37. 在vector類中向向量尾部插入一個對象的方法是push_back(const T&)。new。+中用于動態(tài)創(chuàng)建對象,并返回該對象的指針的關(guān)鍵字是+的流類庫預(yù)定義的與標準輸出設(shè)備相聯(lián)接的流是cout 040. 執(zhí)行下列代碼 coutvnoshowpoint ; 程序輸出結(jié)果是123。三、改錯題(本大題共5小題,每小題2分,共10分)F面的類定

9、義中有一處錯誤,請用下橫線標出錯誤所在行并給出修改意見。41. #i ncludeoclass fprivate : float x , y ;public: f(float a , float b)x=a ; y=b; /求最大值float max()retur n( xy)xmain ( )cout( )e ndlvoid getx()coutxendl;return(xy)x:y; 或return(xy)y:x;42. #includeclass testprivate: int x ;public :test(int a)x=a; void set(int a)x=a;void get

10、()coutxendl;main()const test a(3)(5) ;() ;(5); a 是常對象,不能被更新或 const test a(3);去掉 const 使 a 不再為常對象43. #includeclass pointprivate: float x ,y;public:f1(float a ,float b)x=a ;y=b; void gety()coutyendlvoid print(point a)coutendl;main()point aprint(point a)coutendl; print( ) private:float x,y;改為 public:fl

11、oat x,y;不是成員函數(shù)不允許直接調(diào)用或?qū)?或 courendl; 改為 ( );print(a)44. #includeclass fprivate : int x,y;public :fl(int a, int b)x=a ;y=b;void print()coutxyendlmain()f a;() ;,;f1()調(diào)用時實參與形參類型不一致45. # in cludeomai n()int x=6const int*p=xcoutvv* pwendl ;const int *p=x;變量給指針p賦值必須加上& 四、完成程序題(本大題共5小題,每小題4分,共20分)46. 完成下面程序

12、,使其輸出10 ,并在退出運行時正確釋放分配給指針的存儲空間。#in clude using namespace std ;void main() int *a ,*p ;a=new in t(10); p= _a=; coutvv*pwendl ;delete p; 或 delete a;47. #include using namespace stdclass baseprivate: int x ;public :base(int a)x=a ; int get()return x;void showbase() coutx=xendl;class Derived:public base

13、private: int y ;public :Derived(int a ,int b) :base(a)y=b ;void showderived()coutx=get(),y=yshowbase();(); ();輸出結(jié)果如下:x=3x=6, y=7x=6x=6x=6x=6, y=7x=648. 下面程序的運行結(jié)果如下:B : : displayOC : : displayO在下劃線處填上缺少的部分。源程序如下:#in cludeviostreamusing n ames pace stdclass Bpublic :display( ) endl ; virtual void disp

14、 lay( ) cout dis playO;void mai n()pb= & b;fun(pb)pb= & c;fun(pb)49. 下面程序的運行結(jié)果如下:This is linelThis is Iine2This is Iine3在下劃線處填上缺少的部分。源程序如下:#in cludeviostream#includevfstream 或” fstream ”using n ames pace stdvoid mai n()fstream fin, fout;,ios : : out);if(!()returnfor(i nt i=0;i3 ; i=i+1)foutThis is l

15、in ei+1e ndl(),ios : : in);if(!()returnchar str100while( !()(str , 100);coutvvstrvve ndl()50. 在下劃線處填上缺少的部分。源程序如下:#in clude using namespace std ;templatevciass T 或 templatevtypename TT fun(T x)y=x*x-T (5)return yvoid main()float a=2coutfun(a)五、程序分析題 (本大題共 4小題,每小題 5分,共 20分)51. 請寫出文本文件中的內(nèi)容#include #inc

16、lude using namespace std ;#include void main() ofstream myFile1 ;Illi,2008,May 25) :endl ;coutEnter the data in Chinese format.string Date(2008 ,January 1) ;string Year=(0 ,4) ;int k=( ,) ;int i=( ) string Month=(k+l ,i-k-1) ;string Day=(i+1 , 2); stri ng NewDate=Day+ +M on th+ +YearmyFileloriginal

17、date: Dateendl ;myFile1vvConverted date : NewDateend; (); origi nal date:2008,Ja nuary 1Con verted date:1 January 200852. 給出下面程序的輸出結(jié)果 #in clude using namespace std ;class Simp le int x , y;public :SimpIe()x=y=0 ; SimpIe(int i , int j)x=i ; y=j ; void copy (Si mple & s);y=j ; ,y=vvyvvendl ; void setx

18、y(int i , int j)x=i void prin t()coutx=x=10)if(-i% 4=3)continue ;elsecoutvvi=vvi-vve ndl i=16 i=14 i=12 i=1054. 給出下面程序的輸出結(jié)果#in cludeusing n ames pace stdvoid main()int num=300 ;int &ref= numcoutusing n ames pace stdtemplatevciass T, int sizeclass StackT xsizeint curre ntpublic :Stack()current=0 ; . push(.). pop (.);請寫出兩個函數(shù)的過程(如果需要形式參數(shù),請給出形參類型和數(shù)量,以及返回值類型)void SatckvT,s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論