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

下載本文檔

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

文檔簡介

1、全國計算機(jī)等級考試二級筆試試卷公共基礎(chǔ)知識及C+ 語言程序設(shè)計(考試時間90 分鐘,滿分100) 分 )一、選擇題 (1) (35) 每小題2分,共 70分)下列各題 A) 、B)、C)、 D) 四個選項中, 只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1) 下面敘述正確的是A) 算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B) 算法的空間復(fù)雜度是指算法程序中指令 (或語句 )的條數(shù)C) 算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D) 以上三種描述都不對(2) 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是A) 隊列B)線性表C)二叉樹D) 棧(3) 在一棵二叉樹上第 5

2、 層的結(jié)點(diǎn)數(shù)最多是A)8B)16C)32D)15(4) 下面描述中,符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是A) 使用順序、選擇和重復(fù) (循環(huán) )三種基本控制結(jié)構(gòu)表示程序的控制邏輯B) 模塊只有一個入口,可以有多個出口C)注重提高程序的執(zhí)行效率D) 不使用 goto 語句(5) 下面概念中,不屬于面向?qū)ο蠓椒ǖ氖茿) 對象B) 繼承C)類D) 過程調(diào)用(6) 在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD) 作為描述工具的軟件開發(fā)階段是A) 可行性分析B) 需求分析C)詳細(xì)設(shè)計D)A)1程序編碼(7) 在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是A) 數(shù)據(jù)結(jié)構(gòu)設(shè)計B) 給出系統(tǒng)模塊結(jié)構(gòu)C)定義模塊算法D) 定義需求并建立

3、系統(tǒng)模型(8) 數(shù)據(jù)庫系統(tǒng)的核心是A) 數(shù)據(jù)模型C) 軟件工具B) 數(shù)據(jù)庫管理系統(tǒng)D) 數(shù)據(jù)庫(9) 下列敘述中正確的是A) 數(shù)據(jù)庫系統(tǒng)是一個獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B) 數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)C)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題D) 數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致(10) 下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是A) 內(nèi)模式B) 外模式C) 概念模式D) 邏輯模式(11) 關(guān)于面向?qū)ο蟮某绦蛟O(shè)計方法,下列說法正確的是A) 封裝性 指的是將不同類型的相關(guān)數(shù)據(jù)組合在一起,作為一個整體進(jìn)行處理B) 多態(tài)性 指的是對象的狀態(tài)會根據(jù)運(yùn)行時要求

4、自動變化C)基類的私有成員在派生類的對象中不可訪問,也不占內(nèi)存空間D)在面向?qū)ο蟮某绦蛟O(shè)計中,結(jié)構(gòu)化程序設(shè)計方法仍有著重要作用(12) 判斷字符型變量ch 是否為大寫英文字母,應(yīng)使用表達(dá)式A ) ch>='A' & ch<='Z'B ) ch<='A' |ch>='Z'C ) 'A'<=ch<='Z'D ) ch>='A' && ch<='Z'(13) 已知下列語句中的 x 和 y 都是 int

5、型變量,其中錯誤的語句A ) x=y+; B ) x=+y; C ) (x+y)+; D ) +x=y; (14)執(zhí)行語句序列int n;cin >> n;switch(n)case 1:case 2: cout << '1'case 3:case 4: cout << '2' break;default: cout << '3'時,若鍵盤輸入1,則屏幕顯示B)2C)3D)12(15) 下列程序的輸出結(jié)果是#include <iostream>using namespace std;in

6、t main()char a = "Hello, World"char *ptr = a;while (*ptr)if (*ptr >= 'a' && *ptr <= 'z')cout << char(*ptr + 'A' -'a');else cout << *ptr;ptr+;1return 0;A ) HELLO, WORLDB ) Hello, WorldC ) hELLO, wORLDD ) hello, world(16) 已知: int m=10

7、 ;在下列定義引用的語句中, 正確的是A ) int &x=m;B )int y=&m;C )int &z;D ) int &t=&m;(17) 下列函數(shù)原型聲明中錯誤的是A ) void Fun(int x=0, int y=0);B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D ) void Fun(int x=0, int y);(18) 已知程序中已經(jīng)定義了函數(shù)test ,其原型是int test(int,int, int); ,則下列重載形式中正確的是A ) char test(

8、int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);(19) 有以下程序#include<iostream>int i = 0;void fun()static int i = 1;std:cout<<i+<<','std:cout<<i<<','int main()fun();fun();return 0;程序執(zhí)行后的輸出結(jié)果是A)1,2,

9、1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20) 已知函數(shù) f 的原型是:void f(int*a, long &b);變量v1、 v2 的定義是: int v1;long v2;,正確的調(diào)用語句是A) f(v1, &v2);B) f(v1, v2);C) f(&v1, v2);D) f(&v1, &v2);(21) 有以下類定義class MyClasspublic:MyClass()cout<<1;則執(zhí)行語句MyClass a, b2, *p2;后,程序的輸出結(jié)果是A)11B)111C)1111D)11111(

10、22) 關(guān)于友元,下列說法錯誤的是A) 如果類A 是類 B 的友元,那么類B 也是類A 的友元B) 如果函數(shù) fun() 被說明為類 A 的友元,那么在 fun() 中可以訪問類 A 的私有成員C)友元關(guān)系不能被繼承D) 如果類 A 是類 B 的友元,那么類 A 的所有成員函數(shù)都是類B的友元(23) 關(guān)于動態(tài)存儲分配,下列說法正確的是A)new 和 delete 是 C+ 語言中專門用于動態(tài)內(nèi)存分配和釋放的函數(shù)B) 動態(tài)分配的內(nèi)存空間也可以被初始化C)當(dāng)系統(tǒng)內(nèi)存不夠時,會自動回收不再使用的內(nèi)存單元,因此程序中不必用 delete 釋放內(nèi)存空間D) 當(dāng)動態(tài)分配內(nèi)存失敗時,系統(tǒng)會立刻崩潰,因此一定

11、要慎用 new(24) 有以下程序#include<iostream>using namespace std;class MyClasspublic:MyClass(int n)number = n;/ 拷貝構(gòu)造函數(shù)MyClass(MyClass &other) number=other.number;MyClass()private:int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=

12、fun(obj3);return 0;程序執(zhí)行時, MyClass 類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是A)5B)4C)3D)22(25) 在公有派生的情況下,派生類中定義的成員函數(shù)只能訪問原基類的A) 公有成員和私有成員B) 私有成員和保護(hù)成員C)公有成員和保護(hù)成員D)私有成員、保護(hù)成員和公有成員(26) 在 C+ 中用來實現(xiàn)運(yùn)行時多態(tài)性的是A) 重載函數(shù)B) 析構(gòu)函數(shù)C)構(gòu)造函數(shù)D)虛函數(shù)(27) 一個類可以同時繼承多個類,稱為多繼承。下列關(guān)于多繼承和虛基類的表述中,錯誤的是A) 每個派生類的構(gòu)造函數(shù)都要為虛基類構(gòu)造函數(shù)提供實參B) 多繼承時有可能出現(xiàn)對基類成員訪問的二義性問題C) 使用虛基類可

13、以解決二義性問題并實現(xiàn)運(yùn)行時的多態(tài)性D) 建立最派生類對象時,虛基類的構(gòu)造函數(shù)會首先被調(diào)用(28) 在一個類體的下列聲明中,正確的純虛函數(shù)聲明是A) virtual void vf()=0;B) void vf(int)=0;C) virtual int vf(int);D) virtual void vf(int) (29) 在下面的運(yùn)算符重載函數(shù)的原型中,錯誤的是A) V olume operator - (double, double);B) double V olume:operator- (double);C) Volume V olume: :operator - (V olume

14、);D) V olume operator - (Volume, Volume);(30) 下列是模板聲明的開始部分,其中正確的是A) template<T>B) template<class T1,T2>C) template<class T1, class T2>D) template<class T1;class T2>(31) 執(zhí)行語句序列ofstream outfile("DATA.DAT");if(.) cout << "OK" else cout << "FA

15、IL"后,如果文件打開成功顯示 OK ,否則就顯示 F厶n。由此可知,上面 if 語句的處的表達(dá)式應(yīng)是A)outfile.fail()或outfileB)outfile.good()或 !outfileC)outfile.good()或outfileD)outfile.fail()或 !outfile(32)C+ 流中重載的運(yùn)算符>> 是一個()A) 用于輸出操作的非成員函數(shù)B) 用于輸入操作的非成員函數(shù)C) 用于輸出操作的成員函數(shù)D) 用于輸入操作的成員函數(shù)(33) 有以下類定義class Point public:Point(int x = 0, int y = 0)

16、 _.x = x; _.y = y; void Move(int xOff, int yOff) _x += xOff; _.y += yOff; void Print() const cout << '(' << _x << ',' << _y << ')' << endl; private:int _x, _y;下列語句中會發(fā)生編譯錯誤的是A) Point pt; pt.Print();B) const Point pt; pt.Print();C) Point pt;

17、pt.Move(l, 2);D) const Point pt; pt.Move(l, 2);(34) 有以下類定義class MyClassprivate:int id;char gender,char *phone;public:MyClass():id(0),gender('#'),phone(NULL) MyClass(int no, char ge='#', char *ph= NULl.) id=no;gende=ge;phone=ph; ;下列類對象定義語句中錯誤的是A) MyClass myObj;B)C) MyClass myObj(12, &

18、#39;m');D) MyClass myObj(12);(35) 有以下程序#include <iostream>using namespace std;class Complexpublic:Complex(double r =0, double i =0):re(r), im(i) double real() const return re; double imag() const return im;Complex operator +(Complex c) const return Complex(re+c.re, im+c.im); private:3doubl

19、e re, im;int main()Complex a = Complex(l, 1) + Complex(5);cout << a.real() << '+' << a.imag() <<'i' << endl;return 0;程序執(zhí)行后的輸出結(jié)果是A) 6+6iB) 6+1iC) 1+6iD) 1+1i二、填空題(每空 2分,共30 分)請將每一個空的正確答案寫在答題卡1-15 序號的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。(1) 算法的復(fù)雜度主要包括1復(fù)雜度和空間復(fù)雜度

20、。(2) 數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的 2 。(3) 若按功能劃分, 軟件測試的方法通常分為白盒測試方法和 3 測試方法。(4) 如果一個工人可管理多個設(shè)備,而一個設(shè)備只被一個工人管理,則實體 工人 與實體 設(shè)備 之間存在 4 的聯(lián)系。(5) 關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運(yùn)算包括選擇、連接和 5 。(6) 設(shè)有定義語句: int a=12 ;,則表達(dá)式 a*=2+3 的運(yùn)算結(jié)果是 6 。(7) 從實現(xiàn)的角度劃分, C+ 所支持的兩種多態(tài)性分別是7 時的多態(tài)性和運(yùn)行時的多態(tài)性。(8) 將 個函數(shù)聲明為一個類的友元函數(shù)必須使用關(guān)鍵字 8 。(9) 請按下面注釋的提示,

21、 將類 B 的構(gòu)造函數(shù)定義補(bǔ)充完整。class Aint a;public:A(int aa=0) a=aa; ;class B: public A int b;A c;public:/用 aa 初始化基類 A ,用 aa+1 初始化類對象成員cB(int aa): 9 b=aa+2; ;(10) 下列程序的輸出結(jié)果是10。#include <iostream>using namespace std;int main()int i = 5;int &r = i; r = 7;cout << i << endl;return 0;(11) 下列程序的輸

22、出結(jié)果是11。#include <iostream>using namespace std;class Test public:Test() cnt+; Test() cnt-; static int Count() return cnt;private:static int cnt;int Test:cnt = 0;int main()cout << Test:Count0 <<' 'Test tl, t2;Test* pT3 = new Test;Test* pT4 = new Test;cout << Test:Count0

23、 <<' 'delete pT4;delete pT3;cout << Test:Count() << endl;return 0;(12) 下面是用來計算 n 的階乘的遞歸函數(shù),請將該函數(shù)的定義補(bǔ)充完整。 (注:階乘的定義是 n!=n*(n-1)*.*2*1)unsigned fact(unsigned n)if ( n<= 1)return 1;return12;(13) 下列程序的輸出結(jié)果是13。#include <iostream>using namespace std;template<tytename T&

24、gt;T fun(T a, T b) return (a<=b)?:b;4int main()cout << fun(3, 6) << ',' << fun (3.14F, 6.28F) <<endl;return 0;(14) 與 成 員 訪 問 表 達(dá) 式 p->name 等 價 的 表 達(dá) 式 是14 。(15) 下列程序的輸出結(jié)果是15 。#include <iostream>using namespace std;class base public:int n;base(int x) n = x;

25、virtual void set(int m) n = m; cout << n <<' 'class deriveA:public base public:deriveA(int x):base(x) void set(mt m) n += m; cout << n <<' 'class deriveB:public base public:deriveB(int x):base(x) void set(int m) n +=m; cout <<n << ' 'int ma

26、in()deriveA dl(1);deriveB d2(3);base *pbase;pbase = &dl;pbase->aet(1);pbase = &d2;pbase->set(2);return 0;2004 年9月全國計算機(jī)等級考試二級筆試試卷公共基礎(chǔ)知識及 C+ 語言程序設(shè)計答案及評分標(biāo)準(zhǔn)選擇題 (1)(35) 每小題 2分,共 70分)(1) C(2)C(3) B(4)A(5) D(6) B(7) D(8) B(9) C(10)A(11)D(12)D(13)C(14)D(15)A(16)A(17)D(18)B(19)D(20)C(21)B(22)A(

27、23)B(24)B(25)C(26)D(27)C(28)A(29)A(30)C(31)C(32)B(33)D(34)B(35)B二、填空題 (每空 2 分,共30分)(1)1時間(2)2存儲結(jié)構(gòu)或物理結(jié)構(gòu)或 物理存儲結(jié)構(gòu)(3)3黑盒或黑箱(4)4一對多或1對多或I:M或I :N(其中M、N大小寫均可 )(5)5投影(6)660(7)7編譯(8)8 friend(9)9A(aa),c(aa+1)或c(aa+1) , A(aa)(10)107(11)11042(12)12n*fact(n-1)(13)133,3.14(14)14(*p).name(15)15252010 年 3月計算機(jī)等級考試二級

28、C+ 筆試試題一、選擇題(每小題 2分,共70 分)下列各題 A) 、 B) 、 C)、D) 四個選項中, 只有一個選項是正確的。請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。(1) 下列敘述中正確的是A) 對長度為 n 的有序鏈表進(jìn)行查找, 最壞情況下需要的比較次數(shù)為 nB) 對長度為 n 的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C) 對長度為 n 的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為(log2n)D) 對長度為 n 的有序鏈表進(jìn)行對分查找, 最壞情況下需要的比較次數(shù)為 (n log2n)(2) 算法的時間復(fù)雜度是指A) 算法的執(zhí)行時間B) 算法所處

29、理的數(shù)據(jù)量C) 算法程序中的語句或指令條數(shù)D) 算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)(3) 軟件按功能可以分為: 應(yīng)用軟件、 系統(tǒng)軟件和支撐軟件 (或工具軟件 )。下面屬于系統(tǒng)軟件的是A) 編輯軟件B) 操作系統(tǒng)C) 教務(wù)管理系統(tǒng)D) 瀏覽器5(4) 軟件 (程序 )調(diào)試的任務(wù)是A) 診斷和改正程序中的錯誤B) 盡可能多地發(fā)現(xiàn)程序中的錯誤C) 發(fā)現(xiàn)并改正程序中的所有錯誤D) 確定程序中錯誤的性質(zhì)(5) 數(shù)據(jù)流程圖 (DFD 圖 )是A) 軟件概要設(shè)計的工具B) 軟件詳細(xì)設(shè)計的工具C) 結(jié)構(gòu)化方法的需求分析工具D) 面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?6) 軟件生命周期可分為定義階段, 開發(fā)階段和維護(hù)階

30、段。詳細(xì)設(shè)計屬于A) 定義階段B) 開發(fā)階段C) 維護(hù)階段D) 上述三個階段(7) 數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是A) 數(shù)據(jù)定義語言B) 數(shù)據(jù)管理語言C) 數(shù)據(jù)操縱語言D) 數(shù)據(jù)控制語言(8) 在學(xué)生管理的關(guān)系數(shù)據(jù)庫中, 存取一個學(xué)生信息的數(shù)據(jù)單位是A) 文件B) 數(shù)據(jù)庫C) 字段D) 記錄(9) 數(shù)據(jù)庫設(shè)計中, 用 E-R 圖來描述信息結(jié)構(gòu)但不涉及信息在計算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計的A) 需求分析階段B) 邏輯設(shè)計階段C) 概念設(shè)計階段D) 物理設(shè)計階段(10) 有兩個關(guān)系R 和 T 如下:則由關(guān)系R 得到關(guān)系T 的操作是A) 選擇B) 投影C) 交D) 并(11) 下列關(guān)于函

31、數(shù)的描述中,錯誤的是A) 函數(shù)可以沒有返回值B) 函數(shù)可以沒有參數(shù)C) 函數(shù)可以是一個類的成員D) 函數(shù)不能被定義為模板(12) 若 MyClass 是一個類名,且有如下語句序列MyClass c1,*c2;MyClass *c3=new MyClass;MyClass &c4=c1;上面的語句序列所定義的類對象的個數(shù)是 A)1B)2C)3D)4(13) 下列關(guān)于繼承方式的描述中,錯誤的是A) 如果不顯式地指定繼承方式,缺省的繼承方式是私有 (private)B) 采用公有繼承方式時,基類中的公有成員在派生類中仍然是公有成員C) 采用保護(hù)繼承方式時,基類中的保護(hù)成員在派生類中仍然是保護(hù)

32、成員D) 采用私有繼承方式時, 基類中的私有成員在派生類中仍然是私有成員(14) 將前綴運(yùn)算符 -重載為非成員函數(shù), 下列原型中,能正確用于類中說明的是A)Decr& operator -(int);B)Decr operator -( Decr&,int);C)friend Decr& operator -(Decr&);D)frlend Decr operator -(Decr&,int);(15) 若 MyTemp 是一個只有一個虛擬類型參數(shù)的類模板,且有如下語句序列MyTempp2;MyTempp32;編譯系統(tǒng)在處理上面的語句序列時,所生成的模板

33、MyTemp 的實例的個數(shù)是A)1B)2C)3D)0(16) 在 C+ 中, cin 是個A) 類B) 對象C) 模板D) 函數(shù)(17) 在下列字符中,不允許作為C+ 標(biāo)識符的是6A)bB)BC)_D)2(18) 下列敘述中,錯誤的是A)false 是一個邏輯型常量B)"b" 是一個字符型常量C)365 是一個int 常量D)3.1415926是一個double 常量(19) 若 x 和 y 是程序中的兩個整型變量,則下列if語句中正確的是A)if(x=0) y=1; else y=2;B)if(x=0) then y=1 else y=2;C)if(x=0) y=1 el

34、se y=2;D)if x=0 y=1; else y=2;(20) 要定義整型數(shù)組x,使之包括初值為O 的三個元素,下列語句中錯誤的是A)int x3=0,0,0;B)int x=0;C)static int x3=0;D)int x=0,0,0;(21) 關(guān)于函數(shù)中的 < 返回類型 >,下列表述中錯誤的是A)< 返回類型 >中有可能包含關(guān)鍵字intB)< 返回類型 >中有可能包含自定義標(biāo)識符 C)< 返回類型 > 中有可能包含字符 *D)< 返回類型 > 中可能包含 (22) 要定義一個引用變量p,使之引用類MyClass的一個對

35、象,正確的定義語句是A)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass &p=new MyClass;D) MyClass a ,&p=a; (23) 有如下兩個類定義class XXprivate:double x1;protected:double x2;public:double x3;class YY:protected XXprivate:double y1;protected:double y2;public:double y3;在類 YY 中保護(hù)成員變量的個數(shù)是A)1B)2C)3D)4(24) 下列關(guān)于運(yùn)算符

36、重載的描述中,錯誤的是A) 可以通過運(yùn)算符重載在C+ 中創(chuàng)建新的運(yùn)算符B) 賦值運(yùn)算符只能重載為成員函數(shù)C) 運(yùn)算符函數(shù)重載為類的成員函數(shù)時,第一操作數(shù)是該類對象D) 重載類型轉(zhuǎn)換運(yùn)算符時不需要聲明返回類型(25) 下列關(guān)于類模板的描述中,錯誤的是A) 類模板的成員函數(shù)都是模板函數(shù)B) 可以為類模板參數(shù)設(shè)置默認(rèn)值C) 類模板描述了一組類D) 類模板中只允許有一個類型參數(shù)(26) 下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4 個函數(shù),其中具有隱含this 指針的是int fun1(

37、);class Testpublic:int fun2();friend int fun3();static int fun4();A)fun1B)fun2C)fun3D)fun4(28) 有如下程序#includeusing namespace std;class Testpublic:Test() Test(const Test &t) cout<<1;Test fun(Test &u) Test t=u; return t;7int main()Test x,y; x=fun(y); return 0; 運(yùn)行這個程序的輸出結(jié)果是A) 無輸出B)1C)11D)1

38、11(29) 有如下程序#includeusing namespace std;class Apublic:A(int i=0):r1(i) void print() cout<<'E <<R1<<'-'<p> void print() const cout<<'C'<<R1*R1<<'-'< p> void print(int x) cout <<'P'<<R1*R1*R1<<'-&

39、#39;< p> private:int r1;int main() A a1;const A a2(4);a1.print(2);a1.print();return 0;運(yùn)行時的輸出結(jié)果是A)P8-E4B)P8-C16-C)P0-E4-D)P0-C16-(30) 下列代碼聲明了3 個類class Person;class Student:public Person;class Undergraduate:Student;下列關(guān)于這些類之間關(guān)系的描述中,錯誤的是A) 類 Person 是類 Undergraduate 的基類B) 類 Undergraduate 從類 Student

40、 公有繼承C) 類 Student 是類 Person 的派生類D) 類 Undergraduate 是類 Person 的派生類(31) 有如下程序#includeusing namespace std;Class Basepublic:Base(int x=0):valB(x) cout<<V ALB;< p>Base() cout<<V ALB;< p>private:int valB;class Derived:public Basepublic:Derived(intx=0,inty=0):Base(x),valD(y)cout<

41、<V ALD;< p>Derived() cout<<V ALD;< p>private:int valD;int main()Derived obj12(2,3);retuen 0;運(yùn)行時的輸出結(jié)果是A)2332B)2323C)3232D)3223(32) 下面是類 Shape 的定義:class Shapepublic:virtual void Draw()=0;下列關(guān)于Shape 類的描述中,正確的是A) 類 Shape 是虛基類B) 類 Shape 是抽象類C) 類 Shape 中的 Draw 函數(shù)聲明有誤D) 語句 Shape s; 能夠建立

42、 Shape 的一個對象 s (33) 將運(yùn)算符 +重載為非成員函數(shù), 下列原型聲明中,錯誤的是A)MyClock operator + (MyClock,long);B)MyClock operator + (MyClock,MyClock);C)MyClock operator + (long,long);D)MyClock operator + (long,MyClock);(34) 打開文件時可單獨(dú)或組合使用下列文件打開模式 ios_base:app ios_base:binary ios_base:in ios_base:out若要以二進(jìn)制讀方式打開一個文件,需使用的文件打開模式為A

43、) B) C) 8D) (35) 有如下程序:#includeusing namespace std;Class Bpublic:B(int xx):x(xx) +cout; x+=10; virtual void show() constcout<<COUNT<<'_'<<X<<ENDL;<p>protected:static int count;private:int x;class D:public Bpublic:D(int xx,int yy):B(xx),y(yy) +count; y+=100;virtu

44、al void show() constcout<<COUNT<<'_'<<Y<<ENDL;< p>private:int y;int B:count=0;int main()B *ptr=new D(10,20);ptr->show();delete ptr;return 0;運(yùn)行時的輸出結(jié)果是A)1_120B)2_120C)1_20D)2_20二、填空題(每空 2分,共30 分)請將每一個空的正確答案寫在答題卡【 l 】 【 15 】序號的橫線上,答在試卷上不得分。(1) 一個隊列的初始狀態(tài)為空?,F(xiàn)將元素A,

45、B,C,D,E,F,5,4,3,2,1 依次入隊,然后再依次退隊,則元素退隊的順序為 【 1】 。(2) 設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45( 指向隊頭元素的前一位置),尾指針rear=10( 指向隊尾元素),則該循環(huán)隊列中共有【 2】 個元素。(3) 設(shè)二叉樹如下:對該二叉樹進(jìn)行后序遍歷的結(jié)果為【3】 。(4) 軟件是 【 4】 、數(shù)據(jù)和文檔的集合。(5) 有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號,姓名,班級,年齡),課程的關(guān)系模式為:課程 (課號,課程名,學(xué)時),其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課(學(xué)號,【5】 ,成績)。(6

46、) 若 x 和 y 是兩個整形變量,在執(zhí)行了語句序列x=5; y=6; y+=x-;后, x+y 的值為【 6】 。(7) 在執(zhí)行語句序列int i=0; do i+; while(i*i<10);時, do 后面的循環(huán)體語句i+ 被執(zhí)行的次數(shù)為【 7】 。(8) 有如下的函數(shù)定義:int Xfun(int *a, int n)int x=*a;for(int *pa=a+1; pa<>if(*pa>x) x=*pa;return x;若執(zhí)行了語句int x5=23,46,78,55,16;后,通過表達(dá)式 Xfun(x,5) 調(diào)用該函數(shù), 則得到的返回值為【8】。(9)

47、 有如下的函數(shù)定義:int Xfun(int x)int y=x;int x=10; y+=x;return x+y;通過表達(dá)式Xfun(5) 調(diào)用該函數(shù),則得到的返回值為【 9 】 。(10) 假定 Xcs 是一個類,該類中一個成員函數(shù)的原型為 Xcs *abc(); ,則在類外定義時對應(yīng)的函數(shù)頭為【 10】 。9(11) 請將下面的類Date 的定義補(bǔ)充完整,使得由語句Date FirstDay;定義的對象FirstDay 的值為2010 年 1 月 1 日。class Datepublic:Date( 【 11 】 ):year(y),month(m),day(d) private:in

48、t year,month,day; /依次表示年、月、日;(12) 請將下面的程序補(bǔ)充完整, 使得程序輸出 飄是張娜的書 。#includeusing namespace std;class Bookpublic:Book(char *str) strcpy(title,str);【 12】 void PrintInfo() cout<<TITLE<<ENDL;< p> protected:char title50;class MyBook:public Bookpublic:MyBook(char *s1,char *s2="張娜 "):【 13】 strcpy(owner,s2);virtual void PrintInfo()

溫馨提示

  • 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

提交評論