




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷公共基礎(chǔ)知識(shí)及C+畸言程序設(shè)計(jì)(考試時(shí)間90分鐘,滿分100)分)一、選擇題(1)(35)每小題2分,共70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的, 請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下面敘述正確的是A)算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)B)算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)C)算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止D)以上三種描述都不對(duì)(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是A)隊(duì)列 B) 線性表C)二叉樹D) 棧(3)在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是A)8B)16C)32D)
2、15(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是A)使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制 邏輯B)模塊只有一個(gè)入口,可以有多個(gè)出口C)注重提高程序的執(zhí)行效率D)不使用goto語句(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖茿)對(duì)象 B) 繼承 C) 類D)過程調(diào)用(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階 段是A)可行性分析B)需求分析C)詳細(xì)設(shè)計(jì)D)程序編碼(7)在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是A)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)B)給出系統(tǒng)模塊結(jié)構(gòu)C)定義模塊算法D)定義需求并建立系統(tǒng)模型(8)數(shù)據(jù)庫(kù)系統(tǒng)的核心是A)數(shù)據(jù)模型C)軟件工具B)數(shù)據(jù)庫(kù)管理系統(tǒng)D)
3、數(shù)據(jù)庫(kù)(9)下列敘述中正確的是A)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)C)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題D)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致(10)下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是A)模式 B)外模式 C)概念模式D)邏輯模式(11)關(guān)于面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,下列說法正確的是A) “封裝性”指的是將不同類型的相關(guān)數(shù)據(jù)組合在一起,作為一個(gè) 整體進(jìn)行處理B) “多態(tài)性”指的是對(duì)象的狀態(tài)會(huì)根據(jù)運(yùn)行時(shí)要求自動(dòng)變化C)基類的私有成員在派生類的對(duì)象中不可訪問,也不占存空間D)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,結(jié)構(gòu)化程
4、序設(shè)計(jì)方法仍有著重要作用(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型變量,其中錯(cuò)誤的語句A ) x=y+; B ) x=+y; C ) (x+y)+; D ) +x=y;(14)執(zhí)行
5、語句序列int n;cin >> n;switch(n) case 1:case 2: cout << '1'case 3:case 4: cout << '2' break;default: cout << '3'時(shí),若鍵盤輸入1,則屏幕顯示A)1B)2C)3D)12(15)下列程序的輸出結(jié)果是#include <iostream>using namespace std;int main()char a = "Hello, World"char *ptr = a;w
6、hile (*ptr)if (*ptr >= 'a' && *ptr <= 'z')cout << char(*ptr + 'A' -'a');else cout << *ptr;ptr+;return 0;A ) HELLO, WORLDB ) Hello, WorldC ) hELLO, wORLDD ) hello, world(16)已知:int m=10 ;在下列定義引用的語句中,正確的是A ) int &x=m; B )int y=&m;C )int
7、&z; D ) int &t=&m;(17)下列函數(shù)原型聲明中錯(cuò)誤的是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(int,int,int);B ) double test(int,int,double);C ) int test(in
8、t,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<vi+vv','std二coutvvivv','int main()fun(); fun();return 0;程序執(zhí)行后的輸出結(jié)果是A)1,2,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)
9、; 變量 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(22)關(guān)于友元,下列說法錯(cuò)誤的是A)如果類A是類B的友元,那么類B也是類A的友元B)如果函數(shù)fun()被說明為類A的友元,那么在fun()中可以訪問類A的私
10、有成員C)友元關(guān)系不能被繼承D)如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元(23)關(guān)于動(dòng)態(tài)存儲(chǔ)分配,下列說法正確的是A)new和delete是C+S言中專門用于動(dòng)態(tài)存分配和釋放的函數(shù)B)動(dòng)態(tài)分配的存空間也可以被初始化C)當(dāng)系統(tǒng)存不夠時(shí),會(huì)自動(dòng)回收不再使用的存單元,因此程序中不 必用delete釋放存空間D)當(dāng)動(dòng)態(tài)分配存失敗時(shí),系統(tǒng)會(huì)立刻崩潰,因此一定要慎用new(24)有以下程序#include<iostream>using namespace std;class MyClasspublic:MyClass(int n)number = n;/拷貝構(gòu)造函數(shù)MyCla
11、ss(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=fun(obj3);return 0;程序執(zhí)行時(shí),MyClass類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是A)5 B)4 C)3 D)2(25)在公有派生的情況下,派生類中定義的成員函數(shù)只能訪問原基類 的A)公有成員和私有成員B)私有成員和保護(hù)成員C
12、)公有成員和保護(hù)成員D)私有成員、保護(hù)成員和公有成員(26)在C+4用來實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的是A)重載函數(shù)B)析構(gòu)函數(shù)C)構(gòu)造函數(shù)D)虛函數(shù)(27) 一個(gè)類可以同時(shí)繼承多個(gè)類,稱為多繼承。下列關(guān)于多繼承和虛基類的表述中,錯(cuò)誤的是A)每個(gè)派生類的構(gòu)造函數(shù)都要為虛基類構(gòu)造函數(shù)提供實(shí)參B)多繼承時(shí)有可能出現(xiàn)對(duì)基類成員訪問的二義性問題C)使用虛基類可以解決二義性問題并實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性D)建立最派生類對(duì)象時(shí),虛基類的構(gòu)造函數(shù)會(huì)首先被調(diào)用(28)在一個(gè)類體的下列聲明中,正確的純虛函數(shù)聲明是A) virtual void vf()=0; B) void vf(int)=0;C) virtual int vf
13、(int); D)virtual void vf(int) (29)在下面的運(yùn)算符重載函數(shù)的原型中,錯(cuò)誤的是A) Volume operator - (double, double);B) double Volume:operator- (double);C) Volume Volume: :operator - (Volume);D) Volume operator - (Volume, Volume);(30)下列是模板聲明的開始部分,其中正確的是A) template<T>B) template<class T1,T2>C) template<class T
14、1, class T2>D) template<class T1;class T2>(31)執(zhí)行語句序列ofstream outfile("DATA.DAT");if()cout << "OK" else cout << "FAIL"后,如果文件打開成功顯示“ OK ,否則就顯示“F An?!?。由此 可知,上面if語句的.處的表達(dá)式應(yīng)是A )outfile.fail()或 outfileB )outfile.good()或!outfileC )outfile.good()或 outfileD
15、)outfile.fail()或!outfile(32)C+流中重載的運(yùn)算符 逐一個(gè)()A)用于輸出操作的非成員函數(shù)B)用于輸入操作的非成員函數(shù)C)用于輸出操作的成員函數(shù)D)用于輸入操作的成員函數(shù)(33)有以下類定義class Point public:Point(int x = 0, int y = 0) _.x = x; _.y = y; void Move(int xOff, int yOff) _x += xOff; _.y += yOff; void Print() const cout << '(' << _x << ',
16、' << _y << ')' << endl; private:int _x, _y;;下列語句中會(huì)發(fā)生編譯錯(cuò)誤的是A) Point pt; pt.Print();B) const Point pt; pt.Print();C) Point pt; 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('#
17、'),phone(NULL) MyClass(int no, char ge='#', char *ph= NULl.) id=no;gende=ge;phone=ph; ;下列類對(duì)象定義語句中錯(cuò)誤的是A) MyClass myObj;B) MyClass myObj(11, "");C) MyClass myObj(12,'m');D) MyClass myObj(12);(35)有以下程序#include <iostream>using namespace std;class Complexpublic:Complex
18、(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:double re, im;int main()Complex a = Complex。1) + Complex(5);cout << a.real() << '+' << a.imag()
19、<<'i' << endl;return 0;程序執(zhí)行后的輸出結(jié)果是A) 6+6i B) 6+1i C) 1+6i D) 1+1i二、填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡1-15序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。(1)算法的復(fù)雜度主要包括1復(fù)雜度和空間復(fù)雜度。(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的2J。(3)若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和3測(cè)試方法。(4)如果一個(gè)工人可管理多個(gè)設(shè)備,而一個(gè)設(shè)備只被一個(gè)工人管理,則實(shí)體“工人”與實(shí)體“設(shè)備”之間存在 4J的聯(lián)
20、系。(5)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括選擇、連接和5J_。(6)設(shè)有定義語句:int a=12 則表達(dá)式a*=2+3的運(yùn)算結(jié)果是I6J_。(7)從實(shí)現(xiàn)的角度劃分,C+慚支持的兩種多態(tài)性分別是7時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。(8)將一個(gè)函數(shù)聲明為一個(gè)類的友元函數(shù)必須使用關(guān)鍵字 8_。(9)請(qǐng)按下面注釋的提示,將類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初始化類對(duì)象成員cB(int aa): 9 b=aa+2; ;(10)
21、下列程序的輸出結(jié)果是10。#include <iostream>using namespace std;int main()int i = 5;int &r = i; r = 7;cout << i << endl;return 0;(11)下列程序的輸出結(jié)果是11。#include <iostream>using namespace std;class Test public:Test() cnt+; Test() cnt-; static int Count() return cnt;private:static int cnt;in
22、t Test:cnt = 0;int main()cout << Test:Count0 <<''Test tl, t2;Test* pT3 = new Test;Test* pT4 = new Test;cout << Test:Count0 <<''delete pT4;delete pT3;cout << Test:Count() << endl;return 0;(12)下面是用來計(jì)算n的階乘的遞歸函數(shù),請(qǐng)將該函數(shù)的定義補(bǔ)充 完整。(注:階乘的定義是n!=n*(n-1)*2*1)un
23、signed fact(unsigned n)if ( n<= 1)return 1;return 12 ;(13)下列程序的輸出結(jié)果是13。#include <iostream>using namespace std;template<tytename T>T fun(T a, T b) return (a<=b)?:b;int main()cout << fun(3, 6) << ','<< fun (3.14F, 6.28F) << endl;return 0;(14)與成員訪問表達(dá)式p-
24、>name等價(jià)的表達(dá)式是14。(15)下列程序的輸出結(jié)果是15。#include <iostream>using namespace std;class base public:int n;base(int x) n = x;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 <<''
25、class deriveB:public base public:deriveB(int x):base(x) void set(int m) n +=m; cout <<n << ' ' ;int main()deriveA dl(1);deriveB d2(3); base *pbase; pbase = &dl;pbase->aet(1); pbase = &d2;pbase->set(2); return 0;2004年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷公共基礎(chǔ)知識(shí)及C+畸言程序設(shè)計(jì)答案及評(píng)分標(biāo)準(zhǔn)一、 選擇題(1) (
26、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(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時(shí)間(2)2存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)或物理存儲(chǔ)結(jié)構(gòu)3黑盒或黑箱4 一對(duì)多或1對(duì)多或I : M或I : N(其中M N大小寫均可)5投影(6)6 607編譯(8)8 frie
27、nd(9)9 A(aa),c(aa+1) 或 c(aa+1) , A(aa)(10)10 7(11)11(12)12 n*fact(n-1)(13)13 3,3.14(14)14 (*p).name(15)15 252010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C+筆試試題一、選擇題(每小題2分,共70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)填涂在 答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是A)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為nB)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)C)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)
28、行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)D)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n log2n)(2)算法的時(shí)間復(fù)雜度是指A)算法的執(zhí)行時(shí)間B)算法所處理的數(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)瀏覽器(4)軟彳(程序)調(diào)試的任務(wù)是A)診斷和改正程序中的錯(cuò)誤B)盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤C)發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D)確定程序中錯(cuò)誤的性質(zhì)(5)數(shù)據(jù)流程圖(DFD圖)是A)軟件概要設(shè)計(jì)的工
29、具B)軟件詳細(xì)設(shè)計(jì)的工具C)結(jié)構(gòu)化方法的需求分析工具D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ撸?)軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于A)定義階段B)開發(fā)階段C)維護(hù)階段D)上述三個(gè)階段(7)數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是A)數(shù)據(jù)定義語言B)數(shù)據(jù)管理語言C)數(shù)據(jù)操縱語言D)數(shù)據(jù)控制語言(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是A)文件B)數(shù)據(jù)庫(kù)C)字段D)記錄(9)數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的A)需求分析階段B)邏輯設(shè)計(jì)階段C)概念設(shè)計(jì)階段D)物理設(shè)計(jì)階段(10)有兩個(gè)關(guān)系R和T如下:3 r3_
30、jIT* /w - 1 一汽則由關(guān)系R得到關(guān)系T的操作是A)選擇B)投影C)交D)并(11)下列關(guān)于函數(shù)的描述中,錯(cuò)誤的是A)函數(shù)可以沒有返回值B)函數(shù)可以沒有參數(shù)C)函數(shù)可以是一個(gè)類的成員D)函數(shù)不能被定義為模板(12)若MyClass是一個(gè)類名,且有如下語句序列MyClass c1,*c2;MyClass *c3=new MyClass;MyClass &c4=c1;上面的語句序列所定義的類對(duì)象的個(gè)數(shù)是A)1B)2C)3D)4(13)下列關(guān)于繼承方式的描述中,錯(cuò)誤的是A)如果不顯式地指定繼承方式,缺省的繼承方式是私有(private)B)采用公有繼承方式時(shí),基類中的公有成員在派生類
31、中仍然是公有成員C)采用保護(hù)繼承方式時(shí),基類中的保護(hù)成員在派生類中仍然是保護(hù)成員D)采用私有繼承方式時(shí),基類中的私有成員在派生類中仍然是私有成員(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)若MyTem曜一個(gè)只有一個(gè)虛擬類型參數(shù)的類模板,且有如下語句序列MyTempp2;M
32、yTempp32;編譯系統(tǒng)在處理上面的語句序列時(shí),所生成的模板MyTemp勺實(shí)例的個(gè)數(shù)是A)1B)2C)3D)0(16)在C+中,cin是個(gè)A)類B)對(duì)象C)模板D)函數(shù)(17)在下列字符中,不允許作為C+而識(shí)符的是A)bB)BC)_D)2(18)下列敘述中,錯(cuò)誤的是A)false是一個(gè)邏輯型常量B)"b"是一個(gè)字符型常量C)365 是一一個(gè)int常量D)3.1415926 是一個(gè) double 常量(19)若x和y是程序中的兩個(gè)整型變量,則下列 if語句中正確的是A)if(x=0) y=1; else y=2;B)if(x=0) then y=1 else y=2;C)i
33、f(x=0) y=1 else y=2;D)if x=0 y=1; else y=2;(20)要定義整型數(shù)組x,使之包括初值為 O的三個(gè)元素,下列語句中錯(cuò)誤的是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ù)中的返回類型 ,下列表述中錯(cuò)誤的是A)返回類型 中有可能包含關(guān)鍵字intB)返回類型 中有可能包含自定義標(biāo)識(shí)符C)返回類型 中有可能包含字符*D)返回類型 中可能包含口(22)要定義一個(gè)引用變量p,使之引用類 MyClass的一個(gè)對(duì)象,正確的定義語句是A)MyClass p=MyClass;B)MyClass
34、 p=new MyClass;C)MyClass &p=new MyClass;D) MyClass a , &p=a;(23)有如下兩個(gè)類定義class XXprivate:double x1;protected:double x2;public:double x3;;class YY:protected XXprivate:double y1;protected:double y2;public:double y3;;在類YY中保護(hù)成員變量的個(gè)數(shù)是A)1B)2C)3D)4(24)下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是A)可以通過運(yùn)算符重載在C+用創(chuàng)建新的運(yùn)算符B)賦值運(yùn)算符只
35、能重載為成員函數(shù)C)運(yùn)算符函數(shù)重載為類的成員函數(shù)時(shí),第一操作數(shù)是該類對(duì)象D)重載類型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回類型(25)下列關(guān)于類模板的描述中,錯(cuò)誤的是A)類模板的成員函數(shù)都是模板函數(shù)B)可以為類模板參數(shù)設(shè)置默認(rèn)值C)類模板描述了一組類D)類模板中只允許有一個(gè)類型參數(shù)(26)下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含 4個(gè)函數(shù),其中具有隱含this指針的是int fun1();class Testpublic:int fun2();friend int fun3();stati
36、c 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;int main()Test x,y; x=fun(y); return 0;運(yùn)行這個(gè)程序的輸出結(jié)果是A)無輸出B)1C)11D)111(29)有如下程序#includeusing namespace std;class Apublic:A(i
37、nt 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<<'-'< p> private:int r1;;int main() A a1;cons
38、t A a2(4);a1.print(2);a1.print();return 0;運(yùn)行時(shí)的輸出結(jié)果是A)P8-E4B)P8-C16-C)P0-E4-D)P0-C16-(30)下列代碼聲明了3個(gè)類class Person;class Student:public Person;class Undergraduate:Student;下列關(guān)于這些類之間關(guān)系的描述中,錯(cuò)誤的是A)類 Person 是類 Undergraduate 的基類B)類 Undergraduate 從類 Student 公有繼承C)類Student是類Person的派生類D)類Undergraduate是類Person的派生
39、類(31)有如下程序#includeusing namespace std;Class Basepublic:Base(int x=0):valB(x) cout<<VALB;< p>Base() cout<<VALB;< p>private:int valB;class Derived:public Basepublic:Derived(int x=0,int y=0):Base(x),valD(y)cout<<VALD;< p>Derived() cout<<VALD;< p>private:i
40、nt valD;;int main()Derived obj12(2,3);retuen 0;運(yùn)行時(shí)的輸出結(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;”能夠建立Shape的一個(gè)對(duì)象s(33)將運(yùn)算符“+”重載為非成員函數(shù),下列原型聲明中,錯(cuò)誤的是A)MyClock operator + (MyClock,lon
41、g);B)MyClock operator + (MyClock,MyClock);C)MyClock operator + (long,long);D)MyClock operator + (long,MyClock);(34)打開文件時(shí)可單獨(dú)或組合使用下列文件打開模式 ios_base:app ios_base:binary ios_base:in ios_base:out若要以二進(jìn)制讀方式打開一個(gè)文件,需使用的文件打開模式為A)B)C)D)(35)有如下程序:#includeusing namespace std;Class Bpublic:B(int xx):x(xx) +cout;
42、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;virtual void show() constcout<<COUNT<<'_'<<Y<<ENDL;< p>
43、;private:int y;int B:count=0;int main()B *ptr=new D(10,20);ptr->show();delete ptr;return 0;運(yùn)行時(shí)的輸出結(jié)果是A)1_120B)2_120C)1_20D)2_20二、填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡【l】【15】序號(hào)的橫線上,答在試卷上不得分。(1) 一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)椤?】。(2)設(shè)某循環(huán)隊(duì)列的容量為50,如果頭指針front=45(指向隊(duì)頭元素的前一位置),尾指針rea
44、r=10(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有12】 個(gè)元素。(3)設(shè)二叉樹如下:對(duì)該二叉樹進(jìn)行后序遍歷的結(jié)果為【3】X 回 (4)軟件是【4】、數(shù)據(jù)和文檔的集合。(5)有一個(gè)學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號(hào),班級(jí),年齡),課程的關(guān)系模式為:課程(課號(hào),課程名,學(xué)時(shí)),其中兩個(gè)關(guān)系模式的鍵分別是學(xué)號(hào)和課號(hào),則關(guān)系模式選課可定義為:選課(學(xué)號(hào),【5】,成績(jī))。(6)若x和y是兩個(gè)整形變量,在執(zhí)行了語句序列x=5; y=6; y+=x-;后,x+y的值為 6。(7)在執(zhí)行語句序列int i=0; do i+; while(i*i<10);時(shí),do后面的循環(huán)體語句i+被執(zhí)行的次數(shù)
45、為【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)有如下的函數(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是一個(gè)類,該類中一個(gè)成員函數(shù)的原型為“ Xcs *abc();:
46、則在類外定 義時(shí)對(duì)應(yīng)的函數(shù)頭為【10】。(11)請(qǐng)將下面的類Date的定義補(bǔ)充完整,使得由語句Date FirstDay;定義的對(duì)象 FirstDay 的值為2010年1月1日。class Datepublic:Date( 【11):year(y),month(m),day(d) private:int year,month,day; 依次表示年、月、日;(12)請(qǐng)將下面的程序補(bǔ)充完整,使得程序輸出“飄是娜的書”。#includeusing namespace std;class Bookpublic:Book(char *str) strcpy(title,str);【12】 void Pr
47、intInfo() cout<<TITLE<<ENDL;< p>protected:char title50;class MyBook:public Bookpublic:MyBook(char *s1,char *s2=" 娜"):【13】 strcpy(owner,s2);virtual void PrintInfo() cout<<TITLE<<"是"OWNER<<勺書"<<ENDL;< p>private:char owner10;int m
48、ain()Book *prt=new MyBook("飄");prt->PrintInfo();return 0;(13)在有理數(shù)類Rational中重載插入運(yùn)算符 <<,以便按a/q形式輸出。請(qǐng)將 <<運(yùn)算符 函數(shù)的定義補(bǔ)充完整。class Rationalpublic:Rational(int aa, int qq):a(aa),q(qq) friend 【14】 operator<<(ostream &out, Rational &x)return (out<<X.A<<' p
49、?<<x.q);<>private:int a,q;;(14)下面的函數(shù)定義是某函數(shù)模板能夠生成的函數(shù)實(shí)例int square(int n) return n*n;double square(double n) return n*n;由此可知,該函數(shù)模板的定義是【15】。2007年4月計(jì)算機(jī)等級(jí)考試C+老試及答案一、選擇題(每小題2分,共70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確 選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是 。A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān).B)算法的時(shí)間復(fù)雜度是
50、指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的.D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān).(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是。A)各模塊應(yīng)包括盡量多的功能B)各模塊的規(guī)模應(yīng)盡量大C)各模塊之間的聯(lián)系應(yīng)盡量緊密D)模塊具有高聚度,模塊間具有低耦合度(3)下列敘述中正確的是 。A)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤.B)軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置.C)為了提高軟彳測(cè)試的效率,最好由程序編制者自己來完成軟件測(cè)試的工作D)軟件測(cè)試是證明軟件沒有錯(cuò)誤(4)下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是。A繼承性B)多態(tài)性C)類比性D)封裝性(5)下列對(duì)列的敘述正確
51、的是 。A 隊(duì)列屬于非線性表B)隊(duì)列按“先進(jìn)后出”的原則組織數(shù)據(jù)C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)(6)對(duì)下列二叉樹A DYBEAFCZX)BYDEBFZXCA)CABDYECFXZ)DABCDEFXYZ(7)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn)則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為A n+1 B ) n-1 C) 2n D) n/2(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是A)井B)交C)投影D)笛卡兒乘積(9)在E-R圖中,用來表示實(shí)體之間是聯(lián)系的圖形是。A 矩形B)橢圓形C)菱形D)平行四邊形(10)下列敘述中錯(cuò)誤的是。A 在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與
52、邏輯結(jié)構(gòu)一致.B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)D)數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持(11)為了取代C中帶參數(shù)的宏,在C+”使用A重載函數(shù)B)聯(lián)函數(shù)C)遞歸函數(shù)D)友元函數(shù)(12)下列關(guān)于類定義的說法中,正確的是A)類定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明B)類成員的缺省訪問權(quán)限是保護(hù)的C)數(shù)據(jù)成員必須被聲明為私有的D)成員函數(shù)只能在類體外進(jìn)行定義(13)下列關(guān)于派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的說法中,錯(cuò)誤的是A)派生類的構(gòu)造函數(shù)會(huì)隱含調(diào)用基類的構(gòu)造函數(shù)B)如果基類中沒有缺省構(gòu)造函數(shù),那么派生類必須定義構(gòu)造函數(shù)C)在建立派生類對(duì)象時(shí),先調(diào)用
53、基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)D)在銷毀派生類對(duì)象時(shí),先調(diào)用基類的析構(gòu)函數(shù),再調(diào)用派生類的析構(gòu)函數(shù) (14)通過運(yùn)算符重載,可以改變運(yùn)算符原有的A操作數(shù)類型B)操作數(shù)個(gè)數(shù)C)優(yōu)先級(jí)D)結(jié)合性(15)有如下函數(shù)模板:template <class T> T souare (T x)(retumx * x ;)基中TA函數(shù)形參B)函數(shù)實(shí)參C)模板形參D)模板實(shí)參(16)使用輸入輸出操作符setw,可以控制A)輸出精度B)輸出寬度C)對(duì)齊方式D)填充字符 (17)下列字符串中,不可以用作 C+而識(shí)符的是A y_2006 B) TEST_H C Retum D) switch (1
54、8)字面常量42、4.2、42L的數(shù)據(jù)類型分別是A) long、double int B ) long、float 、intC) int、double、long D ) int、float 、long (19)執(zhí)行下列語句段后,輸出字符“ *”的個(gè)數(shù)是for (int i =50;I>1;- i ) cout<<“ *"A) 48 B) 49 C) 50 D) 51(20)有如下程序段inti =0, j=1;int & r=i ; /r守int*p= & i ; /*p= & r ; /基中會(huì)產(chǎn)生編譯錯(cuò)誤的語句是A)B)C)D) (21)有
55、如下函數(shù)定義:void func (int a,int&b) a+; b+;若執(zhí)行代碼段:intx=0 ,y=1 func (x,y );則變量x和y值分別是A) 0和 1 B) 1 和 1 C) 0和 2 D) 1 和 2(22)有如下程序:#include<iostream>using namespace std;class Apublic static int a;void init () a=1;A (int a=2 ) init () ;a+;;int A:;a=0A obj;Int main ()cout<<obj.a;retum0;運(yùn)行時(shí)輸出的結(jié)果
56、是A) 0 B) 1 C) 2 D) 3(23)下列有關(guān)繼承和派生的敘述中,正確的是A)派生類不能訪問基類的保護(hù)成員B)作為虛基類的類不能被實(shí)例化C)派生類應(yīng)當(dāng)向基類的構(gòu)造函數(shù)傳遞參數(shù)D)虛函數(shù)必須在派生類中重新實(shí)現(xiàn)(24)下列運(yùn)算符中,不能被重載的是A) && B) ! = C) . D ) +(25)下列函數(shù)模板的定義中,合法的是A template<typename T> Tabs (T x) return x <0- x: x;B) template class <T>Tabs(Tx) retumx<0 -x;x;C) template T<class T.>abs (T x ) retum x<0 -x;x;D) template T abs (T x ) returm x<0 -x;x;(26)在語句 cin>>data;中,cin 是A) C+勺關(guān)鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年網(wǎng)絡(luò)管理員考試學(xué)習(xí)方向試題
- 學(xué)科交叉與綜合課程設(shè)計(jì)計(jì)劃
- 幼兒園語言學(xué)習(xí)活動(dòng)策劃計(jì)劃
- 精細(xì)化管理與戰(zhàn)略風(fēng)險(xiǎn)防范試題及答案
- 2025年軟件設(shè)計(jì)師復(fù)習(xí)計(jì)劃與試題及答案
- 持續(xù)學(xué)習(xí)的個(gè)人工作目標(biāo)計(jì)劃
- 2025年時(shí)事政治熱點(diǎn)題庫(kù)考試試題庫(kù)(歷年真題)附答案詳解
- 職業(yè)選擇與個(gè)人價(jià)值的關(guān)系-高考作文考試試題及答案
- 自動(dòng)化對(duì)2025年公司戰(zhàn)略的推動(dòng)及試題及答案
- 行政管理理性決策試題及答案探討
- 做一名幸福教師專題培訓(xùn)課件
- GHS化學(xué)品(含危險(xiǎn)品)標(biāo)簽標(biāo)志與象形符號(hào)
- 三級(jí)醫(yī)院評(píng)審標(biāo)準(zhǔn)(2023年版)實(shí)施細(xì)則
- GA/T 2002-2022多道心理測(cè)試通用技術(shù)規(guī)程
- JJF 1973-2022 移動(dòng)生物檢測(cè)實(shí)驗(yàn)艙性能參數(shù)校準(zhǔn)規(guī)范
- 弟子規(guī)余力學(xué)文
- 物理學(xué)家-焦耳
- 小學(xué)低年級(jí)語文學(xué)困生成因分析及轉(zhuǎn)化策略研究文檔
- 雕刻機(jī)畢業(yè)設(shè)計(jì)外文文獻(xiàn)翻譯
- 《了凡四訓(xùn)》原文及譯文-拼音版
- GB/T 8814-2004門、窗用未增塑聚氯乙烯(PVC-U)型材
評(píng)論
0/150
提交評(píng)論