2006年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++真題_第1頁(yè)
2006年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++真題_第2頁(yè)
2006年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++真題_第3頁(yè)
已閱讀5頁(yè),還剩11頁(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、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C+語(yǔ)言程序設(shè)計(jì)2006 年9 月筆試試卷(考試時(shí)間90 分鐘,滿分100 分)一、選擇題(每小題2 分,共 70 分)(1) 下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是()。A)源程序要文檔化 B)數(shù)據(jù)說(shuō)明的次序要規(guī)范化C)避免濫用goto語(yǔ)句D)模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚(2)從工程管理角度看,軟件設(shè)計(jì)一般分為兩步完成,它們是()A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì) B)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D)過(guò)程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)(3) 下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。A )軟件測(cè)試 B )概要設(shè)計(jì)C)軟件維護(hù) D )詳細(xì)設(shè)計(jì)(4) 在數(shù)據(jù)庫(kù)系統(tǒng)中,用戶(hù)所見(jiàn)的數(shù)

2、據(jù)模式為()。A )概念模式B)外模式C)內(nèi)模式D )物理模式(5)數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和()A)編碼設(shè)計(jì)C)運(yùn)行階段(6)設(shè)有如下三個(gè)關(guān)系表:B )測(cè)試階段D)物理設(shè)計(jì)R S TAmnB C1 3A B Cm 1 3列操作中正確的是()A)T=R n S B) T=R U SC) T=R X S D) T=R/S(7)下列描述中正確的是() 。A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D)上述三種說(shuō)法都不對(duì)(8)在長(zhǎng)度為64 的有序線性表中進(jìn)行順序查找,最壞

3、情況下需要比較的次數(shù)為()A)63 B) 64C) 6 D) 7(9) 數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。A)存儲(chǔ)問(wèn)題B)共享問(wèn)題C)安全問(wèn)題D )保護(hù)問(wèn)題(10) 對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果是()。FCA DEGBA) ACBDFEG B ) ACBDFGEC)ABDCGEF(11)下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是A)內(nèi)聯(lián)函數(shù)在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移C)內(nèi)聯(lián)函數(shù)是通過(guò)編譯器來(lái)實(shí)現(xiàn)的(12)下列情況中,不會(huì)調(diào)用拷貝構(gòu)造函數(shù)的是A)用一個(gè)對(duì)象去初始化同一類(lèi)的另一個(gè)新對(duì)象時(shí)B)將類(lèi)的一個(gè)對(duì)象賦值給該類(lèi)的另一個(gè)對(duì)象時(shí)D)FCADBEGB)內(nèi)聯(lián)函數(shù)必須通過(guò)關(guān)鍵字inline 來(lái)定義D)內(nèi)聯(lián)函數(shù)

4、函數(shù)體的最后一條語(yǔ)句必須是return 語(yǔ)句C)函數(shù)的形參是類(lèi)的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí)D)函數(shù)的返回值是類(lèi)的對(duì)象,函數(shù)執(zhí)行返回調(diào)用時(shí)(13 )下列有關(guān)繼承和派生的敘述中,正確的是A)如果一個(gè)派生類(lèi)私有繼承其基類(lèi),則該派生類(lèi)對(duì)象不能訪問(wèn)基類(lèi)的保護(hù)成員B )派生類(lèi)的成員函數(shù)可以訪問(wèn)基類(lèi)的所有成員C)基類(lèi)對(duì)象可以賦值給派生類(lèi)對(duì)象D)如果派生類(lèi)沒(méi)有實(shí)現(xiàn)基類(lèi)的一個(gè)純虛函數(shù),則該派生類(lèi)是一個(gè)抽象類(lèi)(14 )下列運(yùn)算符不能重載為友元函數(shù)的是A)= () -> B ) + -+ -C) > < >= <= D ) += -= *= /=(15)關(guān)于在調(diào)用模板函數(shù)時(shí)模板

5、實(shí)參的使用,下列表述正確的是A )對(duì)于虛擬類(lèi)型參數(shù)所對(duì)應(yīng)的模板實(shí)參,如果能從模板函數(shù)的實(shí)參中獲得相同的信息,則 都可以省略B )對(duì)于虛擬類(lèi)型參數(shù)所對(duì)應(yīng)的模板實(shí)參,如果它們是參數(shù)表中的最后的若干個(gè)參數(shù),則都 可以省略C)對(duì)于虛擬類(lèi)型參數(shù)所對(duì)應(yīng)的模板實(shí)參,若能夠省略則必須省略D)對(duì)于常規(guī)參數(shù)所對(duì)應(yīng)的模板實(shí)參,任何情況下都不能省略(16)下列關(guān)于輸入流類(lèi)成員函數(shù)getline()的描述中,錯(cuò)誤的是A)該函數(shù)是用來(lái)讀取鍵盤(pán)輸入的字符串的C)該函數(shù)讀取字符串時(shí),遇到終止符便停止(17)下列符號(hào)中,正確的C+標(biāo)識(shí)符是A ) enumC) foo-9(18)下列語(yǔ)句中,錯(cuò)誤的是A ) const int b

6、uffer=256;C) int const buffer=256;(19)if 語(yǔ)句的語(yǔ)法格式可描述為:格式1:if(< 條件>) <語(yǔ)句 >或格式2:if( 條件) 語(yǔ)句1 else 語(yǔ)句2關(guān)于上面的語(yǔ)法格式,下列表述中錯(cuò)誤的是A) 條件 部分可以是一個(gè)if 語(yǔ)句,例如if(if(a=0)B) 該函數(shù)讀取的字符串長(zhǎng)度是受限制的D)該函數(shù)讀取字符串時(shí),可以包含空格B) 2bD)_32B) const double *point;D) double * const point;) B) 語(yǔ)句部分可以是一個(gè)if 語(yǔ)句,例如if( ) if( ) C) 如果在 條件前加上邏

7、輯非運(yùn)算符!并交換 語(yǔ)句1 和 語(yǔ)句2 的位置,語(yǔ)句功能不變D) 語(yǔ)句部分可以是一個(gè)循環(huán)語(yǔ)句,例如if( w) hile( ) (20) 有如下說(shuō)明int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 則數(shù)值為9的表達(dá)式是A) *p+9C) *p+=9(21) 若有下面的函數(shù)調(diào)用: fun(a+b, 3, max(n-1, b)則 fun 的實(shí)參個(gè)數(shù)是A)3C) 5(22) 以下關(guān)鍵字不能用來(lái)聲明類(lèi)的訪問(wèn)權(quán)限的是A) publicC) protectedB) *(p+8)D) p+8B)4D)6B)staticD ) private(23)在公有繼承的情況下,允許派生類(lèi)直接訪問(wèn)

8、的基類(lèi)成員包括A )公有成員 B)公有成員和保護(hù)成員C)公有成員、保護(hù)成員和私有成員D )保護(hù)成員(24 )關(guān)于運(yùn)算符重載,下列表述中正確的是A) C+已有的任何運(yùn)算符都可以重載B)運(yùn)算符函數(shù)的返回類(lèi)型不能聲明為基本數(shù)據(jù)類(lèi)型C)在類(lèi)型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類(lèi)型D)可以通過(guò)運(yùn)算符重載來(lái)創(chuàng)建C+中原來(lái)沒(méi)有的運(yùn)算符(25 )關(guān)于關(guān)鍵字class 和type name,下列表述中正確的是A) 程序中的typename 都可以替換為 classB) 程序中的class 都可以替換為 typenameC) 在模板形參表中只能用 typename 來(lái)聲明參數(shù)的類(lèi)型D) 在模板形參表中只能用 cla

9、ss 或typename 來(lái)聲明參數(shù)的類(lèi)型 (26 )有如下程序 #include <iostream> #include <iomanip> using namespace std;int main( ) cout<<setprecision(3)<<fixed<<setfill('*')<<setw(8); cout<<12.345<<<<34.567;return 0;若程序的輸出是:*12.345*34.567 則程序中下劃線處遺漏的操作符是A ) setprec

10、ision(3) B ) fixedC) setfill('*') D ) setw(8) (27 )有如下程序 #include <iostream> #include <iomanip> using namespace std; class MyClass public:MyClass( ) cout<<'A' MyClass(char c) cout<<c; MyClass( ) cout<<'B' ;int main( )MyClass p1,*p2;p2=new MyClass

11、('X');delete p2;return 0;執(zhí)行這個(gè)程序屏幕上將顯示輸出A) ABX B )ABXBC) AXB D )AXBB(28) 有如下程序 #include <iostream> using namespace std; int i=1;class Fun public: static int i;int value( ) return i-1;int value( )const return i+1;int Fun:i=2;int main( )int i=3;Fun fun1; const Fun fun2;return 0; 若程序的輸出結(jié)果是

12、:123則程序中下劃線處遺漏的語(yǔ)句是A ) cout<<fun1.value( )<<Fun:i<<fun2.value( );B) cout<<Fun:i<<fun1.value()<<fun2.value( );C) cout<<fun1.value( )<<fun2.value( )<<Fun:i;D) cout<<fun2.value( )<<Fun:i<<fun1.value( );(29) 有如下程序:#include <iostre

13、am> using namespace std;class Objstatic int i;public: Obj( ) i+; Obj( ) i-; static int getVal( ) return i;int Obj:i=0;void f()Obj ob2; cout<<ob2.getVal( ); int main( )Obj ob1; f( );Obj *ob3=new Obj; cout<<ob3->getVal( ); delete ob3; cout<<Obj:getV al( ); return 0; 程序的輸出結(jié)果是A)

14、232 B)231C)222 D)221(30) 有如下程序 #include <iostream> using namespace std;class Base protected: Base( ) cout<<'A' Base(char c) cout<<c; ;class Derived: public Basepublic:Derived( char c ) cout<<c; ;int main( )Derived d1('B');return 0;執(zhí)行這個(gè)程序屏幕上將顯示輸出A) B B)BA C)AB

15、D )BB(31) 有如下類(lèi)定義: class MyBase int k;public:MyBase(int n=0):k(n) int value( )const return k;class MyDerived: MyBaseint j;public:MyDerived(int i): j(i) int getK( )const return k; int getJ( )const return j; ;編譯時(shí)發(fā)現(xiàn)有一處語(yǔ)法錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是A) 函數(shù)getK 試圖訪問(wèn)基類(lèi)的私有成員變量kB)在類(lèi)MyDerived 的定義中,基類(lèi)名MyBase 前缺少關(guān)鍵字 public 、

16、protected 或 privateC)類(lèi)MyDerived 缺少一個(gè)無(wú)參的構(gòu)造函數(shù)D )類(lèi)MyDerived 的構(gòu)造函數(shù)沒(méi)有對(duì)基類(lèi)數(shù)據(jù)成員k 進(jìn)行初始化(32 )在一個(gè)派生類(lèi)對(duì)象結(jié)束其生命周期時(shí)A )先調(diào)用派生類(lèi)的析構(gòu)函數(shù)后調(diào)用基類(lèi)的析構(gòu)函數(shù)B)先調(diào)用基類(lèi)的析構(gòu)函數(shù)后調(diào)用派生類(lèi)的析構(gòu)函數(shù)C)如果基類(lèi)沒(méi)有定義析構(gòu)函數(shù),則只調(diào)用派生類(lèi)的析構(gòu)函數(shù)D )如果派生類(lèi)沒(méi)有定義析構(gòu)函數(shù),則只調(diào)用基類(lèi)的析構(gòu)函數(shù)(33)有如下的運(yùn)算符重載函數(shù)定義: double operator +(int i, int k) return double(i+k); 但定義有錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是A ) + 只能作

17、為成員函數(shù)重載,而這里的+ 是作為非成員函數(shù)重載的B) 兩個(gè)int 型參數(shù)的和也應(yīng)該是int 型,而這里將 + 的返回類(lèi)型聲明為doubleC) 沒(méi)有將運(yùn)算符重載函數(shù)聲明為某個(gè)類(lèi)的友元D) C+ 已經(jīng)提供了求兩個(gè)int 型數(shù)據(jù)之和的運(yùn)算符 +,不能再定義同樣的運(yùn)算符(34 )語(yǔ)句ofstream f("SALARY .DAT", ios_base:app);的功能是建立流對(duì)象f,并試圖打開(kāi)文件SALARY.DAT 與f 關(guān)聯(lián),而且A )若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗B) 若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個(gè)新文件C) 若文件存在,將

18、文件指針定位于文件首;若文件不存在,打開(kāi)失敗D )若文件存在,打開(kāi)失??;若文件不存在,建立一個(gè)新文件(35 )有如下程序#include <iostream>using namespace std;class Apublic:virtual void func1( ) cout<<"A1" void func2( ) cout<<"A2" ;class B:public Apublic:void func1( ) cout<<"B1" void func2( ) cout<<

19、"B2" ;int main( )A *p=new B;p->func1( );p->func2( );return 0;運(yùn)行此程序,屏幕上將顯示輸出A)B1B2 B )A1A2C)B1A2 D )A1B2 二、填空題(每空 2 分,共 30 分)(1)下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為AC DFBE(2)的任務(wù)是診斷和改正程序中的錯(cuò)誤。(3)一個(gè)關(guān)系表的行稱(chēng)為4)按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是5)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于(6)若有定義語(yǔ)句: int* a, b; ,則變量 b 的數(shù)據(jù)類(lèi)型是 (7)已知數(shù)組a 中的元素個(gè)數(shù)為n,下列語(yǔ)句的

20、作用是將下標(biāo)為i 的元素移動(dòng)到下標(biāo)為i1 的單元,其中K i<n。例如,當(dāng)n= 4, a中原有數(shù)據(jù)為1,2,3,4 時(shí),則移動(dòng)后a 中元素變?yōu)?,3,4,4。請(qǐng)將語(yǔ)句補(bǔ)充完整:for (int i=0; i<n-1; i+) ai = a ;(8)已知遞歸函數(shù)f 的定義如下:int f(int n)if (n <= 1) return 1; / 遞歸結(jié)束情況else return n * f(n-2); / 遞歸 則函數(shù)調(diào)用語(yǔ)句f(5)的返回值是(9)創(chuàng)建對(duì)象數(shù)組時(shí),對(duì)數(shù)組的每一個(gè)元素都將調(diào)用一次構(gòu)造函數(shù),如果沒(méi)有顯式給出數(shù) 組元素的初值,則調(diào)用缺省 構(gòu)造函數(shù)。下列程序涉及到

21、對(duì)象數(shù)組的創(chuàng)建和單個(gè)對(duì)象的創(chuàng)建,其輸出結(jié)果是#include <iostream>using namespace std; class Foo public:Foo(int x) cout << 'A' Foo() ;int main()Foo f3, g(3);return 0;(10) 已知下列程序的輸出結(jié)果是 42,請(qǐng)將畫(huà)線處缺失的部分補(bǔ)充完整。 #include <iostream> using namespace std;class Foo int value;public:Foo( ) : value(0) void setVal

22、ue(int value) = value; / 給Foo 的數(shù)據(jù)成員value 賦值 void print( ) cout << value; ; int main( )Foo f; f.setValue(42); f.print();return 0;但是只能訪問(wèn)(11)如果不使用多態(tài)機(jī)制, 那么通過(guò)基類(lèi)的指針雖然可以指向派生類(lèi)對(duì)象, 從基類(lèi)繼承的成員。下列程序沒(méi)有使用多態(tài)機(jī)制,其輸出結(jié)果是#include <iostream> using namespace std; class Base public:void print ( ) cout << &

23、#39;B' ; class Derived : public Base public:void print ( ) cout << 'D' ;int main( )Derived* pd = new Derived( );Base* pb = pd;pb->print( );pd->print( );delete pd;return 0;(12) 在聲明派生類(lèi)時(shí),如果不顯式地給出繼承方式,缺省的類(lèi)繼承方式是私有繼承 private。已知有如下類(lèi)定義:class Base protected:void fun( ) ; class Derived : Base ;則Base 類(lèi)中的成員函數(shù) fun() ,在Derived 類(lèi)中的訪問(wèn)權(quán)限是(注意:要求填寫(xiě) private 、 protected 或public 中的一項(xiàng)) 。(13) 在MyClass 類(lèi)的定義中,對(duì)賦值運(yùn)算符 =進(jìn)行重載。請(qǐng)將畫(huà)線處缺失的部分補(bǔ)充完整。 MyClass:operator=(const MyClass& rhs) if (t

溫馨提示

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