C++期中考試試卷_第1頁(yè)
C++期中考試試卷_第2頁(yè)
C++期中考試試卷_第3頁(yè)
C++期中考試試卷_第4頁(yè)
C++期中考試試卷_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)C+語(yǔ)言程序設(shè)計(jì) 期中考試試題考試時(shí)間:2012年4月17日姓名: 學(xué)號(hào): 班級(jí):一、選擇題(每小題1分,共40分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。 關(guān)于友元,下列說(shuō)法錯(cuò)誤的是( )A)如果類(lèi)A是類(lèi)B的友元,那么類(lèi)B也是類(lèi)A的友元B)如果函數(shù)fun()被說(shuō)明為類(lèi)A的友元,那么在fun()中可以訪(fǎng)問(wèn)類(lèi)A的私有成員C)友元函數(shù)可以減少系統(tǒng)開(kāi)銷(xiāo),提高效率。D)如果類(lèi)A是類(lèi)B的友元,那么類(lèi)A的所有成員函數(shù)都是類(lèi)B的友元A下面選項(xiàng)中不屬于面向?qū)ο蟪?/p>

2、序設(shè)計(jì)特征的是( )。A)繼承性B)多態(tài)性C)類(lèi)比性D)封裝性C已知下列語(yǔ)句中的x和y都是int型變量,其中錯(cuò)誤的語(yǔ)句( )A ) x=y+; B ) x=+y; C ) x+=y; D ) +x=y;C為了提高函數(shù)調(diào)用的實(shí)際運(yùn)行速度,可以將較簡(jiǎn)單的函數(shù)定義為()。 A)內(nèi)聯(lián)函數(shù) B)重載函數(shù) C)遞歸函數(shù) D)函數(shù)模板A下列關(guān)于C+函數(shù)的敘述中,正確的是( )。A)每個(gè)函數(shù)至少要具有一個(gè)參數(shù) B)每個(gè)函數(shù)都必須返回一個(gè)值C)函數(shù)在被調(diào)用之前必須先聲明 D)函數(shù)不能自己調(diào)用自己C有以下程序#includeint i = 0;void fun() static int i = 1; std:co

3、uti+,;std:couti,;int main() fun(); fun(); return 0;程序執(zhí)行后的輸出結(jié)果是( )1,2,1,2, B) 1,2,2,3, C) 2,0,3,0, D) 1,0,2,0,D下列字符串中,可以用作C+標(biāo)識(shí)符的是A)y_2012 B)int C)3d D)foo-1Acout 2-5 endl;的輸出結(jié)果為( )A)7B)-5C)0.03125D)-7D下列關(guān)于類(lèi)和對(duì)象的敘述中,錯(cuò)誤的是( )。A)一個(gè)類(lèi)只能有一個(gè)對(duì)象 B)對(duì)象是類(lèi)的具體實(shí)例 C)類(lèi)是對(duì)某一類(lèi)對(duì)象的抽象 D)類(lèi)和對(duì)象的關(guān)系是一種數(shù)據(jù)類(lèi)型與變量的關(guān)系A(chǔ)10設(shè)int a=3,b=2;,則

4、+a*b+的結(jié)果是( )。A)6 B)8 C)9 D)12B11在32位計(jì)算機(jī)中,一個(gè)int型數(shù)據(jù)所占用的內(nèi)存長(zhǎng)度為( )字節(jié)。A)2B)4C)6D)8B12下列十六進(jìn)制整型常量的寫(xiě)法中,錯(cuò)誤的是( )。A)0 xafB)0C)0X1bD)0 xAEB13. 下列變量定義中,正確的是( )A)int m,n,x,y; float x,z;B)char c1,c2=”c”; C)double age,do;D)float f1,_time=0; double score_;D14. 若有下面的函數(shù)調(diào)用:fun(a+b+c+d,3,min(a,b),n)則fun函數(shù)的實(shí)參個(gè)數(shù)是( )。A3B4C5

5、D6B15. 有如下函數(shù)定義:void func(int a, int& b) a+;b+;若執(zhí)行代碼段: int x=2,y=2;func(y,x);則變量x和y的值分別是( )。A2和2B3和3C3和2D2和3C16. 在語(yǔ)句cout n;switch(n) case 1: cout 1; case 2: cout 2; case 3: case 4: cout 3; break;default: cout 4;時(shí),若鍵盤(pán)輸入1,則屏幕顯示A)1 B)14 C)12 D)123D19. 有如下程序:int x = 4;dox-=3;cout x;while(!(-x);執(zhí)行這個(gè)程序的輸出結(jié)

6、果是( )。 A1B41C1-2D死循環(huán)C20. 已知枚舉類(lèi)型定義語(yǔ)句為: enum Token NUMBER ,NAME, PLUS = 5, MINUS, PRINT = 10 ;則下列敘述中錯(cuò)誤的是( )A)枚舉常量NAME的值為1B)枚舉常量NUMBER的值為1C)枚舉常量MINUS的值為6D)枚舉常量PRINT的值為10B21. 執(zhí)行語(yǔ)句序列:int i=0; while(i 25) i+=3; couti; ,輸出結(jié)果是( )。A)24 B)25 C)27 D)28C22. 有如下程序:#includeusing namespace std;void fun (int x)cout

7、 x endl;int main()cout fun (23);return 0;如上程序的輸出為( )A)23B)2323C)編譯錯(cuò)誤D)運(yùn)行錯(cuò)誤C23. 有如下程序:#include using namespace std;void swap(int& x, int y) int t = x; x = y; y = t;int main( )int a=23,b=42;swap(b, a);cout a , b endl;return 0;執(zhí)行后的輸出結(jié)果是( )。A)42, 42 B)23, 23 C)23, 42 D)42, 23B24. 已知程序中已經(jīng)定義了函數(shù)test,其原型是in

8、t test(int, int, int);,則下列重載形式中正確的是A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);B25. 有如下程序段:int i=1;while (1) i+; if(i = 10) break; if(i%2 = 0) cout *;執(zhí)行這個(gè)程序段輸出字符*的個(gè)數(shù)是A)10B)3C)4D)5C26. 計(jì)算斐波那契數(shù)列第n項(xiàng)的函數(shù)定義如下:int fib(int n) if (

9、n = 0) return 1; else if (n = 1) return 2; else return fib(n-1)+fib(n-2);若執(zhí)行函數(shù)調(diào)用表達(dá)式fib(2),函數(shù)fib被調(diào)用的次數(shù)是A)1B)2C)3D)4C27. 有如下程序:#includeusing namespace std;int main()void function(double val);double val;function(val);coutval;return 0;void function(double val)val = 3;編譯運(yùn)行這個(gè)程序?qū)⒊霈F(xiàn)的情況是A)編譯出錯(cuò),無(wú)法運(yùn)行 B)輸出:3C)輸

10、出:3.0 D)輸出一個(gè)不確定的數(shù)D28. 有如下類(lèi)聲明:class Foo int bar(); ;則Foo類(lèi)的成員bar是( )。A)公有數(shù)據(jù)成員 B)公有成員函數(shù) C)私有數(shù)據(jù)成員 D)私有成員函數(shù)D29. 若有語(yǔ)句 “int i=1,j=2; coutj/I+i/j;”, 則輸出結(jié)果是( )A)0B)2.5C)0.5D)2D30. 在類(lèi)聲明中,緊跟在“public:”后聲明的成員的訪(fǎng)問(wèn)權(quán)限是( )。A)私有B)公有C)保護(hù)D)默認(rèn)B31. 關(guān)于函數(shù)重載,下列敘述中錯(cuò)誤的是 A 重載函數(shù)的函數(shù)名必須相同 B 重載函數(shù)必須在函數(shù)形參個(gè)數(shù)或類(lèi)型上有所不同 C 重載函數(shù)的返回值類(lèi)型必須相同 D

11、 重載函數(shù)的函數(shù)體可以有所不同C32. 以下關(guān)鍵字不能用來(lái)聲明類(lèi)的訪(fǎng)問(wèn)權(quán)限的是_。A)public B)static C)protected D)privateB33. 在下列函數(shù)原型中,可以作為類(lèi)AA構(gòu)造函數(shù)的是( )。A)void AA(int); B)int AA( ); C)AA(int)const; D)AA(int);D34. 有如下程序:#include using namespace std;class AAint n;public:AA(int k):n(k) int get( ) return n;int get( )const return n+1;int main( )

12、AA a(5);const AA b(6);couta.get( )b.get( );return 0;執(zhí)行后的輸出結(jié)果是( )。A)55 B)57 C)75 D)77B35. 有如下類(lèi)定義:class AAint a;public:int getRef()const return &a; /int getValue()const return a; /void set(int n)const a=n; /friend void show(AA aa)const couta; /;其中的四個(gè)函數(shù)定義中錯(cuò)誤的是( )A) B)C) D)D36. 有如下程序:#include using name

13、space std;class MyClasspublic:MyClass() cout *; MyClass(MyClass& a) cout #; MyClass() cout ; ;int main()MyClass a;MyClass b(a);return 0;運(yùn)行時(shí)的輸出結(jié)果是( )。A)*#B)#*C)*#D)#*C37. 有如下程序:#includeusing namespace std;class testprivate:int a;public:test()coutconstructorendl;test(int a)coutaendl;test(const test& t

14、est)a= test.a;cout”copy constructorendl;test()coutdestructorendl;;int main( )test A(3);return 0;運(yùn)行時(shí)輸出的結(jié)果是A) 3 B) constructor destructorC) copy constructor destructor D) 3 destructorD38對(duì)于一個(gè)類(lèi)定義,下列敘述中錯(cuò)誤的是( ) A) 如果沒(méi)有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù) B) 如果沒(méi)有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一個(gè)缺省的構(gòu)造函數(shù) C) 如果沒(méi)有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)

15、和一個(gè)拷貝構(gòu)造函數(shù)D) 如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造函數(shù)B39. 有如下類(lèi)定義:class Foopublic:Foo(int v) : value(v) / Foo() / private:Foo() / int value = 0; / ;其中存在語(yǔ)法錯(cuò)誤的行是A) B)C) D)D40. 有以下程序#includeusing namespace std;class MyClasspublic:MyClass(int n)number = n;MyClass(MyClass &other) number=other.number; MyClass()priv

16、ate: int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;程序執(zhí)行時(shí),MyClass類(lèi)的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是A)5 B)4 C)3 D)2B二、填空題(共60分)下面1-8每題1分,9-20每題2分,21-26每題3分,27-28每題5分。1. C+是面向 的程序設(shè)計(jì)語(yǔ)言。對(duì)象2. 在C+語(yǔ)言中,032表示一個(gè)_八_進(jìn)制數(shù),而0 x23表示一個(gè)_十六_進(jìn)制數(shù)。

17、高級(jí)語(yǔ)言屏蔽了機(jī)器的細(xì)節(jié),提高了語(yǔ)言的_。抽象層次4. C+中只有兩個(gè)邏輯常量:true和 _。false5. 已知一個(gè)函數(shù)的原型是:int fn(double a);若要以5.27為實(shí)參調(diào)用該函數(shù),應(yīng)使用表達(dá)式 _。fn(5.27)6. 非成員函數(shù)應(yīng)聲明為類(lèi)的_函數(shù)才能訪(fǎng)問(wèn)這個(gè)類(lèi)的private成員。友元7. 若有定義語(yǔ)句”int x=20,y=20 z=10;”,則表達(dá)式xz&y=z的布爾值為_(kāi)。false8. 在類(lèi)的對(duì)象被創(chuàng)建的時(shí)候,_函數(shù)會(huì)被系統(tǒng)自動(dòng)調(diào)用。構(gòu)造-7的二進(jìn)制補(bǔ)碼表示(8位)為 _ _ _ _ _ _ _ _。執(zhí)行語(yǔ)句序列:int a=1,b=1;b=(a=3*4,a=a*

18、5);coutbendl;輸出結(jié)果為_(kāi)。60若有定義語(yǔ)句:int a=3,b=2,c=1;,則表達(dá)式ab?a:b的值是 。2執(zhí)行語(yǔ)句序列:int x=10,&r=x; r+;coutx-rendl; 輸出結(jié)果為_(kāi)。11-11下列函數(shù)的功能是判斷字符串str是否對(duì)稱(chēng),對(duì)稱(chēng)則返回true,否則返回false。請(qǐng)?jiān)跈M線(xiàn)處填上適當(dāng)內(nèi)容,實(shí)現(xiàn)該函數(shù)。bool fun(char *str)int i=0, j=0;while (strj) _ ;j+for(j-; i=14下面程序運(yùn)行的結(jié)果是 。*#*#*#*#$#include using namespace std;void main() int i

19、; for (i=1;i=6;i+) if(i%3) cout *; else continue; cout #; cout $endl;15. 已知遞歸函數(shù)f的定義如下:int f (int n)if(n2) return 1; else return n*f(n-2);則函數(shù)調(diào)用語(yǔ)句f(6)的結(jié)果是 。2416. 執(zhí)行下列語(yǔ)句后,變量sum的值是_.7int sum =1;for (int i=1;i=i;j-) sum+;17. 下列程序的輸出結(jié)果為Object id=1Object id=2請(qǐng)將程序補(bǔ)充完整。#include using namespace std;class Poin

20、t public: Point(int xx=0, int yy=0) X=xx; Y=yy; countP+; Point( ) countP-; static void GetC( ) cout Object id=endl; private: int X,Y;static int countP; ;_ /靜態(tài)數(shù)據(jù)成員的初始化int Point:countP=1;int main( ) Point:GetC( );Point A(4,5); A.GetC( ); return 0;18. 如下類(lèi)定義中包含了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)的原型聲明,請(qǐng)?jiān)跈M線(xiàn)處填寫(xiě)正確的內(nèi)容。class myClas

21、s int data;public: myClass(int value);/構(gòu)造函數(shù) myClass(const _ anotherObject);/拷貝構(gòu)造函數(shù)myClass&19. 若下面程序運(yùn)行時(shí)輸出結(jié)果為1,A,10.12,B,3.5請(qǐng)將程序補(bǔ)充完整。#include using namespace std;int main()void test(int, char, double _ );c=3.5test(1, A, 10.1 );test(2, B);return 0;void test(int a, char b, double c)couta,b,cendl;20. 有如下

22、類(lèi)聲明:Class MyClassint i;private:int j;public:int m,n;其中,私有成員的數(shù)量為_(kāi)。221寫(xiě)出執(zhí)行完下列代碼段之后指定變量的值:bool x =false,y=true,z=false;x=x&y|z;falsey=x|y&z;falsez= !(x!=y) | (y=z);true則x= ; y= ; z= ;22. 字面常量42, 4.2, 42L的數(shù)據(jù)類(lèi)型分別是_、_、_。int double long23. 下面程序的運(yùn)行結(jié)果為_(kāi)。43#include class Aint num;public:A(int i)(num=+i;A(A &a

23、)num=a.num+;void print()(coutnum;void main()A a(2),b(a);a.print();b.print();24. 下面程序段的運(yùn)行結(jié)果為 :a=-5int i=0,a=0,s=1;do a=a+s*i; s=-s; i+;while(i10);cout a=aendl;25. 已知函數(shù)f的定義如下:int f (int n)coutn;return +n;則函數(shù)調(diào)用語(yǔ)句f(f(2)的結(jié)果是 。2326. 有4個(gè)由用戶(hù)任意輸入的整數(shù)a、b、c和d,要求按照從大到小的順序輸出,請(qǐng)補(bǔ)充以下程序使其滿(mǎn)足要求。 #include using namespac

24、e std;void main() int a, b, c, d, t; cin abcd; if (ab) t =a; a=b; b=t; if (ac) t =a; a=c; c=t; if (ad) t =a; a=d; d=t; if (_) t =b; b=c; c=t; bc if (bd) t =b; b=d; d=t; if (cd) t =c; c=d; d=t; cout a,b,c,dendl;27. 實(shí)現(xiàn)兩個(gè)重載函數(shù),使得下面程序的結(jié)果為:34#include using namespace std;_int main()int a=2,b=3,c=4;double x=5.5,y=2.1,z=4; coutmiddle(a,b,c)endl;coutmiddle(x,y,z)en

溫馨提示

  • 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)論