c++練習(xí)習(xí)題(帶答案)_第1頁(yè)
c++練習(xí)習(xí)題(帶答案)_第2頁(yè)
c++練習(xí)習(xí)題(帶答案)_第3頁(yè)
c++練習(xí)習(xí)題(帶答案)_第4頁(yè)
c++練習(xí)習(xí)題(帶答案)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、選擇題1. C+語(yǔ)言屬于( C )。A) 自然語(yǔ)言 B) 機(jī)器語(yǔ)言 C)面向?qū)ο笳Z(yǔ)言 D) 匯編語(yǔ)言2. 下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是(C) 。A)繼承性 B)多態(tài)性 C)相似性 D)封裝性3. 下列情況中,哪一種情況不會(huì)調(diào)用拷貝構(gòu)造函數(shù) ( B )A)用派生類(lèi)的對(duì)象去初始化基類(lèi)對(duì)象時(shí)B)將類(lèi)的一個(gè)對(duì)象賦值給該類(lèi)的另一個(gè)對(duì)象時(shí)C)函數(shù)的形參是類(lèi)的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí)D)函數(shù)的返回值是類(lèi)的對(duì)象,函數(shù)執(zhí)行返回調(diào)用者時(shí)4. 以下哪一關(guān)鍵字可用于重載函數(shù)的區(qū)分( C )A)externB)staticC)constD)virtual5. 下列有關(guān)數(shù)組的敘述中,正確的是(

2、B )A)C+中數(shù)組的存儲(chǔ)方式為列優(yōu)先存儲(chǔ)B)數(shù)組名可以作為實(shí)參賦值給指針類(lèi)型的形參C)數(shù)組下標(biāo)索引從1開(kāi)始,至數(shù)組長(zhǎng)度n結(jié)束D)數(shù)組指針的語(yǔ)法形式為:類(lèi)型名 *數(shù)組名下標(biāo)表達(dá)式;6. 下列有關(guān)繼承和派生的敘述中,正確的是( C )A)派生類(lèi)不能訪問(wèn)通過(guò)私有繼承的基類(lèi)的保護(hù)成員B)多繼承的虛基類(lèi)不能夠?qū)嵗疌)如果基類(lèi)沒(méi)有默認(rèn)構(gòu)造函數(shù),派生類(lèi)就應(yīng)當(dāng)聲明帶形參的構(gòu)造函數(shù)D)基類(lèi)的析構(gòu)函數(shù)和虛函數(shù)都不能夠被繼承,需要在派生類(lèi)中重新實(shí)現(xiàn)7. 若有下面的函數(shù)調(diào)用:fun(a+b, 3, max(n-1, b);其中實(shí)參的個(gè)數(shù)是( A )A)3B)4C)5D)68. 下列關(guān)于this指針的說(shuō)法正確的是(

3、 B )A)this指針存在于每個(gè)函數(shù)之中B)在類(lèi)的非靜態(tài)函數(shù)中this指針指向調(diào)用該函數(shù)的對(duì)象C)this指針是指向虛函數(shù)表的指針D)this指針是指向類(lèi)的函數(shù)成員的指針9. 在下列關(guān)于C+函數(shù)的敘述中,正確的是( C )A)每個(gè)函數(shù)至少要有一個(gè)參數(shù)B)每個(gè)函數(shù)都必須返回一個(gè)值C)函數(shù)在被調(diào)用之前必須先聲明D)函數(shù)不能自己調(diào)用自己10. 下列運(yùn)算符中,不能重載的是 ( C )A)&B)!=C).D)-11. 下面程序的輸出結(jié)果是( B )#include using namespace std;int i = 0;int fun(int n) static int a = 2;a+;retu

4、rn a+n;void main()int k = 5;int i = 2;k += fun(i);k += fun(i);cout k;A)13B)14C)15D)1612. 下面程序的輸出結(jié)果是( C )#include using namespace std;class Base public: virtual void f() cout “f0+”; void g() cout “g0+”; ;class Derived : public Base public: void f() cout “f+”; void g() cout f(); p-g(); A)f+g+B)f0+g+C)

5、f+g0+D)f0+g0+13. 以下程序的輸出結(jié)果是:(D )#include using namespace std;int fun(char *s) char *p=s;while (*p!=0) p+;return (p-s);void main()coutfun(abc)endl;A0 B. 1 C. 2 D. 314. 有如下程序段:int i=1;while(1)i+;if (i=10) break;if(i%2=0) cout*;執(zhí)行這個(gè)程序段輸出字符*的個(gè)數(shù)是(C)A. 10 B. 3 C. 4 15. 下列關(guān)于虛基類(lèi)的描述中,錯(cuò)誤的是(C)A.使用虛基類(lèi)可以消除由多繼承產(chǎn)生

6、的二義性B.構(gòu)造派生類(lèi)對(duì)象時(shí),虛基類(lèi)的構(gòu)造函數(shù)只被調(diào)用一次C.聲明 class B:virtual public A 說(shuō)明類(lèi)B為虛基類(lèi)D.建立派生類(lèi)對(duì)象時(shí),首先調(diào)用虛基類(lèi)的構(gòu)造函數(shù)16. 有下類(lèi)定義Class A Char *a;Public:A():a(0)A(char *aa) new charstrlen(aa)+1 B. charstrlen(aa)+1C. charstrlen(aa) D. new charsizeof(aa)-117. 有如下程序:#include using namespace std;class Testpublic:Test() Test()cout#;in

7、t main()Test temp2, *pTemp2; return 0;執(zhí)行這個(gè)程序輸出星號(hào)(#)的個(gè)數(shù)為(B )。A)1 B)2 C)3 D)418. 友元運(yùn)算符obj+被C+編譯器解釋為( D )。 A. operator+(obj) B. operator+(obj,0)B. +( ) D. +(0)19. 下面程序的運(yùn)行結(jié)果為( C )#includeclass Aint num;public:A(int i)num=i;A(A &a)num=+;void print()coutNUM; ;void main()A a(1),b(a);();(); B.12 20. 如果類(lèi)A被說(shuō)明

8、成類(lèi)B的友元,則( D )A.類(lèi)A的成員即類(lèi)B的成員 B.類(lèi)B的成員即類(lèi)A的成員C.類(lèi)A的成員函數(shù)不得訪問(wèn)類(lèi)B的成員 D.類(lèi)B不一定是類(lèi)A的友元21. 下面程序的運(yùn)行結(jié)果是( C )#includevoid main()int num=1;int &ref=num;ref=ref+2;coutNUM; num=num+3;coutREFENDL; B.16 22. 下列程序的運(yùn)行結(jié)果為( C )#includeint i=0;class Apublic:A()i+;void main()A a,b3,*c;c=b;coutIENDL; B.3 23. 下列字符串中可以用C+語(yǔ)言標(biāo)識(shí)符的是( A

9、 ) bar 二 填空題1. 在面向?qū)ο蠓椒ㄖ校?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為 繼承 2. C+中封裝性、繼承性和 多態(tài)性 是面向?qū)ο笏枷氲闹饕卣鳌?. 下列for語(yǔ)句的循環(huán)次數(shù)為 5 。for(int a=0,b=1;b&a5;a+);4. C+程序是從 main 函數(shù)開(kāi)始執(zhí)行的。5. 派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行 基類(lèi) 的構(gòu)造函數(shù),然后執(zhí)行成員對(duì)象的構(gòu)造函數(shù),最后執(zhí)行 派生類(lèi) 的構(gòu)造函數(shù)。6. C+語(yǔ)言的基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和 循環(huán)結(jié)構(gòu) 7. 函數(shù)重載要求重載的函數(shù)必須有和原函數(shù)一樣的 函數(shù)名 8. 設(shè)置虛基類(lèi)的目的是 解決二義性問(wèn)題 ,通過(guò) 用關(guān)鍵字virtual 表示

10、虛基類(lèi)。9. 語(yǔ)句coutn還可表示為 coutENDL; 10. 若已知a=10,b=20,則表達(dá)式!a1)#include using namespace std;int f(int);int main()int n,s; coutn; s= f(n) ; coutThe result is sendl; return 0; int f(int n) 請(qǐng)將下列程序補(bǔ)充完整,使得輸出結(jié)果為“Destructor Derived Destructor Base”。#include using namespace std;class Base public: virtual Base () cout “D

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論