




已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6第三套1、在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠_。A、對(duì)象的繼承B、對(duì)象的多態(tài)C、對(duì)象的封裝D、對(duì)象的分類 信息隱蔽是指采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),使模塊接口盡量簡(jiǎn)單。故本題答案為C。2、下列敘述中正確的是_。A、為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B、表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)C、一個(gè)關(guān)系的屬性名表稱為關(guān)系模式D、一個(gè)關(guān)系可以包括多個(gè)二維表 為了建立一個(gè)關(guān)系,首先要指定關(guān)系的屬性,所以選項(xiàng)A是錯(cuò)誤的。表示關(guān)系的二維表中各元組的每一個(gè)分量必須是不可分的基本數(shù)據(jù)項(xiàng),所以選項(xiàng)B是錯(cuò)誤的。在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系,所以選項(xiàng)D是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱為該關(guān)系的關(guān)系模式,其記法為:(,)。故本題答案為C。3、下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是_。A、程序的效率第一,清晰第二B、程序的可讀性好C、程序中要有必要的注釋D、輸入數(shù)據(jù)前要有提示信息 要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注重和考慮下述一些因素:符號(hào)名的命名應(yīng)具有一定的實(shí)際含義,以便于對(duì)程序功能的理解;正確的注釋能夠幫助讀者理解程序;程序編寫(xiě)應(yīng)優(yōu)先考慮清晰性,除非對(duì)效率有特殊要求,程序編寫(xiě)要做到清晰第一,效率第二。故本題答案為A。4、一棵二叉樹(shù)中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為_(kāi)。A、219B、221C、229D、231 二叉樹(shù)的性質(zhì)3:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為70-1=69,該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為70+80+69=219。故本題答案為A。5、冒泡排序在最壞情況下的比較次數(shù)是_。A、n(n+1)/2B、C、n(n-1)/2D、n/2 冒泡排序法是一種最簡(jiǎn)單的交換類排序方法,它是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。 假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過(guò)n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。故本題答案為C。6、軟件調(diào)試的目的是_。A、發(fā)現(xiàn)錯(cuò)誤B、改正錯(cuò)誤C、改善軟件的性能D、驗(yàn)證軟件的正確性 軟件調(diào)試的目的是診斷和改正程序中的錯(cuò)誤,改正以后還需要再測(cè)試。故本題答案為B。7、下列敘述中正確的是_。A、數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B、數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題C、數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)D、以上三種說(shuō)法都不對(duì) 為了解決多用戶、多應(yīng)用共享數(shù)據(jù)的需求,使數(shù)據(jù)為盡可能多的應(yīng)用服務(wù),數(shù)據(jù)管理的最新技術(shù)-數(shù)據(jù)庫(kù)技術(shù)應(yīng)運(yùn)而生。 數(shù)據(jù)庫(kù)系統(tǒng)由如下幾部分組成:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員、系統(tǒng)平臺(tái)(硬件平臺(tái)和軟件平臺(tái)),所以選項(xiàng)A、C是錯(cuò)誤的。故本題答案為B。8、下列敘述中正確的是_。A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的B、由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說(shuō)法都不對(duì) 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等。而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。因此,在進(jìn)行數(shù)據(jù)處理時(shí),選擇合適的存儲(chǔ)結(jié)構(gòu)是很重要的,所以選項(xiàng)A是錯(cuò)誤的。 根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)和非線性結(jié)構(gòu),所以選項(xiàng)B是錯(cuò)誤的。 數(shù)組既可以處理線性結(jié)構(gòu)也可以處理非線性結(jié)構(gòu),所以選項(xiàng)C是錯(cuò)誤的。故本題答案為D。9、軟件是指_。A、程序B、程序和文檔C、算法加數(shù)據(jù)結(jié)構(gòu)D、程序、數(shù)據(jù)與相關(guān)文檔的完整集合 計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。故本題答案為D。10、下列敘述中正確的是_。A、程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)B、程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C、程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D、以上三種說(shuō)法都不對(duì) 所謂提高程序執(zhí)行的效率,主要包括兩個(gè)方面:一是提高數(shù)據(jù)處理的速度,二是盡量節(jié)省在數(shù)據(jù)處理過(guò)程中所占用的計(jì)算機(jī)存儲(chǔ)空間。故本題答案為A。11、如果派生類以protected方式繼承基類,則原基類的protected成員和public成員在派生類中的訪問(wèn)屬性分別是_。A、public和publicB、public和protectedC、protected和publicD、protected和protected 本題考查的是派生類。 派生類中的成員不能訪問(wèn)基類中的私有成員,可以訪問(wèn)基類中的公有成員和保護(hù)成員。此時(shí)派生類對(duì)基類中各成員的訪問(wèn)能力與繼承方式無(wú)關(guān),但繼承方式將影響基類成員在派生類中的訪問(wèn)控制屬性。故本題答案為D。12、以下關(guān)于類模板的模板參數(shù)的敘述中,錯(cuò)誤的是_。A、模板參數(shù)可以作為數(shù)據(jù)成員的類型B、模板參數(shù)可以作為成員函數(shù)的返回類型C、模板參數(shù)可以作為成員函數(shù)的參數(shù)類型D、模板參數(shù)不能作為成員函數(shù)的局部變量的類型 本題考查模板的作用。 模板的作用:模板它提供的是一個(gè)框架,待你提供真正的參數(shù)后,它便有了一個(gè)實(shí)例。類模板定義不同類型的成員:成員函數(shù)、靜態(tài)數(shù)據(jù)成員和嵌套的類型。模板參數(shù)也可以作為成員函數(shù)的局部變量的類型。故本題答案為D。13、語(yǔ)句int *p=&k;定義了指針p ,與這個(gè)語(yǔ)句等效的語(yǔ)句序列是_。A、int *p;p=&k;B、int *p;p=k;C、int *p;*p=&k;D、int *p;*p=k; 本題考查的是指針。 一個(gè)指針是一個(gè)特定類型數(shù)據(jù)的存儲(chǔ)地址,比如一個(gè)變量的地址。在使用任何指針變量之前必須先給它賦一個(gè)所指合法具體對(duì)象的地址值。 語(yǔ)句int *p=&k;定義了一個(gè)指向變量k地址的int類型的指針p,此定義方法是在定義過(guò)程中同時(shí)賦初始值。選項(xiàng)A中int *p;p=&k;是先定義了一個(gè)指針p,然后將變量k的地址賦給指針p,與題目中的語(yǔ)句int *p=&k;等效。故本題答案為A。14、有如下程序:#include using namespace std;class MyClasspublic: MyClass(int x):val(x) void Print() const coutconst:val=valt; void print() coutval=valt;private: int val;int main() const MyClass obj1(10); MyClass obj2(20); obj1.Print(); obj2.Print(); return 0;程序的輸出結(jié)果是_。A、val=10 const:val=20B、const:val=10 const:val=20C、const:val=10 val=20D、val=10 val=20 本題考查的是構(gòu)造函數(shù)調(diào)用順序。 const MyClass obj1(10);首先定義了MyClass的const對(duì)象obj1,并初始構(gòu)造函數(shù)參數(shù)為x=10。構(gòu)造函數(shù)通過(guò):val(x)將x的值給val。 MyClass obj2(20);定義MyClass的對(duì)象obj2,并初始構(gòu)造函數(shù)參數(shù)為x=20。構(gòu)造函數(shù)通過(guò):val(x)將x的值給val。 obj1.Print();調(diào)用Obj1對(duì)象中的Print()函數(shù),輸出obj1對(duì)象成員變量val的當(dāng)前值,即輸出const:val=10。 obj2.Print();調(diào)用Obj2對(duì)象中的Print()函數(shù),輸出obj2對(duì)象成員變量val的當(dāng)前值,即輸出const:val=20。故本題答案為B。15、有如下程序:#include using namespace std;class Basepublic: void output() cout1; virtual void Print()coutB;class Derived : public Basepublic: void output() cout2; void Print() coutoutput(); ptr-Print(); delete ptr; return 0;程序的輸出結(jié)果是_。A、1BB、1DC、2BD、2D 本題考查的是虛函數(shù)。 virtual void Print()coutoutput();因?yàn)橹羔榩tr是基類的對(duì)象。所以在執(zhí)行output()方法時(shí)會(huì)調(diào)用基類的output()方法,也就是Base類的output()方法。不會(huì)調(diào)用Derived類的output()方法,因?yàn)閛utput()不是虛函數(shù)。輸出1。 ptr-Print(); 因?yàn)镻rint();在基類Base中申明是虛函數(shù),所以在子類中如果有繼承此方法就會(huì)調(diào)用子類的這方法。所以這個(gè)調(diào)用的是Derived類的Print();方法。輸出D。故本題答案為B。16、必須用一對(duì)大括號(hào)括起來(lái)的程序段是_。A、switch語(yǔ)句中的case標(biāo)號(hào)語(yǔ)句B、if語(yǔ)句的分支C、循環(huán)語(yǔ)句的循環(huán)體D、函數(shù)的函數(shù)體 本題考查的是函數(shù)的函數(shù)體。 由一對(duì)花括號(hào)括起來(lái)的是語(yǔ)句的序列,它定義了函數(shù)應(yīng)執(zhí)行的具體操作。 if語(yǔ)句的分支和循環(huán)語(yǔ)句的循環(huán)體通常使用花括號(hào)括起來(lái);switch語(yǔ)句中的case標(biāo)號(hào)語(yǔ)句后加的是冒號(hào):。故本題答案為D。17、下列關(guān)于運(yùn)算符重載的描述中,正確的是_。A、運(yùn)算符重載為成員函數(shù)時(shí),若參數(shù)表中無(wú)參數(shù),重載的是一元運(yùn)算符B、一元運(yùn)算符只能作為成員函數(shù)重載C、二元運(yùn)算符重載為非成員函數(shù)時(shí),參數(shù)表中有一個(gè)參數(shù)D、C+中可以重載所有的運(yùn)算符 本題主要考查了運(yùn)算符重載。 一元運(yùn)算符還可以作為全局函數(shù)重載,所以選項(xiàng)B錯(cuò)誤。 二元運(yùn)算符重載為非成員函數(shù)時(shí),參數(shù)表中有兩個(gè)參數(shù),所以選項(xiàng)C錯(cuò)誤。 有些運(yùn)算符不能被重載,如域運(yùn)算符(:),條件運(yùn)算符(?:)等,具體哪些運(yùn)算符不能被重載與編譯器有關(guān),所以選項(xiàng)D錯(cuò)誤。故本題答案為A。18、C+中的模板包括_。A、對(duì)象模板和函數(shù)模板B、對(duì)象模板和類模板C、函數(shù)模板和類模板D、變量模板和對(duì)象模板 本題考查的是C+中的模板,包括函數(shù)模板和類模板。 函數(shù)模板是一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的源代碼形式相同,只是所針對(duì)的數(shù)據(jù)類型不同。 類模板就是一系列相關(guān)類的模型或樣板,這些類的成員組成相同,成員函數(shù)的源代碼形式相同,所不同的只是所針對(duì)的類型。故本題答案為C。19、如果利用C+流進(jìn)行輸入輸出,下面的敘述中正確的是_。A、只能借助于流對(duì)象進(jìn)行輸入輸出B、只能進(jìn)行格式化輸入輸出C、只能借助于cin和cout進(jìn)行輸入輸出D、只能使用運(yùn)算符和、和get()、getline()、put()、write()函數(shù)也可以進(jìn)行輸入輸出。故本題答案為A。20、在函數(shù)中,可以用auto 、extern、register和static這四個(gè)關(guān)鍵字中的一個(gè)來(lái)說(shuō)明變量的存儲(chǔ)類型,如果不說(shuō)明存儲(chǔ)類型,則默認(rèn)的存儲(chǔ)類型是_。A、autoB、externC、registerD、static 本題考查的是C+的變量類型。C+中的變量類型分為如下幾種: auto-函數(shù)內(nèi)部的局部變量。(auto可以省略不寫(xiě))一個(gè)局部變量如果沒(méi)有用于存儲(chǔ)類別定義符說(shuō)明時(shí),則自動(dòng)被說(shuō)明為auto。 static-靜態(tài)存儲(chǔ)分配,又分為內(nèi)部和外部靜態(tài)。 extern-全部變量(用于外部變量說(shuō)明)。 register-變量存儲(chǔ)在硬件寄存器中。故本題答案為A。21、下列符號(hào)中不屬于C+關(guān)鍵字的是_。A、friendB、namespaceC、continueD、byte 本題考查的是C+關(guān)鍵字。 關(guān)鍵字也稱保留字,它是由C+語(yǔ)言本身預(yù)先定義好的一類單詞。 詳細(xì)請(qǐng)見(jiàn)C+關(guān)鍵字表。故本題答案為D。22、有如下頭文件:int f1();static int f2();class MApublic: int f3(); static int f4();在所描述的函數(shù)中,具有隱含的this指針的是_。A、f1B、f2C、f3D、f4 本題考查的是this指針。 this指針式一個(gè)隱含的指針,它隱含于每個(gè)類的非靜態(tài)成員函數(shù)中,它明確地表示出了成員函數(shù)當(dāng)前操作的數(shù)據(jù)所屬的對(duì)象。當(dāng)對(duì)一個(gè)對(duì)象調(diào)用成員函數(shù)時(shí),編譯程序先將對(duì)象的地址賦值給this指針,然后調(diào)用成員函數(shù),每次成員函數(shù)存取數(shù)據(jù)成員時(shí),則隱含使用this指針。 this指針是指向?qū)ο蟊旧淼闹羔?,它只存在于類的非靜態(tài)成員中。f1,f2不是成員函數(shù),不存在隱含指針;f4為靜態(tài)成員函數(shù),也不含有this指針;含有this指針的函數(shù)在調(diào)用時(shí)按thiscall調(diào)用約定調(diào)用。故本題答案為C。23、下列各組類型聲明符中,含義相同的一組是_。A、unsigned long int和longB、signed short int和shortC、unsigned short和shortD、short int和int 本題考查的是符號(hào)常量聲明。 整型常量除包括基本整型(int)外,還包括短整型(short int)、長(zhǎng)整型(long int)、無(wú)符號(hào)型(unsigned)。若整型常量為無(wú)符號(hào)型則在表示時(shí)需要在前面加上unsigned,若沒(méi)加unsigned則默認(rèn)表示為有符號(hào)型(signed),因此選項(xiàng)A、C錯(cuò)誤; 選項(xiàng)D中int表示整型,short int表示短整型,含義不同,所以錯(cuò)誤; 選項(xiàng)B表示有符號(hào)的短整型,有符號(hào)(signed)可以隱藏,同時(shí)short int可以表示為short,因此選項(xiàng)B正確。故本題答案為B。24、有以下程序:#include using namespace std;class Bpublic: virtual void show()coutB; ;class D: public Bpublic: void show() coutshow(); void fun2(B &ref) ref.show();void fun3(B b ) b.show();int main() B b,*p=new D; D d; fun1(p); fun2(b); fun3(d); return 0;程序運(yùn)行的輸出結(jié)果是_。A、BBBB、BBDC、DBBD、DBD 本題考查的是虛函數(shù)的用法,及虛函數(shù)被繼承后的相互調(diào)用關(guān)系。 首先通過(guò)B類生成b對(duì)象,通過(guò)B類生成*p對(duì)象指針并申請(qǐng)D類內(nèi)存結(jié)構(gòu)賦給*p。然后通過(guò)D類生成d。 調(diào)用fun1函數(shù),參數(shù)地址傳遞p指針地址。因?yàn)锽.show()是虛函數(shù),所以調(diào)用D.show();輸出D。 調(diào)用fun2函數(shù),參數(shù)引用傳遞對(duì)象b,所以調(diào)用B.show();輸出B。 調(diào)用fun3函數(shù),參數(shù)對(duì)象d;參數(shù)b=d地址。所以調(diào)用B.show();輸出B。 所以輸出結(jié)果DBB。故本題答案為C。25、若有如下類定義:class B void fun1()protected: double var 1;public: void fun2();class D: public Bprotected: void fun3() ;已知obj是類D的對(duì)象,下列語(yǔ)句中不違反類成員訪問(wèn)控制權(quán)限的是_。A、obj.fun1();B、obj.var1;C、obj.fun2();D、obj.fun3() 本題考查的是類成員的訪問(wèn)控制。 類中提供了3中訪問(wèn)控制權(quán)限:公有(public)、私有(private)和保護(hù)(protected)。 B類中成員定義訪問(wèn)權(quán)限為:fun1()為私有,var1為保護(hù),fun2為公共類D公共繼承B類結(jié)構(gòu),繼承結(jié)構(gòu)不改變成員權(quán)限。 因?yàn)閷?duì)象外部調(diào)用成員,只能訪問(wèn)(公共)Public權(quán)限成員,僅fun2()為Public權(quán)限。故本題答案為C。26、有如下程序:#include using namespace std;class Partpublic: Part(int x=0):val(x) coutval; Part()coutval;private: int val;class Wholepublic: Whole(int x,int y,int z=0):p2(x),p1(y),val(z) coutval; Whole()coutval;private: Part p1,p2; int val;int main() Whole obj(1,2,3); return 0;程序的輸出結(jié)果是_。A、123321B、213312C、213D、123123 本題考查的是類以及類的構(gòu)造函數(shù)。 class Whole public: Whole(int x,int y,int z=0):p2(x),p1(y),val(z)coutval; Whole()coutval; private: Part p1,p2;/定義時(shí)間的順序跟那個(gè) int val; 在定義類Whole的私有成員時(shí),Part p1,p2; 定義對(duì)象p1在p2前。所以在執(zhí)行Whole(int x,int y,int z=0):p2(x),p1(y),val(z) coutval;,創(chuàng)建對(duì)象時(shí)先執(zhí)行p1(y)構(gòu)造方法,再執(zhí)行p2(x)構(gòu)造方法。 Whole obj(1,2,3);創(chuàng)建Whole類對(duì)象obj這時(shí)調(diào)用Whole類的構(gòu)造方法Whole(int x,int y,int z=0):p2(x),p1(y),val(z) coutval;,得到 x=1,y=2,z=3,在執(zhí)行:p2(x),p1(y),val(z)方法,因?yàn)閷?duì)象p1在p2定義前,所以先構(gòu)造對(duì)象p1也就執(zhí)行p1(2),調(diào)用Part類的Part(int x=0):val(x) coutval;方法,輸出2,接著構(gòu)造p2對(duì)象,執(zhí)行p2(1) 輸出1。 再執(zhí)行val(z)給val賦值為3再執(zhí)行方法體的語(yǔ)句coutval;輸出3。 現(xiàn)在所有對(duì)象構(gòu)造完了,開(kāi)始析構(gòu)對(duì)象了。因?yàn)槲鰳?gòu)與構(gòu)造相反,所以先析構(gòu)z再p2再p1,輸出為312??傮w輸出就是213312。故本題答案為B。27、有如下程序:#include using namespace std;class MyClasspublic: MyClass() +count; MyClass() -count; 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:getCount(); return 0;程序的運(yùn)行結(jié)果是_。A、121B、232C、221D、122 本題考查的是類的構(gòu)造函數(shù)。 int MyClass:count=0;的意思是初始化靜態(tài)變量count=0; MyClass obj;是指創(chuàng)建類MyClass對(duì)象obj,這時(shí)會(huì)執(zhí)行類MyClass的構(gòu)造方法MyClass() +count;,得到count=1,coutobj.getCount();輸出1。 MyClass *ptr=new MyClass;創(chuàng)建類MyClass指針對(duì)象*ptr,這時(shí)會(huì)執(zhí)行類MyClass的構(gòu)造方法MyClass()+count;得到count=2,coutMyClass:getCount();輸出2。 delete ptr;刪除指針對(duì)象,這時(shí)會(huì)調(diào)用析構(gòu)方法MyClass()-count;,得到count=1,coutMyClass:getCount();輸出1。故本題答案為A。28、有以下程序:#include using namespace std;class Basepublic: Base(int x=0) coutx;class Derived : public Basepublic: Derived(int x=0) coutx;private: Base val;int main() Derived d(1); return 0;程序的輸出結(jié)果是_。A、0B、1C、01D、001 本題考查的是類的相關(guān)知識(shí)。 Base val;因?yàn)轭怐erived 有個(gè)Base類的對(duì)象val為私有變量。所以在給這類創(chuàng)建對(duì)象時(shí)會(huì)創(chuàng)建Base val;對(duì)象。 在Derived d(1);創(chuàng)建對(duì)象d時(shí)先創(chuàng)建Base的對(duì)象val,執(zhí)行Base類的Base(int x=0) coutx;方法,輸出0; 接著創(chuàng)建 類Derived對(duì)象d 執(zhí)行類Derived的帶一個(gè)參數(shù)的構(gòu)造方法Derived(int x=0) coutx;,在執(zhí)行前因?yàn)轭怐erived是公共繼承類Base所以先執(zhí)行基類的構(gòu)造方法Base(int x=0) coutx;輸出0(這個(gè)方法是給參數(shù)賦默認(rèn)值的;int x=0意思是如果沒(méi)有傳參數(shù)過(guò)來(lái)就以0表示這個(gè)參數(shù)的值); 執(zhí)行完基類的構(gòu)造方法后執(zhí)行自已的構(gòu)造方法。因?yàn)閭鞯膮?shù)為1所以輸出1。故本題答案為D。29、對(duì)于一個(gè)類定義,下列敘述中錯(cuò)誤的是_。A、如果沒(méi)有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù)B、如果沒(méi)有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一個(gè)缺省的構(gòu)造函數(shù)C、如果沒(méi)有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷貝構(gòu)造函數(shù)D、如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造函數(shù) 本題考查的是類的定義。 類是一種用戶自定義的類型,聲明一個(gè)類對(duì)象時(shí),編譯程序需要為對(duì)象分配存儲(chǔ)空間,進(jìn)行必要的初始化。在C+中這項(xiàng)工作是由構(gòu)造函數(shù)來(lái)完成的。構(gòu)造函數(shù)的作用是在對(duì)象被創(chuàng)建時(shí)利用特定的值構(gòu)造對(duì)象,將對(duì)象初始化為一種特定的狀態(tài),使該對(duì)象具有區(qū)別于其他對(duì)象特征。構(gòu)造函數(shù)在對(duì)象被創(chuàng)建的時(shí)候由系統(tǒng)自動(dòng)調(diào)用。故本題答案為B。30、關(guān)于函數(shù)重載,下列敘述中錯(cuò)誤的是_。A、重載函數(shù)的函數(shù)名必須相同B、重載函數(shù)必須在參數(shù)個(gè)數(shù)或類型上有所不同C、重載函數(shù)的返回值類型必須相同D、重載函數(shù)的函數(shù)體可以有所不同 本題考查的是函數(shù)的重載。 函數(shù)重載允許用同一個(gè)函數(shù)名定義多個(gè)函數(shù)。被重載的函數(shù)必須要有不同的形參列表。不可以根據(jù)函數(shù)返回值類型來(lái)重載函數(shù)。函數(shù)重載是用同一個(gè)函數(shù)名在不同的參數(shù)上做不同的事情。對(duì)于僅僅是函數(shù)的返回值不同,其它參數(shù)全部相同,不是重載。如果出現(xiàn)這種況,會(huì)在編譯產(chǎn)生錯(cuò)誤。故本題答案為C。31、已知一程序運(yùn)行后執(zhí)行的第一個(gè)輸出操作是coutsetw(10)setfill(*)1234; 則此操作的輸出結(jié)果是_。A、1234B、*1234C、*1234D、1234* setw(10)表示要輸出10個(gè)寬度。 setfill(*)表示沒(méi)有達(dá)到寬度要求的用*替換。 1234表示操作的數(shù)據(jù),因此前應(yīng)該有6個(gè)*。故本題答案為B。 32、如下函數(shù)的作用是以雙倍行距輸出文件:void double_space(ifstream& f, ofstream& t) char c; while(_) _; if(c=n)t.put(c); 畫(huà)線缺失的部分是_。A、f.get(c)與t.put(c)B、f.put(c)與t.get(c)C、t.get(c)與f.put(c)D、t.put(c)與f.get(c) 本題考查的是文件流的輸入輸出。 文件流以磁盤(pán)文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對(duì)象。 ifstream是文件輸入流類,只能用于輸入,它沒(méi)有提供任何用于輸出的操作。 ofstream是文件輸出流類,只能用于輸出,它沒(méi)有提供任何用于輸入的操作。 fstream是文件輸入輸出流類。 f.get(c)為獲得一個(gè)字符; t.put(c)為輸出一個(gè)字符,因?yàn)閕f(c=n) t.put(c);此句,當(dāng)c為間格字符(行距字符)時(shí),再多輸出一次t.put(c)。故本題答案為A。33、派生類的成員函數(shù)不能訪問(wèn)基類的_。A、公有成員和保護(hù)成員B、公有成員C、私有成員D、保護(hù)成員 本題考查的是繼承的類型。 類的繼承方式有公有繼承、保護(hù)繼承和私有繼承三種方式。對(duì)于公有繼承基類中的成員訪問(wèn)屬性不變,對(duì)于保護(hù)和私有繼承基類中的成員轉(zhuǎn)換為相應(yīng)的訪問(wèn)類型。但是如果基類成員的訪問(wèn)屬性為private的,則不能被繼承。故本題答案為C。34、以下運(yùn)算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是_。A、int operator-(FunNumber);B、FunNumber operator-();C、FunNumber operator-(int);D、int operator-(FunNumber,FunNumber); 本題考查的是類的成員函數(shù)。 選項(xiàng)A是重載了負(fù)號(hào)或減法運(yùn)算符,由于減法運(yùn)算符它具有兩個(gè)操作數(shù),而題面原型中只有一個(gè),如果重載的是減號(hào)運(yùn)算符,則必為成員函數(shù)。 選項(xiàng)B中由于沒(méi)參數(shù),無(wú)論是負(fù)號(hào)或減法運(yùn)算符至少具有一個(gè)參數(shù),所以它必為成員函數(shù),同時(shí)也必定是重載了負(fù)號(hào)運(yùn)算符。 選項(xiàng)C是必定以成函數(shù)的方式重載,因?yàn)镃+規(guī)定不能對(duì)內(nèi)置類的運(yùn)算符進(jìn)行重載,所以它不可能是友元函數(shù)(因?yàn)椴僮鲾?shù)為內(nèi)置的int型),所以必為成員函數(shù)重載,且必定是重載了減法運(yùn)算符。 選項(xiàng)D有兩個(gè)參數(shù),無(wú)論是負(fù)號(hào)或減法運(yùn)算符,其操作數(shù)不超2個(gè),所以必定為友元函數(shù)重載,且重載了減法運(yùn)算符。故本題答案為D。35、下列是重載乘法運(yùn)算符的函數(shù)原型聲明,其中錯(cuò)誤的是_。A、MyClass operator * (double,double);B、MyClass operator * (double,MyClass);C、MyClass operator * (MyClass,double);D、MyClass operator * (MyClass,MyClass); 本題考查的是運(yùn)算符的重載。 重載的運(yùn)算符應(yīng)保持其原有的基本語(yǔ)義。重載的運(yùn)算符應(yīng)盡可能保持其原有的特性。運(yùn)算符的重載應(yīng)當(dāng)配套。 至少要有一個(gè)形式參數(shù)是類的類型。所以選項(xiàng)A錯(cuò)。故本題答案為A。36、在兩種基本測(cè)試方法中,_測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。標(biāo)準(zhǔn)答案為:白盒 或 白箱白盒測(cè)試的基本原則是:保證所測(cè)模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測(cè)模塊所有判斷的每一分支至少執(zhí)行一次;保證所測(cè)模塊每一循環(huán)都在邊界條件下至少執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。37、線性表的存儲(chǔ)結(jié)構(gòu)主要分為順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。隊(duì)列是一種特殊的線性表,循環(huán)隊(duì)列是隊(duì)列的_存儲(chǔ)結(jié)構(gòu)。標(biāo)準(zhǔn)答案為:順序在實(shí)際應(yīng)用中,隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)一般采用循環(huán)隊(duì)列的形式。38、對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果為_(kāi)。標(biāo)準(zhǔn)答案為:ACBDFEHGP 或 A、C、B、D、F、E、H、G、P 或 A,C,B,D,F(xiàn),E,H,G,P 或 A,C,B,D,F,E,H,G,P二叉樹(shù)的中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。遍歷的各種形式牢記39、在E-R圖中,矩形表示_。標(biāo)準(zhǔn)答案為:實(shí)體集在E-R圖中,矩形表示實(shí)體集。40、軟件需求規(guī)格說(shuō)明書(shū)應(yīng)具有完整性、無(wú)歧義性、正確性、可驗(yàn)證性、可修改性等特性,其中最重要的是_。標(biāo)準(zhǔn)答案為:無(wú)歧義性無(wú)歧義性是指對(duì)每一個(gè)需求只有一種解釋,其陳述具有惟一性。作為設(shè)計(jì)的基礎(chǔ)和驗(yàn)收的依據(jù),軟件需求規(guī)格說(shuō)明書(shū)應(yīng)該是精確而無(wú)二義的,需求說(shuō)明書(shū)越精確,則以后出現(xiàn)的錯(cuò)誤、混淆、反復(fù)的可能性越小。41、已知有函數(shù)f 的定義如下:int f() static int s = 0; s+=2; return s;則在某程序中第2次執(zhí)行函數(shù)調(diào)用語(yǔ)句f();時(shí),函數(shù)f的返回值是_。標(biāo)準(zhǔn)答案為:4 本題考查的是static的用法。 static在程序運(yùn)行的過(guò)程中只初始化一次。 第一次運(yùn)行時(shí),s=2 第二次運(yùn)行時(shí),s=2+2=4所以答案為4。42、請(qǐng)將下列棧類Stack補(bǔ)充完整。class Stackprivate : int pList100; /int 數(shù)組,用于存放棧的元素 int top; /棧頂元素(數(shù)組下標(biāo))public: Stack():top(0) void Push (const int &item);/ 新元素item 壓入棧 int Pop (void); / 新棧頂元素彈出棧 ;void Stack:Push(const int &item) if(top=99) / 如果棧滿,程序終止 exit(1); top+; / 棧頂指針增 1 _;int Stack:Pop() if (top 0) / 如果???,程序終止 exit(1); return pListtop-;標(biāo)準(zhǔn)答案為:pListtop=item 本題考查堆棧的操作。 由于在本算法中,要彈出棧頂元素,要先將新元素item壓入棧,然后取出stacktop中的元素。 如果棧滿,if(top=99),程序終止,棧頂指針增1。 如果???,程序終止。按照堆棧先進(jìn)后的原則,向堆棧壓入的數(shù)據(jù)總是在最上面的,top為最大記數(shù),所以pList堆棧的第top數(shù)組位置將被賦值成壓入數(shù)據(jù)。所以答案為pListtop=item。43、已知類sample 是一個(gè)抽象類,其成員函數(shù) display 是無(wú)形參、無(wú)返回類型的純虛函數(shù),請(qǐng)完成其聲明:class samplepublic: sample(); _;標(biāo)準(zhǔn)答案為:virtual void display()=0; 本題考查的是純虛函數(shù)。這是一個(gè)純虛函數(shù)定義。它的定義格式是:virtual函數(shù)返回類型 函數(shù)名(參數(shù)列表)=0,根據(jù)題目的意思,返回類型為空,則用void表示函數(shù)名為display參數(shù)列表為空,則用()表示結(jié)合起來(lái),就是virtual void display()=0;(其中0表示無(wú)函數(shù)體)。44、已知如下程序的輸出結(jié)果是23,請(qǐng)將畫(huà)線缺失的部分補(bǔ)充完整。#includeusing namespace std;class MyClasspublic: void Print() const cout23;int main() MyClass*p =new MyClass();_.Print();return 0;標(biāo)準(zhǔn)答案為:(*p) 本題考查的是指針。MyClass*p =new MyClass();是創(chuàng)建一個(gè)類MyClass的指針對(duì)象。要執(zhí)行創(chuàng)建的對(duì)象,那么(*p).Print();即為執(zhí)行此對(duì)象的方法。45、有如下程序:#include using namespace std;class A public: A()coutA; A()coutA;class B A a;public: B() cout B; B()coutB;int main() B b; return 0;程序的輸出結(jié)果是_。標(biāo)準(zhǔn)答案為:ABBA 本題考查的是類的構(gòu)造。 main()B b;創(chuàng)建類B一個(gè)對(duì)象b,這時(shí)轉(zhuǎn)到類B里去執(zhí)行類B的構(gòu)造方法B(),因?yàn)樵陬怋里有個(gè)全局的類A的對(duì)象a,所以在執(zhí)行構(gòu)造方法B()之前會(huì)先創(chuàng)建類A的對(duì)象a,就去執(zhí)行類A的構(gòu)造方法A(),輸出字符A,再返回到類B執(zhí)行它的構(gòu)造方法B()輸出字符B,現(xiàn)在所有的構(gòu)造方法執(zhí)行完了,就執(zhí)行析構(gòu)方法了,因?yàn)槲鰳?gòu)方法與構(gòu)造方法的執(zhí)行順序相反,所以先執(zhí)行B()方法輸出字符B,再執(zhí)行A()輸出字符A。所以輸出結(jié)果ABBA。46、請(qǐng)將如下程序補(bǔ)充完整,使得輸出結(jié)果為:bbaa#include using namespace std; class A pub
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托中介股權(quán)轉(zhuǎn)讓協(xié)議書(shū)二零二五年
- 二零二五版食堂勞務(wù)承包合同書(shū)范文
- 二零二五版?zhèn)鶆?wù)分擔(dān)離婚協(xié)議書(shū)
- 足療店承包合同書(shū)
- 個(gè)人擔(dān)保合同標(biāo)準(zhǔn)模板二零二五年
- 工程總承包合同書(shū)參考范文二零二五年
- 2025至2031年中國(guó)孔雀草種苗行業(yè)投資前景及策略咨詢研究報(bào)告
- 企業(yè)如何在全球化背景下布局和保護(hù)自己的醫(yī)療創(chuàng)新專利
- 幼兒園教研年度工作總結(jié)(31篇)
- 辦公室月工作計(jì)劃個(gè)人(29篇)
- 《小型局域網(wǎng)組建》課件
- 浙江偉鋒藥業(yè)有限公司年產(chǎn)100噸拉米夫定、50噸恩曲他濱、30噸卡培他濱技改項(xiàng)目環(huán)境影響報(bào)告
- 公路養(yǎng)護(hù)安全作業(yè)規(guī)程-四級(jí)公路養(yǎng)護(hù)作業(yè)控制區(qū)布置
- 了解生活中常見(jiàn)的乳化現(xiàn)象
- 八年級(jí)家長(zhǎng)會(huì)領(lǐng)導(dǎo)講話4篇
- 美世國(guó)際職位評(píng)估體系IPE3.0使用手冊(cè)
- 焦慮抑郁患者護(hù)理課件
- 戶外招牌安全承諾書(shū)
- JGT471-2015 建筑門(mén)窗幕墻用中空玻璃彈性密封膠
- 施工單位現(xiàn)場(chǎng)動(dòng)火證
- 回流爐操作作業(yè)指導(dǎo)書(shū)
評(píng)論
0/150
提交評(píng)論