(完整版)C++程序設計試題_第1頁
(完整版)C++程序設計試題_第2頁
(完整版)C++程序設計試題_第3頁
(完整版)C++程序設計試題_第4頁
(完整版)C++程序設計試題_第5頁
免費預覽已結束,剩余2頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、判斷題(每小題1分,共10分)1 ( 1 ) 1、說明函數原型時不需要指明每個函數參數的名字,只需要說明每個 參數的類型和返回值類型就可以了。2( 1)2、所有的表達式都有值。1( 2)3、程序的編譯是以文件為單位的,因此將程序分到多個文件中可以減少每次對程序修改所帶來的編譯工作量。2( 1)4、類的靜態數據成員需要在定義每個類的對象時進行初始化。2( 2)5、基類中被說明為protected和private的成員只能被其派生類的成員函數訪問,不能被其它的函數訪問。1( 1) 6、當將一個類S定義為另一個類A的友元類時,類S的所有成員函數都可以直接訪問類A的所有成員。2( 1)7、當函數的

2、返回值是數組類型的,傳遞的是數組第一個元素的地址。1(1) 8、如果派生類的成員函數的原型與基類中被定義為虛函數的成員函數原型相同,那么,這個函數自動繼承基類中虛函數的特性。2( 2 ) 9、字符串hello,world ”在內存中存放時,占用11個字節的空間。 1( 1) 10、用new動態申請的內存空間,必須用 delete來釋放。二、單項選擇題:(每小題2分,共30分)1 在每個C+程序中都必須包含有這樣一個函數,該函數的函數名為_aA .mai nB.MAINC .n ameD.function2.設x和y均為bool量,貝 U x && y為真的條件是 aA.它們均為

3、真B.其中一個為真C .它們均為假D.其中一個為假3下面的哪一個保留字不能作為函數的返回類型?_cA . voidB. intC . newD. 1ong4.假定a為一個整型數組名,則元素a4的字節地址為_b<A . a 十 4C . a 十 16B. a 十 8D. a 十 325. C+源程序文件的缺省擴展名為_a。A. cpp B. exe C. obj D. lik6. 在下面的二維數組定義中,正確的是(c )A. int a5;B. int a5;C. int a3=1,3,5,2; D. int a(10);7. 以下正確的說法是_b。A. 用戶調用標準庫函數前,必須重新定義

4、B. 用戶可以重新定義標準庫函數,若如此,該函數將失去原有含義C. 系統不允許用戶重新定義標準庫函數D. 用戶調用標準庫函數前,不必使用預編譯命令將該函數所在文件包括到 用戶源文件中8. 文件包含命令中被包含的文件的擴展名 _ao cA. 必須是.h B. 不能是.h C. 可以是.h或.cpp D. 必須是.cpp9. 要使語句“p=new int1020;”能夠正常執行,p應定義為_a。dA. int *p; B. int *p; C. int *p20; D. int(*p)20;10. 有關構造函數的說法不正確的是_do cA、構造函數名字和類的名字一樣。B.構造函數無任何函數類型。C

5、.構造函數有且只有一個D.構造函數在說明類對象時自動執行。11. 假定AA為一個類,a為該類私有的數據成員,若要在該類的一個成員函數中訪問它,則書寫格式最好為_bo aA. a B. AA:a C. a() D. AA:a()12. 下列關鍵字中,_b 是類定義中使用的關鍵字。A.class B.switch C.private D.public13.當類中的一個整型指針成員指向一塊具有n*sizeof(int)大小的存儲空間時,它最多能夠存儲。個整數。a對象A. nB. n+1C. n-1D. 114.假定AB為一個類,則執行“ AB a, b(3), *p;”語句時共調用該類構造函數的次數

6、為a oA. 2B. 3 C.4D. 515.在重載一個運算符時,其參數表中沒有任何參數,這表明該運算符是 bA.作為友元函數重載的1元運算符B.作為成員函數重載的1元運算符C.作為友元函數重載的2元運算符D.作為成員函數重載的2元運算符三、填空題:(每空2分,共20分)1、從一條函數原型語句“int fun 1(void); ”可知,該函數的返回類型為 int ,該函數帶有1參數。2、假定x是一個邏輯量,則x | false 的值為。3、 作為語句標號使用的C+呆留字case和defaule只能用于_選擇 句的 定義體中。4、若多個基類及其派生類中都定義了同名函數成員,要訪問相應函數時,就需

7、要在函數名前加上_域和5、 C+支持兩種多態性: 時的多態性和 時的多態性。6、假定用戶為類 AB定義了一個構造函數“ AB(int aa, char *bb=NULL):a(aa),b(bb)”,則該類中至少包含有 個數據成員。7、 類是用戶定義的類型,具有類類型的變量稱作 寸象。四、程序填充,對程序、函數或類中劃有橫線的位置,根據題意按標號把合適的內容填寫到程序下面相應標號的后面(每小題6分,共18分)1. 打印出2至99之間的所有素數(即不能被任何數整除的數)。(每空2分)#i nclude<iostream.h>#in clude<math.h>void mai

8、 n()int i,n;for(n=2;(1); n+) int temp=int(sqrt(n); /求出n的平方根并取整for(i=2; _; i+)if(n %i=0) _;if(i>temp) cout< <n<<''cout<<'n'答案為:(1) n< 100(2) i<=temp(3)break2. 下面是對按從小到大排列的有序數組 an中進行二分查找x的算法,若查找成 功返回該元素下標,否則返回-1。(每空2分)int Bin arySearch(i nt a,i nt n ,i nt x)i

9、nt low=0, high=n-1; /定義并初始化區間下界和上界變量int mid; /定義保存中點元素下標的變量while(low<=high) mid=(1);if(x=amid);else if(x<amid) high=mid-1;else(3);return -1;答案為:(2)(3)3. (每空2分)class A int a,b;public:A(int aa=0, int bb=0)(1) /分別用 aa 和 bb 對應初始化 a和b;mai n() (2)_; /定義類A的對象x并用5初始化,同時定義y并用x初始化(3)_ ; / 定義p指針,使之指向對象x答

10、案為:(2)(3)五、分析程序寫出運行結果。(每小題5分,共10分)1、 #in clude<iostream.h>class Addprivate: int x,y;public: Add(i nt a,i nt b)x=a; y=b;cout«"調用構造函數1。"<<endl ;Add(Add &p)x=p.x; y=p.y;cout«"調用構造函數2。"<<endl ;Add()cout«"調用析構函數。"<<e ndl;int add()re

11、turn x+y;;void mai n()Add p1(2, 3);Add p2(p1); cout<vp2.add()v<e ndl;運行結果為:#i nclude <iostream.h>class Aprivate:/其它成員public:virtual void func(int data)cout<<” class A: ” <<data<<endl;void func(char *str) cout<< ” class A: ” <<str<<endl; ;class B: public A其它成員public:void func() cout<< ” function in B without parameter!n” ;void func(int data) cout<<” class B: ” <<data<<endl; void func(char *str) cout<<” class B: ” <<str<<endl;

溫馨提示

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

評論

0/150

提交評論