版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2007年9全國計(jì)算機(jī)等級考試二級筆試試卷一、選擇題(每小題2分,共70分)(11)在函數(shù)中,可以用auto,extem,register,和static這四個(gè)關(guān)鍵字中的一個(gè)來說明變量的存儲(chǔ)類型,如果不說明存儲(chǔ)類型,則默認(rèn)的存儲(chǔ)類型是 A A auto B extem C register D static(12)對于一個(gè)類定義,下列敘述中錯(cuò)誤的是 B A 如果沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù) B 如果沒有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一個(gè)缺省的構(gòu)造函數(shù) C 如果沒有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷貝構(gòu)造函數(shù) D 如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)
2、,編譯器不會(huì)生成任何構(gòu)造函數(shù)(13)如果派生類以public方式繼承基類,則原基類的protected成員和public成員在派生類中的訪問類型分別是 D A public和 public B public和protected C protected 和 public D protected 和 protected(14)下列運(yùn)算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是 D A int operator-(FunNumber) B FunNumber operator-() C FunNumber operator-(int) D int operator (FunNumber)(
3、15)C+中的模板包括 C A 對象模板和函數(shù)模板 B 對象模板和類模板 C 函數(shù)模板和類模板 D 變量模板和對象模板(16)如果調(diào)用C+流進(jìn)行輸入輸出,下面的敘述中正確的是 A A 只能借助于流對象進(jìn)行輸入輸出 B 只能進(jìn)行格式化輸入輸出 C 只能借助于cin和cout進(jìn)行輸入輸出 D 只能使用運(yùn)算符 和 進(jìn)行輸入輸出(17)下列符號中不屬于C+關(guān)鍵字的是 D A friend B namespace C continue D byte(18)下列各組的量申明中,含義相同的一組是 B A unsigned long int 和 long B signed short int 和 short
4、B unsigned short 和 short D short int 和int(19) 必須用一對打括號括起來的程序段是 D A switch 語句中的case標(biāo)號語句 B if 語句的分支 C 循環(huán)語句的循環(huán)體 D 函數(shù)的函數(shù)體(20)語句的int*p=&k定義于指針P,于這個(gè)語句等效的語句序列是 A A int*p;p=&k B int*p;p=k C int*p;*p=&k D int*p;*p=k(21)關(guān)于函數(shù)重載,下列敘述中錯(cuò)誤的是 C A 重載函數(shù)的函數(shù)名必須相同 B 重載函數(shù)必須在函數(shù)個(gè)數(shù)或類型上有所不同 C 重載函數(shù)的返回值類型必須相同 D 重載函數(shù)的函數(shù)體可以有所不同(
5、22)有如下頭文件 Int f1(); Static int f2(); Class MA Public Int f3(); Static int f4();(靜態(tài)函數(shù)) ;在所描述的函數(shù)中,具有隱含的this指針的是 C A f1 B f2 C f3 D f4(23)派生類的成員函數(shù)不能訪問基類的 C A 共有成員和保護(hù)成員 B 共有成員 C 私有成員 D 保護(hù)成員(24)下列關(guān)于運(yùn)算符重載的描述中,正確的是 A A 運(yùn)算符重載為成員函數(shù)時(shí),若參數(shù)表中五參數(shù),重載的是一元運(yùn)算符 B 一元運(yùn)算符只能作為成員函數(shù)重載 C 二元運(yùn)算符重載為非成員函數(shù)時(shí),參數(shù)表中有一個(gè)參數(shù) D C+中可以重載所有的
6、運(yùn)算符(25)下列關(guān)于類模板的模板參數(shù)的敘述中,錯(cuò)誤的是 D A 模板參數(shù)可以作為數(shù)據(jù)成員的類型 B 模板參數(shù)可以作為成員函數(shù)的返回類型 C 模板參數(shù)可以作為成員函數(shù)的參數(shù)類型 D 模板函數(shù)不能作為成員函數(shù)的局部變量的類型(26)已知一程序運(yùn)行后執(zhí)行的第一個(gè)輸出操作是 B Coutsetw(10)setfill(*)1234 則此操作的輸出結(jié)構(gòu)是 A 1234 B *1234 C *1234 D 1234*(27)有如下程序 #include Using namespace std; Class myclass Public: MyClass()+count; MyClass()-count;
7、 Static int getcount()return count;Private Static int count;Int MyClass:count=0;Int main() Myclass obj; Coutobj,getCount(); MyClass*ptr=new MyClass; CoutMyClass:getcount(); Delete ptr; CoutMyClass:gercount(); Return(); 程序的輸出結(jié)果是 AA 121 B 232 C 221 D 122程序的輸出結(jié)果是 C A val=10 const:val=20 B const:val=10
8、const:val=20 C const:val=10 val=20 D val=10 val=20(29)有如下程序 #include Using namespace std; Class part Public; Part(int x=():val(x)coutval; -part()coutval; Private; Int val; ; Class whole Public; Whole(int x,int y,int z=0):p2(x),p1(y),val(z)coutval; Whole()countval; Private; Part p1,p2; Int val; ; Int
9、 maint Whole obj(1,2,3); Resturn(); 程序輸出的結(jié)果是 DA 123321 B 213312 C 213 (30) 有如下程序: #include Using namespace std; Class base Public: Base(int x=0)coutx; ; Class derived : public base Public: Derivedrin(x=y)coutx; Priblic: Base val; ; Int main() Derived d(!); Return(); 程序的輸出結(jié)果是 C A 0 B 1 C 01 D 001(31)
10、若有如下類定義: Classs B Void fun1() Protected; Double varl; Public: Void fun2() ; Class D:public B Protected; Void fun3() ;已知obj是類D的對象,下列語句中不違反成員訪問控制的權(quán)限的是 C A obj.fun1(); B obj.var1; C obj.fun2(); D obj.fun3();(32)有如下程序: #include Using namespace sid; Class base Public; Void output()cout1; Virtual void pri
11、nt() coutB; ; Class derived:public base Public: Void output()cout2; Void print()coutoutput(); Ptr-print(); Delete ptr; Return(); 程序的輸出結(jié)果是 D A 1B B 1D C 2B D 2D33.下列是重載乘法運(yùn)算的函數(shù)原型聲明,其中錯(cuò)誤的是 A A myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myc
12、lass operator*( myclass , myclass);*是二元運(yùn)算符,而且標(biāo)準(zhǔn)庫里面已經(jīng)有double*double的運(yùn)算符定義,返回值為double,所以A的重載是錯(cuò)誤的 34.A (35) 有如下程序: #include using namespace std; class B public: virtual void show()coutb; ; class D:public B public: void show()coutshow(); void fun2(B &ref)ref.show(); void fun3(B b)b.show(); void main() B
13、 b,*p=new D; D d; fun1(p); fun2(b); fun3(d); 程序的輸出結(jié)果是 D A DBD B BBD C DBB D Dbb二、填空題(每空2分,共三十分)(6).在有定義語句:int a=3,b=2,c=1;則表達(dá)式ab?a:b的值是_(7).執(zhí)行下列語句后,變量sum的值是_.Int sum =0;For (int j=I;j=I;j+) For (int j=I;j=I;j+) Sum+;(8).已知有函數(shù)f的定義如下: Int f() Static int -6; s-2; return s 則在某程序中第二次執(zhí)行函數(shù)用語句f();時(shí),函數(shù)f的返回值是
14、_.(9)已知如下程序得輸出結(jié)果時(shí)23,請將劃線處缺失得部分補(bǔ)充完整。 #include Using namespace std; Class myclass Public: Void print() coutcout23; Int main() Myclass*p=new myclass(); _print(); Return(); Class sample Public: Sample() _ (14)請將如下程序補(bǔ)充完整,使得輸出結(jié)果為bbaa #include Using namespace std; Class A Public: _cout”aa”; ; Class B :publ
15、ic A Public: B()cout”bb”; ; Int main () B*p=new B; Delete p; Return(); (15)請將下列棧類stack補(bǔ)充完整 Class stack Private; 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 =99) /
16、如果棧滿,程序結(jié)束 Exit(1); Top+; /棧頂指針增1 _【15】_; Int stack:pop() If (top0) /如果???,程序結(jié)束 Exit(1); Return plishtop-; 參考答案6.2 7.6 8.4 9.(*p) 10.ABBA 11.void Base:fun()12.virtual display()=0; 14.-A() 15.pListtop=item2008年9月計(jì)算機(jī)等級考試一、選擇題(每小題2分,共70分)(11)在下列原型所示的 C+函數(shù)中,按“傳值”方式傳遞參數(shù)的是(A)。A)void f1(int x); B)void f2(int
17、*x); C)void f3(const int*x); D)void f4(int&x);(12)在 C+中,編譯系統(tǒng)自動(dòng)為一個(gè)類生成缺省構(gòu)造函數(shù)的條件是(A)。A)該類沒有定義任何有參構(gòu)造函數(shù) B)該類沒有定義任何無參構(gòu)造函數(shù)C)該類沒有定義任何構(gòu)造函數(shù) D)該類沒有定義任何成員函數(shù)(13)在一個(gè)派生類的成員函數(shù)中,試圖調(diào)用其基類的成員函數(shù)“void f();”,但無法通過編譯。這說明(C)。A)f()是基類的私有成員 C)派生類的繼承方式為私有B)f()是基類的保護(hù)成員 D)派生類的繼承方式為保護(hù)(14)下列關(guān)于運(yùn)算符重載的敘述中,錯(cuò)誤的是(B)。A)有的運(yùn)算符可以作為非成員函數(shù)重載B)
18、所有的運(yùn)算符都可以通過重載而被賦予新的含義C)不得為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值D)有的運(yùn)算符只能作為成員函數(shù)重載(15)下列關(guān)于模板的敘述中,錯(cuò)誤的是(D)。A)調(diào)用模版函數(shù)時(shí),在一定條件下可以省略模板實(shí)參B)可以用 int、double 這樣的類型修飾符來聲明模版參數(shù)C)模板聲明中的關(guān)鍵字 class 都可以用關(guān)鍵字 typename 替代D)模板的形參表中可以有多個(gè)參數(shù)(16)要利用 C+流進(jìn)行文件操作,必須在程序中包含的頭文件是(B)。A)iostreamB)fstream C)strstreamD)iomanip(17)下列字符串中不能作為 C+標(biāo)識符使用的是(B)。A)WHIL
19、E B)user C)_lvar D)9stars(18)下列語句中錯(cuò)誤的是(D)。A)const int a; B)const int a=10; C)const int*point=0; D)const int*point=new int(10);(19)有如下程序:#includeusing namespace std;int main()int sum;for(int i=0; i6; i+=3)sum=i; for(int j = i; j6; j+)sum+=j; coutsumend1; return 0;運(yùn)行時(shí)的輸出結(jié)果是(A)。A)3B)10 C)12 D)15(20)下列語
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, double 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 fu
21、n(int a, double b = 0.0);(22)有如下程序:#includeusing namespace std;class Samplepublic:Sample() Sample()cout*;int main()Sample temp2, *pTemp2; return 0;執(zhí)行這個(gè)程序輸出星號(*)的個(gè)數(shù)為(B)。A)1B)2C)3D)4(23)下列選項(xiàng)中,與實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性無關(guān)的是(A)。A)重載函數(shù)B)虛函數(shù) C)指針D)引用(24)下列運(yùn)算符函數(shù)中,肯定不屬于類 Value 的成員函數(shù)的是(B)。A)Value operator+(Value); B)Value op
22、erator-(Value, Value);C)Value operator*(int); D)Value operator/(Value); (25)下列模板聲明中,有語法錯(cuò)誤的是(D)。A)templateT fun(T x)return x;B)templateT fun(T x, int n)return x*n;C)templateT fun(T *p)return *p;D)templateT classAT n;(26)在語句“coutA;”中,cout 是(B)。A)類名B)對象名 C)函數(shù)名D)C+的關(guān)鍵字(27)有如下程序:#includeusing namespace s
23、td;class MyClass public:MyClass(int i=0)cout1;MyClass(const MyClass&x)cout2;MyClass& operator=(const MyClass&x)cout3; return*this; MyClass()cout4;int main()MyClass obj1(1),obj2(2),obj3(obj1); return 0:運(yùn)行時(shí)的輸出結(jié)果是(A)。A)112444 B) C)121444D)(28)有如下程序:#includeusing namespace std;class MyClass public:MyCla
24、ss(int x):val(x)void Set(int x)val=x; void Print()constcoutval=val=b 中的“=”是作為非成員函數(shù)重載的運(yùn)算符,則可以等效地表示為(A)。A)a.operator=(b) B)b.operatotr=(a) C)operator=(a,b))operator=(b,a)(34)當(dāng)使用 ofstream 流類定義一個(gè)流對象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為(B)。A)ios base:in B)ios_base:binary C)ios_base:in|ios_base:out D)ios_base:out(35)在一個(gè)抽
25、象類中,一定包含有(C)。A)虛函數(shù) B)純虛函數(shù) C)模板函數(shù)D)重載函數(shù)二、填空題(每空2分,共30分) (6)當(dāng)使用關(guān)鍵字_void_作為函數(shù)返回類型時(shí),該函數(shù)不返回任何值。(7)已知數(shù)組 a 中有 n 個(gè)元素,下列語句將數(shù)組 a 中從下標(biāo) x1 開始的 k 個(gè)元素移動(dòng)到從下標(biāo) x2 開始的 k 個(gè)元素中,其中 0=x1x2n,x2+k=x1; i-)a_x2+k-1_=ai; (8)有如下程序:#includeusing namespace std;int fun1(int x)return+x; int fun2(int &x) return+x;int main()int x=1,
26、y=2; y=fun 1(fun2(x);coutx,y; return 0: 程序的輸出結(jié)果是_2,3_。(9)有如下程序:#includeusing namespace std;class pumpkin public:pumpkin()+count;pumpkin()-count;static void total_count()coutcountpumpkin(s)endl; private: static int count; ;int pumpkin:count=0;int main()pumpkin pl10;pumpkin:total_count();return 0; 這個(gè)程
27、序的輸出結(jié)果是_10pumpkin(s)_。(10)有如下遞歸函數(shù):int Fun(int n) if(n=1)return 1;_else return n*Fun(n-1);_請補(bǔ)充完整,使得函數(shù) Fun 能夠正確計(jì)算形參 n 的階乘。(11)請?jiān)谙铝谐绦蛑械目崭裉幪顚懻_的語句:class Samplepublic:Sample() Sample() void SetData(int data) /將 Sample 類成員變量 data 設(shè)置成形參的值_Sample:data=data_ /注意形參與成員同名 private: int data;(12)有如下類定義,請將Sample類的
28、拷貝構(gòu)造函數(shù)補(bǔ)充完整。class Samplepublic:Sample()Sample() if(p) 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 using namespace std;class Wages /工資類double base; /基本工資double bonus; /獎(jiǎng)金double tax; /稅金
29、public: 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
30、main()Wages wl(2000,500,100),w2(5000,1000,300);cout(wl+w2).getPay()endl; return 0;(15)有如下程序:#includeusing namespace std;class Petchar name10;public:Pet(char*name)strcpy(this-name, name);const char*getName()const return name;virtual void call()const=0; class Dog: public Petpublic:Dog(char*name):Pet(n
31、ame)void call()constcout汪汪叫;class Cat:public Petpublic:Cat(char*name):Pet(name)void call()constcout喵喵叫;int main()Pet *pet1=new Dog(哈克), *pet2=new Cat(吉米);coutgetName();pet1-call();coutend1;coutgetName();pet2-call();coutend1;return 0;程序的輸出結(jié)果是_哈克汪汪叫_吉米喵喵叫_2008年9月二級 C+筆試試卷參考答案二、填空題(6)void (7)X2+k-1 (8)
32、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)81002009年9月全國計(jì)算機(jī)二級筆試C+選擇題(1-10,21-40每題2分,11-20每題1分)已知函數(shù)FA調(diào)用FB,若要把這兩個(gè)函數(shù)定義在同一個(gè)文件中,則 DA)FA必須定義在FB之前 B)FB必須定義在FA之前C)若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前D)若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前(12)有如下兩個(gè)類定義 Cclass AA
33、;class BB AA v1,*v2; BB v3; int *v4;其中有一個(gè)成員變量的定義是錯(cuò)誤的,這個(gè)變量是A)v1 B)v2 C)v3 D)v4由于AA和BB都是類的定義,在類定義中無法聲明一個(gè)自己的對象,所以在BB的類定義中,企圖聲明一個(gè)BB類的對象,是非法的。(13)有如下類定義: Bclass XX int xdata;public: XX(int n=0) : xdata (n) ;class YY : public XX int ydata;public: YY(int m=0, int n=0) : XX(m), ydata(n) ;YY類的對象包含的數(shù)據(jù)成員的個(gè)數(shù)是A)
34、1 B)2 C)3 D)4下列有關(guān)運(yùn)算符函數(shù)的描述中,錯(cuò)誤的是 CA)運(yùn)算符函數(shù)的名稱總是以operator為前綴B)運(yùn)算符函數(shù)的參數(shù)可以是對象C)運(yùn)算符函數(shù)只能定義為類的成員函數(shù)(友元函數(shù))D)在表達(dá)式中使用重載的運(yùn)算符相當(dāng)于調(diào)用運(yùn)算符重載函數(shù)(15)下列關(guān)于模板形參的描述中,錯(cuò)誤的是 BA)模板形參表必須在關(guān)鍵字template之后B)模板形參表必須用括弧( )括起來C)可以用class修飾模板形參D)可以用typename修飾模板形參(16)在下列枚舉符號中,用來表示“相對于當(dāng)前位置”文件定位方式的是 AA)ios_base:cur B)ios_base:beg C)ios_base:o
35、ut D)ios_base:end(17)下列字符串可以用作C+標(biāo)識符的是 DA)2009var B)goto C)test - 2009 D)_123(18)下列枚舉類型的定義中,包含枚舉值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)
36、 break; if(i%2 = 0) cout *;執(zhí)行這個(gè)程序段輸出字符*的個(gè)數(shù)是A)10 B)3 C)4 D)5(20)已知數(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)計(jì)算斐波那契數(shù)列第n項(xiàng)的函數(shù)定義如下:BInt fib(int n) if (n = 0) return 1; else if (n = 1) return 2; else return fib(n-1)+fib(
37、n-2);若執(zhí)行函數(shù)調(diào)用表達(dá)式fib(2),函數(shù)fib被調(diào)用的次數(shù)是A)1 B)2 C)3 D)4(22)Sample是一個(gè)類,執(zhí)行下面語句后,調(diào)用Sample類的構(gòu)造函數(shù)的次數(shù)是 DSample a2, *p = new Sample;A)0 B)1 C)2 D)3(23)下列關(guān)于虛基類的描述中,錯(cuò)誤的是 CA)使用虛基類可以消除由多繼承產(chǎn)生的二義性B)構(gòu)造派生類對象時(shí),虛基類的構(gòu)造函數(shù)只被調(diào)用一次C)聲明“class B : virtual public A”說明類B為虛基類D)建立派生類對象時(shí),首先調(diào)用虛基類的構(gòu)造函數(shù)(24)將運(yùn)算符重載為類成員函數(shù)時(shí),其參數(shù)表中沒有參數(shù),說明該運(yùn)算是
38、BA)不合法的運(yùn)算符 B)一元運(yùn)算符 C)無操作數(shù)的運(yùn)算符 D)二元運(yùn)算符(25)有如下模板聲明: Dtemplateclass A;下列聲明中,與上述聲明不等價(jià)的是A)template class A; B)template class A;C)template class A; D)template class A;(26)下列關(guān)于C+流的描述中,錯(cuò)誤的是 AA)coutA表達(dá)式可輸出字符A B)eof()函數(shù)可以檢測是否到達(dá)文件尾C)對磁盤文件進(jìn)行流操作時(shí),必須包含頭文件fstreamD)以ios_base:out模式打開的文件不存在時(shí),將自動(dòng)建立一個(gè)新文件27)有如下程序:C#incl
39、ude using namespace std;class Toypublic: Toy(char* _n) strcpy (name,_n); count+; 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”); coutt1.getCount()endl;return 0
40、;運(yùn)行時(shí)的輸出結(jié)果是A)1 B)2 C)3 D)運(yùn)行時(shí)出錯(cuò)(28)有如下程序 B#includeusing namespace std;class A public: A(int i):rl(i) void print( ) couter1-; void print( ) const coutCr1*r1-;private: int rl;int main() A al(2); const A a2(4); al.print(); a2.print(); return 0;運(yùn)行時(shí)的輸出結(jié)果是A)運(yùn)行時(shí)出錯(cuò) B)E2-C16- C)C4-C16- D)E2-E4-29)有如下程序: D#incl
41、udeusing 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)行此程序輸出符號?的個(gè)數(shù)是A)0 B)1 C)2 D)3(30)有如下程序: A#includeusing namespace std;public:AA() cout1; ;class BB: public AAint k;public
42、:BB():k(0) cout2; BB(int n):k(n) cout3;int main()BB b(4), c;return 0;運(yùn)行時(shí)的輸出結(jié)果是A)1312 D)132 C)32 D)141(31)有如下程序:B#includeusing namespace std;class C1public:C1() cout1; ;Class C2: public c1public:c2() cout2; ;int main()C2 cb2;C1 *cb1;return 0;運(yùn)行時(shí)的輸出結(jié)果是A)121 B)21 C)211 D)12(32)有如下程序 D#includeusing name
43、space std;class Publication /出版物類char name30;public:Publication(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()co
44、nst return 書;void showPublication( Publication &p)coutp.getType():p.getName()endl;int main()Book book(精彩人生);showPublication(book);return 0;運(yùn)行時(shí)的輸出結(jié)果是A)未知類型:未知名稱 B)未知類型:精彩人生C)書:未知名稱 D)書:精彩人生(33)下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是 CA):運(yùn)算符不能重載B)類型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載C)將運(yùn)算符作為非成員函數(shù)重載時(shí)必須定義為友元D)重載運(yùn)算符應(yīng)完成“下標(biāo)訪問”操作(34)有如下程序: B#inclu
45、de#includeUsing namespace std;int main()int s=123, 234;coutrightsetfill(*)setw(6);for(int i=0; i2; i+) coutsi20; i-=2) couti,;運(yùn)行時(shí)循環(huán)體的執(zhí)行次數(shù)是 【7】 。(8)利用表達(dá)式ai可以訪問int型數(shù)組a中下標(biāo)為i的元素。在執(zhí)行了語句int *p=a;后,利用指針p也可訪問該元素,相應(yīng)的表達(dá)式是 【8】 。(9)下面是一個(gè)遞歸函數(shù),其功能是使數(shù)組中的元素反序排列。請將函數(shù)補(bǔ)充完整。void reverse(int *a, int size)if(size2) retur
46、n;int k=a0;a0=asize-1;asize-1=k;reverse(a+1, 【9】 );(10)類Sample的構(gòu)造函數(shù)將形參data賦值給數(shù)據(jù)成員data。請將類定義補(bǔ)充完整。class Samplepublic:Sample(int data=0);Private:Int data;Sample:Sample(int data)【10】 (11)有如下類定義:class Samplepublic:Sample();Sample();Private:Static int date;將靜態(tài)數(shù)據(jù)成員data初始化為0的語句是 【11】 。(12)“圖形”類Shape中定義了純虛函數(shù)
47、CalArea(),“三角形”類Triangle繼承了類Shape,請將Triangle類中的CalArea函數(shù)補(bǔ)充完整。class Shapepublic:virtual int CalArea()=0;class Triangle: public Shapepublic:Triangleint s, int h: side(s),height(h) 【12】 return side*height/2 ; private: int side; int height;(13)有如下程序:#include using namespace std;class GrandChildpublic:Gr
48、andChild() strcpy (name,Unknown); const char * getName()const return name; virtual char * getAddress()const=0;private:char name20;class GrandSon : public GrandChildpublic:GrandSonchar *name Char * getAddress() const return Shanghai;int main()GrandChild *gs=new GrandSon(Feifei);coutgetName()住在getAddr
49、ess()endl;delete gs;return 0;運(yùn)行時(shí)的輸出結(jié)果是 【13】 。(14)如下程序定義了“單詞”類word,類中重載了運(yùn)算符,用于比較“單詞”的大小,返回相應(yīng)的邏輯值。程序的輸出結(jié)果為:After Sorting: Happy Welcome,請將程序補(bǔ)充完整。#include #include using namespace std;class public:Word(string s) : str(s) string getStr() return str; bool operator (Word w) const return (strw.str); friend
50、 ostream& operator (ostream& output, const Word &w) outputw.str; return output; private:string str;Int main()Word w1(Happy),w2(Welcome);CoutAfter sorting: ;if(w1w2) coutw1 w2;else coutw2 w1;return 0;(15)請將下列模板類Data補(bǔ)充完整。template class Datapublic:void put (T v) val=v; T get() /返回?cái)?shù)據(jù)成員val的值,返回類型不加轉(zhuǎn)換 ret
51、urn val; private:T val; 2009年9月二級筆試參考答案double (7)15 (8)*(p+i) (9)size-1 (10)this-data=data; (11)int Sample:data = 0; (12)int CalArea(size,height) (13)Unknown住在Shanghai2012年3月全國計(jì)算機(jī)等級考試二級筆試試卷一、選擇題(每小題2分,共70分) (1)下列敘述中正確的是 A A)循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) B)循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)C)循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu) D)循環(huán)隊(duì)列是非線性結(jié)構(gòu)(2)下列敘述中正確的是 D
52、A)棧是一種先進(jìn)先出的線性表 B)隊(duì)列是一種后進(jìn)先出的線性表C)棧與隊(duì)列都是非線性結(jié)構(gòu) D)以上三種說法都不對(3)一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為 AA)4 B)16 C)10 D)6(4)在下列模式中,能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是 BA)邏輯模式 B)概念模式 C)內(nèi)模式 D)外模式(5)在滿足實(shí)體完整性約束的條件下 A A)一個(gè)關(guān)系中可以沒有候選關(guān)鍵字 B)一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字 C)一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字 D)一個(gè)關(guān)系中應(yīng)該有一個(gè)或多個(gè)候選關(guān)鍵字(6)有三個(gè)關(guān)系R、S和T如下: DRstABCABCABCa12a12b21
53、b21d21c31c31 則由關(guān)系R和S得到關(guān)系T的操作是 A)并 B)差 C)交 D)自然連接(7)軟件生命周期的活動(dòng)中不包括 A A)軟件維護(hù) B)需求分析 C)市場調(diào)研 D)軟件測試(8)下面不屬于需求分析階段任務(wù)的是 D A)確定軟件系統(tǒng)的性能需求 B)確定軟件系統(tǒng)的功能需求 C)制定軟件集成測試計(jì)劃 D)需求規(guī)格說明書評審(9)在黑盒測試方法中,設(shè)計(jì)測試用例的主要根據(jù)是 D A)程序外部功能B)程序數(shù)據(jù)結(jié)構(gòu) C)程序流程圖 D)程序內(nèi)部結(jié)構(gòu)(10)在軟件設(shè)計(jì)中不使用的工具是 A A)系統(tǒng)結(jié)構(gòu)圖B)程序流程圖 C)PAD圖D)數(shù)據(jù)流圖(DFD圖)(11)若一個(gè)函數(shù)的原型為int * X
54、fun1(int x,int& y,char z);,則該函數(shù)的返回值類型為 B A)int * B)int C)int& D)char(12)若AA為一個(gè)類,a為該類的私有整型數(shù)據(jù)成員,getA()為該類的一個(gè)非靜態(tài)公有成員函數(shù),功能是返回a的值。如果x為該類的一個(gè)對象,要在類外訪問x對象中a的值,正確的訪問格式為 A A)AA.getA() B)x.getA() C)x.a D)AA:a(13)當(dāng)派生類繼承一個(gè)基類時(shí),默認(rèn)的繼承方式為 C A)public B)protected C)private D)不確定(14)若需要為XV類重載乘法運(yùn)算符,運(yùn)算結(jié)果為XV類型,在將其聲明為類的成員函
55、數(shù)時(shí),下列原型聲明正確的是 D A)XV operator *(XV,XV) B)XV *(XV) C)operator *(XV) D)XV operator *(XV);(15)在定義函數(shù)模板或類模板時(shí),開頭的保留字是 A A)typename B)template C)class D)typedef(16)若需要向一個(gè)二進(jìn)制文件尾部添加數(shù)據(jù),則該文件的打開方式為 A A)ios_base:app B)ios_base:binary | ios_base:out C)ios_base:out D)ios_base:binary | ios_base:app(17)在開發(fā)一個(gè)c+程序的整個(gè)過
56、程中,第3個(gè)步驟為 C A)鏈接 B)運(yùn)行 C)編輯 D)編譯(18)若有定義int x=4,y=5;,則表達(dá)式y(tǒng)x+?x-:y+的值為 C A)3 B)4 C)5 D)6(19)有如下程序: #include using namespace std; int main() int i,s=0; for(i=1;s20;i+=2)s+=i*i; coutiendl: return 0; 運(yùn)行這個(gè)程序的輸出結(jié)果是 D A)3 B)5 C)7 D)9(20)若字符指針p所指向的字符串為abcdefg,在執(zhí)行語句char *ap=new charstrlen(p)+1;之后,ap指向的字符數(shù)組的元素
57、個(gè)數(shù)為 B A)9 B)8 C)7 D)6(21)有如下程序: #include using namespace std; void fl(int& x)x+; void f2(int x)+x; int main() int x=10,y=12; f1(x); f2(y); coutx+yendl: return 0; 運(yùn)行這個(gè)程序的輸出結(jié)果是 D A)22 B)23 C)24 D)25(22)有如下程序: #include using namespace std; class XA int a; public: static int b; XA(int aa):a(an)b+; int g
58、etA()return a; ; int XA:b=0; int main() XA d1(4),d2(5); coutd1.getA()+d2.getA()+XA:b+d1.bendl; return 0; 運(yùn)行這個(gè)程序的輸出結(jié)果是 B A)9 B)11 C)13 D)15(23)有如下程序: #include using namespace std; class XX int x; public: XX(int xx=0):x(xx) int getX()return x; ; class YY:public XX int y; public: YY(int xx,int yy):x(xx
59、),y(yy) int getV()return getX()+y; ; int main() YY c(3,4); coutc.getV()+c.getX()endl; return 0; 運(yùn)行這個(gè)程序的輸出結(jié)果是 B A)3 B)4 C)7 D)10(24)在類中重載賦值運(yùn)算符時(shí),應(yīng)將其聲明為類的 B A)靜態(tài)函數(shù) B)友元函數(shù) C)成員函數(shù) D)構(gòu)造函數(shù)(25)若有函數(shù)模板mySwap和一些變量定義如下: template void mySwap(T X,T Y); double d1,d2;int i1,i2; 下列對mySwap的調(diào)用中,錯(cuò)誤的是 A A)mySwap(i1,i2)
60、B)mySwap(d1,d2) C)mySwap(i1,d1) D)mySwap(i2,d2)(26)在C+中,打開一個(gè)文件時(shí)與該文件建立聯(lián)系的是 B A)流對象 B)模板 C)函數(shù) D)類(27)已知類IMS中兩個(gè)成員函數(shù)的聲明為void listen() const;與void speak();,另有兩個(gè)對象的定義為IMS obj1;與const IMS obj2;,則下列語句中,產(chǎn)生編譯錯(cuò)誤的是 B A)obj1.listen(); B)obj1.speak(); C)obj2.listen(); D)obj2.speak();(28)有如下程序: #include using name
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年金融借款延期協(xié)議范例
- 2024年私人物流運(yùn)輸協(xié)議格式
- 拆遷居間協(xié)議合同范本
- 2024經(jīng)濟(jì)協(xié)議風(fēng)險(xiǎn)防控措施探討
- 2024高層建筑樓頂租賃協(xié)議樣本
- 經(jīng)濟(jì)師經(jīng)濟(jì)基礎(chǔ)知識預(yù)熱階段月底測試卷含答案
- 租屋附加合同范本
- 農(nóng)業(yè)生產(chǎn)資料連鎖配送中心建設(shè)項(xiàng)目可行性研究報(bào)告
- 生產(chǎn)結(jié)算合同范本
- 美術(shù)加盟合同范本
- 企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)維護(hù)專項(xiàng)方案
- 昆明撫仙湖鰭魚灣棋盤山度假娛樂旅游區(qū)總體規(guī)劃方案樣本
- 數(shù)控機(jī)床概述(完整版)
- 量子最優(yōu)化算法在金融業(yè)的應(yīng)用研究報(bào)告
- 國際法-利比亞-馬耳他大陸架劃界案
- 2024年四川省達(dá)州水務(wù)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 著作權(quán)法概述課件
- 2023-2024學(xué)年人民版六年級下冊勞動(dòng)教學(xué)設(shè)計(jì)(第6課)學(xué)用洗衣機(jī)(教案)
- 人工智能在教育行業(yè)的遠(yuǎn)程學(xué)習(xí)應(yīng)用
- 人教部編版語文七年級上冊第5課《秋天的懷念》表格教案
- 用鹽酸和碳酸鈉測定氯化鈉的實(shí)驗(yàn)
評論
0/150
提交評論