Visual-C++面向?qū)ο笈c可視化程序設(shè)計選擇題_第1頁
Visual-C++面向?qū)ο笈c可視化程序設(shè)計選擇題_第2頁
Visual-C++面向?qū)ο笈c可視化程序設(shè)計選擇題_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

《面向?qū)ο蟪绦蛟O(shè)計C++》期末考試試卷一、選擇題(每小題3分,共48分。)01、下列關(guān)于C++函數(shù)的敘述中,正確的( C )。A)每個函數(shù)至少要具有一個參數(shù) B)每個函數(shù)都必須返回一個C)函數(shù)在被調(diào)用之前必須先聲明 D)函數(shù)不能自己調(diào)用自己02、下列關(guān)于類和對象的敘述中,錯誤的( A )。A)一個類只能有一個對象 B)對象是類的具體實例C)類是對某一類對象的抽象 D)類和對象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)03、在C++中,用于實現(xiàn)運行時多態(tài)性的( 。A)內(nèi)聯(lián)函數(shù) B)重載函數(shù) C)模板函數(shù) D)虛函04、下列關(guān)于運算符重載的敘述中,正確的( B )。A)通過運算符重載,可以定義新的運算符 B)有的運算符只能作為成員函數(shù)重載C)若重載運算+,則相應(yīng)的運算符函數(shù)名+ D)重載二元運算符時,必須聲明兩個形05、對于語句cout<<x<<endl;錯誤的是描述(D )。A)“cout”是一個輸出流對象 B)“endl”的作用是輸出回車換C)“x”是一個變量 D)“<<”稱作提取運算符06、有如下類聲明,則類MyDERIVED中保護的數(shù)據(jù)成員和成員函數(shù)的個數(shù)( B )classMyBASE{private: intk;public: voidset(intn){k=n;}intget()const{returnk;} classMyDERIVED:protectedMyBASE{protected: intj;public: voidset(intm,intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;} A)4 B)3 C)2 D)107已知在一個類體中包含如下函數(shù)原:Volume下列關(guān)于這個函數(shù)的敘述中,錯誤的( B )。A)這是運算符-的重載運算符函數(shù)B)這個函數(shù)所重載的運算符是一個一元運算符C)這是一個成員函數(shù)D)這個函數(shù)不改變類的任何數(shù)據(jù)成員的值08、執(zhí)行如下的程序段后,輸出結(jié)果(A )。cout.fill('*');cout.width(6);cout.fill('#'); cout<<123<<endl;A)###123 B)123### C)***123 D)123***09、在下列函數(shù)原型中,可以作為類AA構(gòu)造函數(shù)的( D )A)voidAA(int); B)intAA(); C)AA(int)const; D)AA(int);10、下面四個選項中A)是用來聲明虛函數(shù)的A)virtual B)public C)include D)usingnamespace11、實現(xiàn)運行時的多態(tài)性要使(D )。A)重載函數(shù) B)構(gòu)造函數(shù) C)析構(gòu)函數(shù) 虛函12、要實現(xiàn)動態(tài)聯(lián)編,必須通( A)調(diào)用虛函數(shù)。A)對象指針 B)成員名限定 C)對象名 派生類13、以( C)成員函數(shù)表示純虛函數(shù)。A)virtualintvf(int); B)voidvf(int)=0;C)virtualvoidvf()=0; D)virtualvoidvf(int){}14XA{private:intx;public: XA(intn){x=n;} classXB:publicXA{private:inty;public: XB(inta,intb); };在構(gòu)造函數(shù)XB的下列定義中,正確的( B 。A)XB::XB(inta,intb):x(a),y(b){} B)XB::XB(inta,intb):XA(a),y(b){}C)XB::XB(inta,intb):x(a),XB(b){}D)XB::XB(inta,intb):XA(a),XB(b){}15、在表達式x+y*z中,+是作為成員函數(shù)重載的運算符是作為非成員函數(shù)重載的運算符。則operator+有個參數(shù),operator*有參數(shù)( C )A)22 B)2、1 C)1、2 D)1、116、應(yīng)在下列程序劃線處填入的正確語句( C )classBase{public:voidfun(){cout<<"Base::fun"<<endl;} classDerived:publicBase{voidfun(){ //顯示調(diào)用基類的函數(shù)fun()cout<<"Derived::fun"<<endl;} fun(); B)Base.fun(); C)Base::fun(); D)Base->fun();1、C++是(C 。面向?qū)ο蟮某绦蛟O(shè)計語言面向過程的程序設(shè)計語言既支持面向?qū)ο蟮某绦蛟O(shè)計又支持面向過程的程序設(shè)計的混合型語言非結(jié)構(gòu)化的程序設(shè)計語言2、面向?qū)ο蟪绦蛟O(shè)計思想的主要特征中不包括(D 。A.封裝性 B.多態(tài)性 C.繼承性 D.功能分解,逐步求3、若定義:stringstr; 當(dāng)語句cin>>str;執(zhí)行時,從鍵盤輸入:MicrosoftVisualStudio6.0!所得的結(jié)果是B 。A.MicrosoftVisualStudio6.0! B.MicrosoftC.MicrosoftVisual D.MicrosoftVisualStudio6.04、考慮下面的函數(shù)原型聲明:voidtestDefaulParam(inta,intb=7,charz='*');下面函數(shù)調(diào)用中,不合法的是(C 。A.testDefaulParam(5); B.testDefaulParam(5,8);C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');5、下列語句中,將函數(shù)intsum(intx,int正確重載的是(C 。A.floatsum(intx,inty); B.intsum(inta,intb);C.floatsum(floatx,floaty); D.doublesum(inty,intx);6、下列表示引用的方法中( A)是正確的。已知:inta=1000;A.int&x=a; B.char&y; C.int&z=1000; D.float&t=&a;7、在一個函數(shù)中,要求通過函數(shù)來實現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,用( A。A.內(nèi)聯(lián)函數(shù) B.重載函數(shù) C.遞歸調(diào)用 D.嵌套調(diào)用8、下列有關(guān)C++類的說法中,不正確的是(D 。類是一種用戶自定義的數(shù)據(jù)類型只有類中的成員函數(shù)或類的友元函數(shù)才能存取類中的私有成員在類中,如果不做特別說明,所有成員的訪問權(quán)限均為私有的在類中,如果不做特別說明,所有成員的訪問權(quán)限均為公用的9、已知X類,則當(dāng)程序執(zhí)行到語句array[3];時,調(diào)用了(D )次構(gòu)造函數(shù)。A.0 B.1 C.2 D.310、下面說法中,正確的是(B )一個類只能定義一個構(gòu)造函數(shù),但可以定義多個析構(gòu)函數(shù)一個類只能定義一個析構(gòu)函數(shù),但可以定義多個構(gòu)造函數(shù)構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只要名字前加了一個求反符號構(gòu)造函數(shù)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void可以、已知(函數(shù)是一個類的常成員函數(shù),它無返回值,下列表示中(A )是正的。A.voidprint()const; B.constvoidprint();C.voidconstprint(); D.voidprint(const);12、下面描述中,表達錯誤的是)publicpublic的privateprivate的protectedprotected的私有繼承時基類中的public成員在派生類中是private的13、設(shè)置虛基類的目的是(B 。A.簡化程序 B.消除二義性 C.提高運行效率 D.減少目標(biāo)代碼14、下面(B )的敘述不符合賦值兼容規(guī)則。派生類的對象可以賦值給基類的對象基類的對象可以賦值給派生類的對象派生類的對象可以初始化基類的對象派生類的對象的地址可以賦值給指向基類的指針、關(guān)于虛函數(shù)的描述中( C)是正確的。static類型的成員函數(shù)虛函數(shù)是一個非成員函數(shù)基類中說明了虛函數(shù)后,派生類中與其對應(yīng)的函數(shù)可不必說明為虛函數(shù)派生類的虛函數(shù)與基類的虛函數(shù)具有不同的參數(shù)個數(shù)和類型16、下面關(guān)于友元的描述中,錯誤的是( D。友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)友元可以提高程序的運行效率類與類之間的友元關(guān)系可以繼承17、下列關(guān)于靜態(tài)數(shù)據(jù)成員的說法,不正確的是(C 。類中定義的公用靜態(tài)數(shù)據(jù)成員,可以通過類的對象來訪問類中定義的所有靜態(tài)數(shù)據(jù)成員,都必須在類外初始化靜態(tài)數(shù)據(jù)成員不是所有對象所共用的普通的成員函數(shù)可以直接訪問類中的靜態(tài)數(shù)據(jù)成員18式,則表達式還可以表示為(B。A.operator*(i.operator++(),k) B.operator*(operator++(i),k)C.i.operator++().operator*(k) D.k.operator*(operator++(i))19、下面對模板的聲明,正確的是( C。A.template<T> B.template<classT1,T2>C.template<classT1,classT2>D.template<classT1;class20、下列的各類函數(shù)中( C)不是類的成員函數(shù)A.構(gòu)造函數(shù) B.析構(gòu)函數(shù) C.友元函數(shù) D.復(fù)制構(gòu)造函數(shù)類的實例化是指(A)創(chuàng)建類對象)義類 調(diào)用類的成員 指明具體的類類的構(gòu)造函數(shù)是在什么時間被自動調(diào)用的?(B)類創(chuàng)建時 創(chuàng)建對象時)除對象時不自動調(diào)用類的析構(gòu)函數(shù)是在什么時間被自動調(diào)用的?(C)類創(chuàng)建時 創(chuàng)建對象時)除對象時不自動調(diào)用要實現(xiàn)動態(tài)聯(lián)編,派生類中的虛函數(shù)(D)返回的類型可以與虛函數(shù)的原型不同參數(shù)個數(shù)可以與虛函數(shù)的原型不同參數(shù)類型可以與虛函數(shù)的原型不同以上都不對關(guān)于虛函數(shù),正確的描述是(A)A)構(gòu)造函數(shù)不能是虛函數(shù) B)析構(gòu)函數(shù)不能是虛函數(shù)C)虛函數(shù)可以是友元函數(shù) D)虛函數(shù)可以是靜態(tài)成員函數(shù)類的構(gòu)造函數(shù)的作用是(C)一般成員函數(shù)B)類的初始化C)對象的初始化D)有關(guān)運算符重載正確的是(D)C++語言允許在重載運算符時改變運算符的操作個數(shù)C++語言允許在重載運算符時改變運算符的優(yōu)先級C++語言允許在重載運算符時改變運算符的結(jié)合性可以被對象之外訪問的成員是(B)私有成員函數(shù)B)公有成員函數(shù)C)D)所有成員函數(shù)多重繼承是(B。A)多個單一繼承的疊加 B)導(dǎo)出類有多個直接基類多個導(dǎo)出類有唯一的基類每個導(dǎo)出類最多只有一個直接基類,但它可以有多個間接基類C+C語言作了很多改進,下列描述中(D)使得C變成了面向?qū)ο蟆)增加了一些新的運算符 B)允許函數(shù)重載,并允許設(shè)置默認(rèn)參數(shù)C)規(guī)定函數(shù)說明必須用原型 D)引進了類和對象的概念三、程序的填空、程序的執(zhí)行(每題420)、以下程序是定義一個計數(shù)器類+{private:intn;public:counter(){n=0;}counter(inti){n=i;}_counteroperator+(counterc) 運算符重載函數(shù){countert;t.n=n+c.n;returnt;}voiddisp(){cout<<"n="<<n<<endl;}};voidmain(){counterc1(5),c2(10),c3;c3=c1+c2;c1.disp();c2.disp();c3.disp();} 25、下列程序的輸出結(jié)果為2classBase{public:virtualvoidfun(){cout<<1;}};classDerived:publicBase{public:voidfun(){cout<<2;}};intmain(){Base*p=newDerived;p->fun();deletep;return0;}26、寫出執(zhí)行下面程序的輸出結(jié)果。voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42};fun(a[1],a[0]);std::cout<<a[0]<<","<<a[1]<<std::endl;return0;}23,2327、寫出執(zhí)行下面程序的輸出結(jié)果。classA{public:A(){cout<<"A";}};classB{public:B(){cout<<"B";}};classC:publicA{B

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論