-2013全國計算機(jī)二級c++等級考試真題及答案資料_第1頁
-2013全國計算機(jī)二級c++等級考試真題及答案資料_第2頁
-2013全國計算機(jī)二級c++等級考試真題及答案資料_第3頁
-2013全國計算機(jī)二級c++等級考試真題及答案資料_第4頁
-2013全國計算機(jī)二級c++等級考試真題及答案資料_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)習(xí) 好資料更多精品文檔2007年 9全國計算機(jī)等級考試二級筆試試卷一、選擇題(每小題 2 分,共 70分)(11)在函數(shù)中,可以用 auto,extem,register,和static這四個關(guān)鍵字中的一個來說明變量的存儲類型,如果不說明存儲類型,則默認(rèn)的存儲類型是 AA autoB extemC registerD static( 12)對于一個類定義,下列敘述中錯誤的是 BA 如果沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一個拷貝構(gòu)造函數(shù)B 如果沒有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一個缺省的構(gòu)造函數(shù)C 如果沒有定義構(gòu)造函數(shù), 編譯器將生成一個缺省的構(gòu)造函數(shù)和一個拷貝構(gòu)造函數(shù)D 如果已經(jīng)定義了

2、構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會生成任何構(gòu)造函數(shù)( 13)如果派生類以 public 方式繼承基類, 則原基類的 protected 成員和 public 成員在派生 類中的訪問類型分別是 DA public 和 publicB public 和 protectedC protected 和 publicD protected 和 protected( 14)下列運(yùn)算符函數(shù)中肯定不屬于類 FunNumber 的成員函數(shù)的是 DA int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int ope

3、rator -(FunNumber)(15) C+中的模板包括 CA 對象模板和函數(shù)模板B 對象模板和類模板C 函數(shù)模板和類模板D 變量模板和對象模板(16) 如果調(diào)用C+流進(jìn)行輸入輸出,下面的敘述中正確的是AA 只能借助于流對象進(jìn)行輸入輸出 B 只能進(jìn)行格式化輸入輸出C只能借助于cin和cout進(jìn)行輸入輸出(17) 下列符號中不屬于 C+關(guān)鍵字的是 DA friendB namespace(18) 下列各組的量申明中,含義相同的一組是A unsigned long int 和 longB unsigned short 和 short(19) 必須用一對打括號括起來的程序段是 DA switc

4、h語句中的 case標(biāo)號語句C 循環(huán)語句的循環(huán)體( 20)語句的 int*p=&k 定義于指針 P,D 只能使用運(yùn)算符 和 進(jìn)行輸入輸出C continueD byteBB signed short int 和 shortD short int 和 intB if 語句的分支D 函數(shù)的函數(shù)體 于這個語句等效的語句序列是 AA int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)關(guān)于函數(shù)重載,下列敘述中錯誤的是CA 重載函數(shù)的函數(shù)名必須相同B 重載函數(shù)必須在函數(shù)個數(shù)或類型上有所不同C 重載函數(shù)的返回值類型必須相同D 重載函數(shù)

5、的函數(shù)體可以有所不同( 22)有如下頭文件Int f1();Static int f2();Class MAPublic Int f3();Static int f4();( 靜態(tài)函數(shù) ); 在所描述的函數(shù)中,具有隱含的this 指針的是 CA f1B f2C f3D f4( 23)派生類的成員函數(shù)不能訪問基類的CA 共有成員和保護(hù)成員B 共有成員C 私有成員D 保護(hù)成員( 24)下列關(guān)于運(yùn)算符重載的描述中,正確的是AA 運(yùn)算符重載為成員函數(shù)時,若參數(shù)表中五參數(shù),重載的是一元運(yùn)算符 B 一元運(yùn)算符只能作為成員函數(shù)重載C 二元運(yùn)算符重載為非成員函數(shù)時,參數(shù)表中有一個參數(shù) D C+ 中可以重載所有

6、的運(yùn)算符( 25)下列關(guān)于類模板的模板參數(shù)的敘述中,錯誤的是DA 模板參數(shù)可以作為數(shù)據(jù)成員的類型 B 模板參數(shù)可以作為成員函數(shù)的返回類型C 模板參數(shù)可以作為成員函數(shù)的參數(shù)類型D 模板函數(shù)不能作為成員函數(shù)的局部變量的類型 ( 26)已知一程序運(yùn)行后執(zhí)行的第一個輸出操作是BCout<<setw(10)<<setfill(*)<<1234 則此操作的輸出結(jié)構(gòu)是 A 1234 B *1234*1234D 1234*(27)有如下程序#include <iostrcam>Using namespace std;Class myclassPublic:MyC

7、lass()+count;MyClass()-count;Static int getcount()return count;PrivateStatic int count;Int MyClass:count=0;Int main()Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass:getcount();學(xué)習(xí)-好資料Delete ptr;CoutvvMyClass:gercount();Return();程序的輸出結(jié)果是 AA 121B 232 C 221 D 122(28) 有

8、如下程序ttinclude <iostrean>Using namespace std;Class MyciassPublic;Myclassconst(x):ual(x)<Uqid print() const <cout« const;>Void print() <cout«<<val«t;>Private;I nt ual;;lnt main()<Const njjcidss ob j1(10):Myclass obj2(2B:Obj1-print();Qbj2.printf):Return ();&

9、gt;程序的輸出結(jié)果是 CA val=10 const:val=20 B const:val=10 const:val=20C const:val=10val=20 D val=10val=20(29) 有如下程序#include <iostream>Using namespace std;Class partPublic;Part(int x=():val(x)coutvvval;-part()coutvvval;Private;Int val;Class wholePublic;Whole(int x,int y,int z=0):p2(x),p1(y),val(z)coutv

10、vval;Whole()countvvval;Private;Part p1,p2;Int val;Int maintWhole obj(1,2,3);Resturn(); 程序輸出的結(jié)果是 DA 123321 B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class basePublic:Base(int x=0)cout<<x;Class derived : public basePublic:Derivedrin(x=y)cout<<x;Priblic:Base val;I

11、nt main()Derived d(!); Return(); 程序的輸出結(jié)果是 CA 0 B 1 C 01D 001(31)若有如下類定義:Classs B Void fun1()Protected;Double varl;Public:Void fun2();Class D:public BProtected;Void fun3();CD obj.fun3();已知 obj 是類 D 的對象,下列語句中不違反成員訪問控制的權(quán)限的是A obj.fun1(); B obj.var1; C obj.fun2(); (32)有如下程序:#include<iostream>Using

12、namespace sid;Class basePublic;Void output()cout<<1;Virtual void print() cout<<B;更多精品文檔學(xué)習(xí)-好資料;Class derived:public basePublic:Void output()coutv<2;Void print()coutvv ' D' ;Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();程序的輸出結(jié)果是 DA 1BB 1D

13、C 2B D 2D33.下列是重載乘法運(yùn)算的函數(shù)原型聲明,其中錯誤的是AA myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);*是二元運(yùn)算符,而且標(biāo)準(zhǔn)庫里面已經(jīng)有 double*double的運(yùn)算符定義,返回值為double,所 以A的重載是錯誤的34.AO)如下函數(shù)的作埔是以雙倍行距輸岀文件:Void double spacefifstre-an&

14、f ,ofstream&tChdr c;While ()if (c=.put(c),斷齧處缺失的部分是A F.gel(c)與8 f.put(c)與t獲C t,ger(c )與f.get(c)D t(c)與F-got(c)(35)有如下程序:#include viostream>using namespace std;class Bpublic:virtual void show()coutvv"b"class D:public B public:void show()coutvv"D"void fun1(B*ptr)ptr->show

15、();void fun2(B &ref)ref.show();void fun3(B b)b.show();void main()B b,*p=new D;D d; fun1(p);fun2(b); fun3(d); 程序的輸出結(jié)果是 DA DBD B BBD C DBB D Dbb 二、填空題(每空 2 分,共三十分)(6). 在有定義語句: int a=3,b=2,c=1; 則表達(dá)式 a<b?a:b 的值是 (7).執(zhí)行下列語句后,變量 sum 的值是 .Int sum =0;For (int j=I;j<=I;j+)For (int j=I;j<=I;j+)Su

16、m+;(8). 已知有函數(shù) f 的定義如下:Int f()Static int -6;s-2;return s則在某程序中第二次執(zhí)行函數(shù)用語句f();時,函數(shù)f的返回值是,(9)已知如下程序得輸出結(jié)果時23,請將劃線處缺失得部分補(bǔ)充完整。#include<iostream> Using namespace std;Class myclassPublic:Void print() coutcout<<23;Int main() Myclass*p=new myclass();print(); Return(); Class sample Public:Sample()學(xué)習(xí)

17、-好資料門町有如下復(fù)數(shù)類的聲明,請補(bǔ)充完整。Class complex(Poubie real;"實(shí)部Double inag; "虛部Public:Conple(double x,double y)Real=x;Imag=p; .Complex operator +(complex c) < "重載加法運(yùn)算符"* Return complex ();>;(14) 請將如下程序補(bǔ)充完整,使得輸出結(jié)果為bbaa#include viostream>Using namespace std;Class A Public:coutvv ” aa”

18、 ;Class B :public APublic:B()coutvv ” bb” ;;Int main ()B*p=new B;Delete p;Return();(15) 請將下列棧類stack補(bǔ)充完整Class stackPrivate;Int plist100;/int數(shù)組,用于存放棧的元素Int top;/棧頂元素(數(shù)組下標(biāo))Public:Stack():top(0)Void push(sons int &item);/新元素 item 壓入棧Int pop(void);將棧頂元素彈出棧;Void stack:pbsh(const int & item)If (top

19、 =99)/如果棧滿,程序結(jié)束Exit(1);Top+;/棧頂指針增1【15】;Int stack:pop()If (top<0)/如果棧空,程序結(jié)束Exit(1);Return plishtop-;參考答案10.ABBA 11.void Base:fun()15.pListtop=item傳值”方式傳遞參數(shù)的是(A)。6.2 7.6 8.4 9.(*p)12.virtual display()=0; 14.-A()2008年 9月計算機(jī)等級考試、選擇題(每小題 2 分,共 70分)11)在下列原型所示的 C+ 函數(shù)中,按A ) void f1(int x);B ) void f2(in

20、t*x); C ) void f3(const int*x); D ) voidf4(int&x);(12) 在 C+ 中,編譯系統(tǒng)自動為一個類生成缺省構(gòu)造函數(shù)的條件是(A)。A) 該類沒有定義任何有參構(gòu)造函數(shù)B)該類沒有定義任何無參構(gòu)造函數(shù)C)該類沒有定義任何構(gòu)造函數(shù)D)該類沒有定義任何成員函數(shù)(13) 在一個派生類的成員函數(shù)中,試圖調(diào)用其基類的成員函數(shù)“void f();,'但無法通過編譯。這說明( C)。A) f()是基類的私有成員C)派生類的繼承方式為私有B) f()是基類的保護(hù)成員D)派生類的繼承方式為保護(hù)( 14)下列關(guān)于運(yùn)算符重載的敘述中,錯誤的是(B)。A )有

21、的運(yùn)算符可以作為非成員函數(shù)重載B) 所有的運(yùn)算符都可以通過重載而被賦予新的含義C) 不得為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值D) 有的運(yùn)算符只能作為成員函數(shù)重載(15) 下列關(guān)于模板的敘述中,錯誤的是(D)。A )調(diào)用模版函數(shù)時,在一定條件下可以省略模板實(shí)參B) 可以用int、double這樣的類型修飾符來聲明模版參數(shù)C) 模板聲明中的關(guān)鍵字class都可以用關(guān)鍵字 typename替代D) 模板的形參表中可以有多個參數(shù)(16) 要利用 C+流進(jìn)行文件操作,必須在程序中包含的頭文件是( B)。D) iomanipD ) const int*point=newA) iostreamB) fstre

22、amC) strstream(17) 下列字符串中不能作為C+標(biāo)識符使用的是(B)。A) WHILE B) user C) _lvar D) 9stars(18) 下列語句中錯誤的是(D)。A) const int a;B)const int a=10;C) const int*point=0;int(10);( 19)有如下程序: #include<iostream> using namespace std; int main() int sum;學(xué)習(xí) 好資料for(int i=0; i<6; i+=3) sum=i;for(int j = i; j<6; j+)su

23、m+=j; cout<<sum<<end1;return 0;運(yùn)行時的輸出結(jié)果是( A)。A)3B)10C) 12D) 15( 20)下列語句中,正確的是( D)。A)char*myString="Hello-World!"B) char myString="Hello-World!"C ) char myString11="Hello-World!"D )char myString12="Hello-World!"( 21)若已經(jīng)聲明了函數(shù)原型 “void fun(int a, doubl

24、e b=0.0 ) ; ”,則下列重載函數(shù)聲明中正 確的是( C )。A) void fun(int a=90, double b=0.0);B) int fun(int a, double B);C ) void fun(double a, int B);D) bool fun(int a, double b = 0.0);(22) 有如下程序:#include<iostream>using namespace std; class Samplepublic:Sample()Sample()cout<<'*'int main()Sample temp2

25、, *pTemp2;return 0; 執(zhí)行這個程序輸出星號( * )的個數(shù)為( B)。A)1B) 2C)3D) 4(23) 下列選項(xiàng)中,與實(shí)現(xiàn)運(yùn)行時多態(tài)性無關(guān)的是(A )。A )重載函數(shù)B)虛函數(shù)C)指針D )弓|用(24) 下列運(yùn)算符函數(shù)中,肯定不屬于類Value 的成員函數(shù)的是( B)。A) Value operator+(Value); B) Value operator-(Value, Value); C ) Value operator*(int);D ) Value operator/(Value);(25) 下列模板聲明中,有語法錯誤的是(D)。A) template<t

26、ypename T>T fun(T x)return x;B) template<typename T>T fun(T x, int n)return x*n;C ) template<class T>T fun(T *p)return *p;D ) template<class T>T classAT n;(26)在語句 “ coutvv'A'中,cout 是(B )。D)C+ 的關(guān)鍵字A)類名B)對象名C)函數(shù)名( 27)有如下程序: #includeviostream>using namespace std;class My

27、Classpublic:MyClass(int i=0)cout<<1;MyClass(const MyClass&x)cout<<2;MyClass& operator=(const MyClass&x)cout<<3; return*this; MyClass()cout<<4;int main()MyClass obj1(1),obj2(2),obj3(obj1); return 0:C ) 121444D)11314444運(yùn)行時的輸出結(jié)果是( A)。A) 112444B) 11114444(28)有如下程序:#in

28、clude<iostream> using namespace std;class MyClasspublic:MyClass(int x):val(x)void Set(int x)val=x;void Print()constcout<<"val="<<val<<'t' private:int val;int main() const MyClass obj1(10);MyClass obj2(20);obj1.Print(); / 語句 1obj2.Print(); / 語句 2obj1.Set(20);

29、 / 語句 3obj2.Set(30); / 語句 4return 0; 其主函數(shù)中錯誤的語句是( C )。A )語句 1B)語句2C)語句3D)語句429)在類聲明中,緊跟在public:后聲明的成員的訪問權(quán)限是(A)私有B)公有C)保護(hù) D)默認(rèn)更多精品文檔30)對于通過公有繼承定義的派生類,若其成員函數(shù)可以直接訪問基類的某個成員,說明該基類成員的訪問權(quán)限是(D)。A)公有或私有B)私有C)保護(hù)或私有 D)公有或保護(hù)(31)定義派生類時,若不使用關(guān)鍵字顯式地規(guī)定采用何種繼承方式,則默認(rèn)方式為(A)。A)私有繼承B)非私有繼承C)保護(hù)繼承D)公有繼承(32) 建立一個有成員對象的派生類對象時

30、,各構(gòu)造函數(shù)體的執(zhí)行次序?yàn)?C )。A) 派生類、成員對象類、基類B)成員對象類、基類、派生類C) 基類、成員對象類、派生類D)基類、派生類、成員對象類(33) 如果表達(dá)式 a>=b 中的 “>=”是作為非成員函數(shù)重載的運(yùn)算符,則可以等效地表示為 (A)。A) a.operator>=(b) B) b.operatotr>=(a)C) operator>=(a,b) ) operator>=(b,a)( 34)當(dāng)使用 ofstream 流類定義一個流對象并打開一個磁盤文件時, 文件的默認(rèn)打開方式 為(B)。A) ios base:inB) ios_base:

31、binary C) ios_base:in|ios_base:out D) ios_base:out(35)在一個抽象類中,一定包含有(C)。A)虛函數(shù)B )純虛函數(shù)C)模板函數(shù)D)重載函數(shù)二、填空題(每空 2分,共 30 分)( 6)當(dāng)使用關(guān)鍵字 _void_作為函數(shù)返回類型時,該函數(shù)不返回任何值。( 7)已知數(shù)組 a 中有 n 個元素,下列語句將數(shù)組 a 中從下標(biāo) x1 開始的 k 個元素移動 到從下標(biāo) x2 開始的 k 個元素中,其中 0<=x1<x2<n , x2+k<n ,請將下列語句補(bǔ)充完整。 for (int i = x1+k-1; i>=x1; i

32、-) a_x2+k-1_=ai;( 8)有如下程序:#include<iostream> using namespace std;int fun1(int x) return+x;int fun2(int &x) return+x;int main()int x=1,y=2;y=fun 1(fun2(x);cout<<x<<','<<y;return 0: 程序的輸出結(jié)果是 _2,3_。( 9)有如下程序:#include<iostream> using namespace std;class pumpkinp

33、ublic: pumpkin()+count; pumpkin()-count; static void total_count() cout<<count<<"pumpkin(s)"<<endl;private:static int count;int pumpkin:count=0;int main()pumpkin pl10; pumpkin:total_count();return 0; 這個程序的輸出結(jié)果是 _10pumpkin(s)_ 。(10) 有如下遞歸函數(shù):int Fun(int n) if(n<=1) retur

34、n 1;_else return n*Fun(n-1);_ 請補(bǔ)充完整,使得函數(shù) Fun 能夠正確計算形參 n 的階乘。(11) 請在下列程序中的空格處填寫正確的語句:class Sample public: Sample() Sample() void SetData(int data) / 將 Sample 類成員變量 data 設(shè)置成形參的值_Sample:data=data_ / 注意形參與成員同名private: int data;( 12)有如下類定義,請將 Sample 類的拷貝構(gòu)造函數(shù)補(bǔ)充完整。 class Samplepublic:Sample()Sample() if(p)

35、 delete p;) Sample (const Sample& s) _p=new int;*p=s.*p_void SetData(int data) p=new int(data); private:int*p;( 13)重載加法運(yùn)算符 “+”,其函數(shù)名是 _operator +_ 。(14) 有如下程序:#include<iostream> using namespace std; class Wages /"工資 " 類 double base; /基本工資 double bonus; /獎金 double tax; / 稅金 public:

36、Wages(double CBase, double CBonus,double CTax):base(CBase), bonus(CBonus), tax(CTax)double getPay()const; /返回應(yīng)付工資額Wages operator+(Wages w)const; / 重載加法 ;double Wages:getPay()constreturn base+bonus-tax;Wages Wages:operator+(Wages w)const return Wages(base+w.base, bonus+w.bonus, tax+w.tax);int main()W

37、ages wl(2000,500,100),w2(5000,1000,300); cout<<(wl+w2).getPay()<<endl;return 0; (15)有如下程序: #include<iostream> using namespace std; class Pet char name10;public: Pet(char*name)strcpy(this->name, name); const char*getName()const return name; virtual void call()const=0;class Dog: p

38、ublic Pet public:Dog(char*name):Pet(name) void call()constcout<<" 汪汪叫 " ;class Cat:public Pet public:Cat(char*name):Pet(name) void call()constcout<<" 喵喵叫 " ;int main()Pet *pet1=new Dog(" 哈克 "), *pet2=new Cat(" 吉米 "); cout<<pet1->getName();

39、pet1->call(); cout<<end1;cout<<pet2->getName(); pet2->call();學(xué)習(xí) 好資料學(xué)習(xí)-好資料coutvvendl;return 0;程序的輸出結(jié)果是_哈克汪汪叫吉米喵喵叫2008年9月二級 C+筆試試卷參考答案二、填空題(6) void( 7) X2+k-1( 8)2,3( 9) 10pumpkin(s)( 10) else return n*Fun(n-1);(11) Sample:data ( 12) p=new int; *p=s.*p;( 13) operator +( 14) 810020

40、09年9月全國計算機(jī)二級筆試C+一、選擇題(1-10,21-40每題2分,11-20每題1分)(11) 已知函數(shù)FA調(diào)用FB,若要把這兩個函數(shù)定義在同一個文件中,則DA)FA必須定義在 FB之前B) FB必須定義在 FA之前C) 若FA定義在FB之后,則FA的原型必須出現(xiàn)在 FB的定義之前D) 若FB定義在FA之后,則FB的原型必須出現(xiàn)在 FA的定義之前(12) 有如下兩個類定義Cclass AA;class BBAA v1,*v2;BB v3;int *v4;其中有一個成員變量的定義是錯誤的,這個變量是A) v1B) v2C) v3D) v4由于AA和BB都是類的定義,在類定義中無法聲明一個

41、自己的對象,所以在BB的類定義中,企圖聲明一個 BB類的對象,是非法的。(13) 有如下類定義:Bclass XXint xdata;public:XX(int n=0) : xdata (n) ;class YY : public XXint ydata;public:YY(int m=0, int n=0) : XX(m), ydata(n) ;YY類的對象包含的數(shù)據(jù)成員的個數(shù)是A) 1B) 2 C) 3D) 4(14) 下列有關(guān)運(yùn)算符函數(shù)的描述中,錯誤的是CA)運(yùn)算符函數(shù)的名稱總是以operator為前綴B) 運(yùn)算符函數(shù)的參數(shù)可以是對象C) 運(yùn)算符函數(shù)只能定義為類的成員函數(shù)(友元函數(shù))D

42、) 在表達(dá)式中使用重載的運(yùn)算符相當(dāng)于調(diào)用運(yùn)算符重載函數(shù)15) 下列關(guān)于模板形參的描述中,錯誤的是BA )模板形參表必須在關(guān)鍵字 template 之后B) 模板形參表必須用括弧()括起來C) 可以用class修飾模板形參D )可以用 typename 修飾模板形參16) 在下列枚舉符號中,用來表示“相對于當(dāng)前位置 ”文件定位方式的是 AA) ios_base:cur B) ios_base:beg C) ios_base:out D) ios_base:end17) 下列字符串可以用作 C+ 標(biāo)識符的是 DA) 2009varB) gotoC) test - 2009 D) _12318) 下

43、列枚舉類型的定義中,包含枚舉值3 的是 AA) enum test RED, YELLOW, BLUE, BLACK;B) enum test RED, YELLOW=4, BLUE, BLACK;C) enum test RED=-1, YELLOW,BLUE, BLACK;D) enum test RED, YELLOW=6, BLUE, BLACK;19) 有如下程序段: Cint i=1;while (1) i+;if(i = 10) break;if(i%2 = 0) cout << '*' 執(zhí)行這個程序段輸出字符 *的個數(shù)是A) 10 B) 3 C) 4

44、D) 520) 已知數(shù)組 arr 的定義如下: Dint arr5 = 1,2,3,4,5; 下列語句中輸出結(jié)果不是 2 的是A) cout << *arr+1 <<endl; B) cout << *(arr+1)<<endl; C) cout << arr1 <<endl;D) cout << *arr <<endl;21) 計算斐波那契數(shù)列第 n 項(xiàng)的函數(shù)定義如下: BInt fib(int n)if (n = 0) return 1;else if (n = 1) return 2;else

45、 return fib(n-1)+fib(n-2);若執(zhí)行函數(shù)調(diào)用表達(dá)式 fib(2),函數(shù)fib被調(diào)用的次數(shù)是A) 1B) 2 C) 3 D) 422) Sample 是一個類,執(zhí)行下面語句后,調(diào)用 Sample 類的構(gòu)造函數(shù)的次數(shù)是 D Sample a2, *p = new Sample;A) 0B) 1 C) 2 D) 323) 下列關(guān)于虛基類的描述中,錯誤的是CA )使用虛基類可以消除由多繼承產(chǎn)生的二義性B) 構(gòu)造派生類對象時,虛基類的構(gòu)造函數(shù)只被調(diào)用一次C )聲明 “class B : virtual public A 說明類” B 為虛基類D)建立派生類對象時,首先調(diào)用虛基類的構(gòu)

46、造函數(shù)(24)將運(yùn)算符重載為類成員函數(shù)時,其參數(shù)表中沒有參數(shù),說明該運(yùn)算是BA )不合法的運(yùn)算符B) 元運(yùn)算符 C)無操作數(shù)的運(yùn)算符D)二元運(yùn)算符( 25)有如下模板聲明:Dtemplate<typename T1, typename T2> class A;下列聲明中,與上述聲明不等價的是A) template <class T1,class T2> class A; B) template <class T1,typename T2> class A; C ) template <typename T1,class T2> class A;

47、D ) template <typename T1,T2> class A;(26)下列關(guān)于C+流的描述中,錯誤的是 AA) cout>>'A'表達(dá)式可輸出字符 AB) eof()函數(shù)可以檢測是否到達(dá)文件尾C) 對磁盤文件進(jìn)行流操作時,必須包含頭文件fstreamD) 以ios_base:out模式打開的文件不存在時,將自動建立一個新文件27)有如下程序: C#include <iostream>using namespace std;class Toypublic:Toy(char* _n) strcpy (name,_n); count+

48、;Toy() count-; char* GetName() return name; static int getCount() return count; private:char name10;static int count;int Toy:count=0;int mail()Toy t1( “Snoopy”),t2( “Mickey”),t3( “Barbie”);cout<<t1.getCount()<<endl;return 0;運(yùn)行時的輸出結(jié)果是A) 1B) 2 C) 3D)運(yùn)行時出錯( 28)有如下程序 B#include<iostream>

49、;using namespace std;class A public:A(int i):rl(i) void print( ) cout<<'e'<<r1<<'-'void print( ) const cout<<'C'<<r1*r1<<'-'private:int rl; ; int main()A al(2); const A a2(4);al.print(); a2.print(); return 0; 運(yùn)行時的輸出結(jié)果是D) E2-E4-A)運(yùn)行時

50、出錯 B) E2-C16-C) C4-C16-29)有如下程序: D #include<iostream> using namespace std; class Name char name20; public: Name() strcpy(name,""); cout<<'?' Name(char *fname) strcpy(name,fname); cout<'?' ; int main()Name names3=Name“( 張三 ” ),Name( “李四 ” ); Return 0; 運(yùn)行此程序輸出符

51、號?的個數(shù)是A) 0B) 1C) 2D) 3( 30)有如下程序: A #include<iostream> using namespace std; public:AA() cout<<'1' ;class BB: public AAint k;public:BB():k(0) cout<<'2' BB(int n):k(n) cout<<'3'int main()BB b(4), c; return 0; 運(yùn)行時的輸出結(jié)果是A)1312D) 132C) 32D)141( 31)有如下程序: B#

52、include<iostream> using namespace std;class C1 public:C1() cout<<1; ;Class C2: public c1public:c2() cout<<2; ;int main()C2 cb2;C1 *cb1;return 0;運(yùn)行時的輸出結(jié)果是A)121B)21C )211D)12( 32)有如下程序 D#include<iostream> using namespace std;class Publication /出版物類 char name30;public:Publicatio

53、n(char *name=" 未知名稱 ") strcpy(this->name,name);const char * getName()const return name; virtual const char * getType()const return " 未知類型 " ;class Book: public Publication / 書類 public:Book(char *name): Publication(name) virtual const char * getType()const return " 書 "

54、;void showPublication( Publication &p) cout<<p.getType()<<":"<<p.getName()<<endl;int main() Book book(" 精彩人生 ");showPublication(book);更多精品文檔學(xué)習(xí)-好資料return 0;運(yùn)行時的輸出結(jié)果是A)未知類型:未知名稱B)未知類型:精彩人生C) 書:未知名稱D)書:精彩人生(33) 下列關(guān)于運(yùn)算符重載的描述中,錯誤的是CA) :運(yùn)算符不能重載B) 類型轉(zhuǎn)換運(yùn)算符只能作為

55、成員函數(shù)重載C) 將運(yùn)算符作為非成員函數(shù)重載時必須定義為友元D) 重載運(yùn)算符應(yīng)完成下標(biāo)訪問”操作(34) 有如下程序:B#includeviostream>#includeviomanip>Using namespace std;int main()int s=123, 234;coutvvrightvvsetfill('*')vvsetw(6);for(int i=0; iv2; i+) coutvvsivvendl; return 0;運(yùn)行時的輸出結(jié)果是A) 123B) *123C) *123D) *123234234*234234*(35) 有如下類定義Aclass A char *a;public:A():a(O)A(char *aa) /把a(bǔ)a所指字符串拷貝到 a所指向的存儲空間a=;strcpy(a,aa);strcpy(a,aa);A() delete a;橫線處應(yīng)填寫的表達(dá)式是A) nes charstrlen(aa)+1B) charstrlen(aa)+1C) charstrlen(aa)D) new charsizeof(aa)-1二、填空題(每空2分,共30分)(6) 若表達(dá)式(x+(y-z)*(m/n)+3中的變量均為double型,則表達(dá)式值的類型為【6】。(7) 有如下循環(huán)語句:For(int i=50

溫馨提示

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

評論

0/150

提交評論