版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2006年9月考試真題(第24次).從工程管理角度,軟件設(shè)計(jì)般分為兩步完成,它們是.A、概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B、過(guò)程控制C、軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D、程序設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)從工程管理角度看,軟件設(shè)計(jì)分為兩步完成:概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式;詳細(xì)設(shè)計(jì)確立每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié).故本題答案為A。.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是解決數(shù)據(jù)的.A、存儲(chǔ)問(wèn)題B、共享問(wèn)題C、安全問(wèn)題D、保護(hù)問(wèn)題由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今大,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范用。數(shù)據(jù)的共享本身又“I極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不致性。因此,數(shù)據(jù)庫(kù)設(shè)計(jì)的根本目標(biāo)是要解決數(shù)據(jù)共享問(wèn)題。故本題答案為B。.在數(shù)據(jù)庫(kù)系統(tǒng)中,用戶所見數(shù)據(jù)模式為.A、概念模式B、外模式C、內(nèi)模式D、物理模式數(shù)據(jù)庫(kù)管理系統(tǒng)的三級(jí)模式結(jié)構(gòu)III外模式、模式和內(nèi)模式組成。外模式又稱為子模式,或用戶模式,是指數(shù)據(jù)庫(kù)用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式又稱為邏輯模式,是數(shù)據(jù)庫(kù)中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見到的數(shù)據(jù)視圖的總和。外模式是模式的一部分.內(nèi)模式又稱為存儲(chǔ)模式或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)匕的表示,即時(shí)數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。故本題答案為B。.在長(zhǎng)度為64的有序線性表中進(jìn)行順序查找,最壞情況下需耍比較的次數(shù)為 。A、63B、64C、6D、7在進(jìn)行順序查找過(guò)程中,如果線性表中的第1個(gè)元素就是被查找元索,則只需做一次比較就查找成功,杏找效率最高;但如果被春找的元素是線性表中的最后一個(gè)元素,或者被杳找的元索根本就不在線性衣中,則為/音找這個(gè)元素需要5線性衣中所有的元素進(jìn)行比較,這是順序有找的最壞情況。所以對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較n次. 故本題答案為B。.對(duì)下列二叉樹進(jìn)行中序遍歷的結(jié)果是.A、ACBDFEGB、ACBDFGEC,ABDCGEFD、FCADBEG二叉樹的中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。故本題答案為A。.卜.列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是.A、軟件測(cè)試 B、概要設(shè)計(jì) C、軟件維護(hù) D,詳細(xì)設(shè)計(jì)軟件生命周期分為軟件定義、軟件開發(fā)及軟件維護(hù)。其中軟件開發(fā)階段的任務(wù)中軟件設(shè)計(jì)階段可分解成概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段:軟件維護(hù)不屬于軟件開發(fā)階段。 故木題答案為C。.下列敘述中正確的是。A、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小C、一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D、上述三種說(shuō)法都不對(duì)算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度:算法在運(yùn)行過(guò)程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度:尊法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作鼠,即算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù),為了能夠比較客觀地反映出一個(gè)算法的效率,在度量一個(gè)算法的工作量時(shí),不僅應(yīng)該與所使用的計(jì)算機(jī)、程序設(shè)計(jì)語(yǔ)言以及程序編制者無(wú)關(guān),而且還應(yīng)該與算法實(shí)現(xiàn)過(guò)程中的許多細(xì)節(jié)無(wú)關(guān)。為此,可以用算法在執(zhí)行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量算法的工作量.故本題答案為D。8.5列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是.A、源程序要文檔化 B、數(shù)據(jù)說(shuō)明的次序耍規(guī)范化C、避免濫用goto語(yǔ)句D、模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚良好的程序設(shè)計(jì)風(fēng)格可以使程序結(jié)構(gòu)清晰合理,使程序代碼便于維護(hù),因此,程序設(shè)計(jì)風(fēng)格對(duì)保證程序的質(zhì)量很重要。主要應(yīng)注意和考慮卜,述一些因素:1、源程序要文檔化:2、數(shù)據(jù)說(shuō)明的次序要規(guī)范化;3、語(yǔ)句的結(jié)構(gòu)應(yīng)該簡(jiǎn)單直接,不應(yīng)該為提高效率而把語(yǔ)句發(fā)雜化,避免濫用got。語(yǔ)句?模塊設(shè)計(jì)要保證低耦合、高內(nèi)聚。 故本題答案為D。.設(shè)有如下三個(gè)關(guān)系表故本題答案為C。.數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和 二A、編碼設(shè)計(jì) B、測(cè)試階段 C、運(yùn)行階段 D、物理設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)分為以卜6個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段及數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。 故本題答案為及.下列運(yùn)算符不能重載為友元函數(shù)的是A,=()[]->B、+-++—C,><>=<=D、+=-=*=/=本題考查的是運(yùn)算符的取載。在C++中,可以通過(guò)兩種方式對(duì)運(yùn)算符進(jìn)行重載。--種是類成員函數(shù)的方式、一種是友元函數(shù)的方式。=0口->以及所有的類型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載,不能重載為友元函數(shù)。 故本題答案為A。.語(yǔ)句ofstreamf("SALARY.DAT",ios_base::app);的功能是建立流對(duì)象f,并試圖打開文件SALARY.DAT與f關(guān)聯(lián),而且.A、若文件存在,將其置為空文件;若文件不存在,打開失敗B,若文件存在,將文件指針定位于文件尾:若文件不存在,建立一個(gè)新文件C、若文件存在,將文件指針定位于文件首;若文件不存在,打開失敗D、若文件存在,打開失敗;若文件不存在,建立一個(gè)新文件
本題考查的是文件流的輸出。ofstreamf("SALARY.DAT",iosbase::app);是以iosbase::app方式打開文件,若文件存在,將文件指針定位于文件尾:若文件不存在,建立一個(gè)新文件。 故木題答案為B。.有如下程序#include<iostream>usingnamespacestd;classApublic:virtualvoidfund(){cout?,,AlM;}{cout?nA2M{cout?nA2M;}{cout?MBr,;){cout?HB2H;)classB:publicA{public:voidfund()voidfunc2()};intmain()(A*p=newB;p->funcl();p->func2();return0;)運(yùn)行此程序,屏幕上將顯示輸出OA、B1B2B、A1A2C、B1A2D、A1B2本題考查的是派生類。派生類B由菸類A公有繼承而來(lái)。調(diào)用p->funcl();后,執(zhí)行派生類B的函數(shù)voidfunclO:調(diào)用p-”unc2();后,執(zhí)行基類的困數(shù)voidfunc2(),因?yàn)樘摂M函數(shù)是根據(jù)對(duì)象的實(shí)際類型調(diào)用,非虛擬函數(shù)是根據(jù)指針類型調(diào)用。故通過(guò)指針p調(diào)用func2時(shí)將直接調(diào)用基類中的voidfunc2()。 故本題答案為C。.if語(yǔ)句的語(yǔ)法格式可描述為:格式1:if《條件>)<語(yǔ)句>或 格式2:if(<條件>)<語(yǔ)句l>else<語(yǔ)句2>關(guān)于上面的語(yǔ)法格式,下列表述中錯(cuò)誤的是0A、〈條件>部分可以是一個(gè)if語(yǔ)句,例如if(if(a==0)…)…B、〈語(yǔ)句>部分可以是一個(gè)if語(yǔ)句,例如if(…)if(…)…C、如果在〈條件>前加上邏輯非運(yùn)算符!并交換〈語(yǔ)句1>和〈語(yǔ)句2>的位置,語(yǔ)句功能不變D、〈語(yǔ)句>部分可以是一個(gè)循環(huán)語(yǔ)句,例如if(…)while(…)???本題考查的是if語(yǔ)句.if為美鍵字,(條件》通常是一個(gè)表達(dá)式;if子句和else子句可以是任何類型的語(yǔ)句,當(dāng)然也可以是if…else語(yǔ)句本身和while語(yǔ)句.if…else語(yǔ)句的基本執(zhí)行過(guò)程是:首先計(jì)算〈條件》的值,如果此值不為0("真”),則執(zhí)行〈語(yǔ)句1>,然
后忽略<語(yǔ)句2>,而去執(zhí)行if語(yǔ)句之后的下?條語(yǔ)句;如果此值為0("假”),則執(zhí)行〈語(yǔ)句2>,然后忽略<語(yǔ)句1》,然后繼續(xù)執(zhí)行if語(yǔ)句之后的下一條語(yǔ)句。 故木題答案為A。.下列語(yǔ)句中,錯(cuò)誤的是。A、constintbuffer=256; B、constdouble*point;C、intconstbuffer=256; D、double*constpoint;本題考查的是符號(hào)常量定義。constintbuffer=256;〃聲明常量bufferconstdouble*point; 〃聲明常量指針*point,*point不可變,但point的值可以改變intconstbuffer=256;〃聲明常量bufferdouble*constpoint; 〃聲明的point是常量,*point可變,但point的值不可以改變,point不是外部的,必須在聲明初始化常量對(duì)象。可改為:doubleaa=123.45;double*constpoint=&aa;故本題答案為D。.關(guān)于運(yùn)算符重載,下列表述中正確的是oA、C++已有的任何運(yùn)算符都可以重載B、運(yùn)算符函數(shù)的返回類型不能聲明為基本數(shù)據(jù)類型C、在類型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類型D、可以通過(guò)運(yùn)算符重載來(lái)創(chuàng)建C++中原來(lái)沒有的運(yùn)算符本題考查的是運(yùn)算符重載。運(yùn)算符重載是針對(duì)C++中原有的運(yùn)算符進(jìn)行的,不可能通過(guò)重載創(chuàng)造出新的運(yùn)算符,故選項(xiàng)D錯(cuò)誤。除了.、.*、->*、::、?:這5個(gè)運(yùn)算符外,其它運(yùn)算符都可以重載,故選項(xiàng)A錯(cuò)誤。運(yùn)算符函數(shù)的返回類型可以聲明為基本數(shù)據(jù)類型,故選項(xiàng)B錯(cuò)誤。在近載類型轉(zhuǎn)換符時(shí),由于運(yùn)算符本身C經(jīng)表示出返回值類型,因此不需要返回值類型的聲明。 故本題答案為C。.關(guān)于在調(diào)用模板函數(shù)時(shí)模板實(shí)參的使用,卜.列敘述正確的是。A、對(duì)于虛擬類型參數(shù)所對(duì)應(yīng)的模板實(shí)參,如果能從模板函數(shù)的實(shí)參中獲得相同的信息,則都可以省略B、對(duì)于虛擬類型參數(shù)所對(duì)應(yīng)的模板實(shí)參,如果他們是參數(shù)表中的最后的若干參數(shù),則都可以省略C、對(duì)于虛擬類型參數(shù)所對(duì)應(yīng)的模板實(shí)參,若能夠省略則必須省略D、對(duì)于常規(guī)參數(shù)所對(duì)應(yīng)的模板實(shí)參,任何情況下都不能省略本題考簧的是函數(shù)模板中模板實(shí)參的省略。對(duì)于虛擬類型參數(shù)所對(duì)應(yīng)的模板實(shí)參,如果從模板函數(shù)的實(shí)參表中獲得的信息已經(jīng)能夠判定其中部分或全部虛擬類型參數(shù),而且它們又正好是參數(shù)表中最后的若干參數(shù),則模板實(shí)參表中的那幾個(gè)參數(shù)可以省略。反之,對(duì)于某個(gè)模板實(shí)參,如果從模板函數(shù)的實(shí)參表中無(wú)法獲得相同的信息,就不能省略:或者雖然能夠獲得同樣的信息,但在它后面還仃不能省略的實(shí)參,則其自身還是不能省略,故選項(xiàng)A和B錯(cuò)誤。對(duì)于虛擬類型參數(shù)所對(duì)應(yīng)的模板實(shí)參,若能夠省略可以省略,也可以不省略,故選項(xiàng)C錯(cuò)誤.常規(guī)參數(shù)的信息無(wú)法從模板函數(shù)的實(shí)參表中獲得,因此在調(diào)用時(shí)必須顯式的說(shuō)明. 故本題答案為D。.若有下面的函數(shù)調(diào)用:fun(a+b,3,raax(n-1,b))則fun的實(shí)參個(gè)數(shù)是.A、3B、4C、5D、6本題考查的是函數(shù)的調(diào)用。在C++中,〈形參列表>是由逗號(hào)分開的,分別說(shuō)明函數(shù)的各個(gè)參數(shù)。在fun()函數(shù)中它包括3個(gè)形參,a+b,3和mx(n-l,b);當(dāng)調(diào)用一個(gè)函數(shù)時(shí),實(shí)參與形參?對(duì)?地匹配,所以實(shí)參個(gè)數(shù)也是3個(gè)。故本題答案為A。
.下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是。A、內(nèi)聯(lián)函數(shù)在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移B、內(nèi)聯(lián)函數(shù)必須通過(guò)關(guān)鍵字inline來(lái)定義C、內(nèi)聯(lián)函數(shù)是通過(guò)編譯器來(lái)實(shí)現(xiàn)的D、內(nèi)聯(lián)函數(shù)函數(shù)體的最后一條語(yǔ)句必須是return語(yǔ)句木題考查的是內(nèi)聯(lián)函數(shù)。在C++中使用inline關(guān)鍵字來(lái)定義內(nèi)聯(lián)函數(shù)。iniine關(guān)鍵字放在函數(shù)定義中函數(shù)類型之前。不過(guò)編譯器會(huì)將在類的說(shuō)明部分定義的任何函數(shù)都認(rèn)定為內(nèi)聯(lián)函數(shù),即使它們沒有inline說(shuō)明。一個(gè)內(nèi)聯(lián)函數(shù)可以有,也可以沒有return語(yǔ)句。內(nèi)聯(lián)函數(shù)在程序執(zhí)行時(shí)并不產(chǎn)生實(shí)際函數(shù)調(diào)用,而是在函數(shù)調(diào)用處將函數(shù)代碼展開執(zhí)行。內(nèi)聯(lián)函數(shù)是通過(guò)編譯器來(lái)實(shí)現(xiàn)的。 故本題答案為C。.在公有繼承的情況下,允許派生類直接訪問(wèn)的基類成員包括 一A、公有成員B、公有成員和保護(hù)成員C、公有成員、保護(hù)成員和私有成員D、保護(hù)成員本題考查的是派生類。派生類中的成員不能訪問(wèn)基類中的私有成員,可以訪問(wèn)基類中的公有成員和保護(hù)成員。此時(shí)派生類對(duì)基類中各成員的訪問(wèn)能力與繼承方式無(wú)關(guān),但繼承方式將影響基類成員在派生類中的訪問(wèn)控制屬性。故木題答案為B。.有如下程序:#include<iostream>usingnamespacestd;classObj{staticinti;public:ObjO{i++;}、Obj(){—;}staticintgetVal(){returni;});intObj::i=0;voidf(){Objob2;cout<<ob2.getVal();}intmain(){Objobi;f();0bj*ob3=newObj;cout<<ob3->getVal();deleteob3;cout<<Obj::getVal();return0;)程序的輸出結(jié)果是。A、232B、231C、222D、221本題主要考查了C++中類的價(jià)態(tài)成員。由于i是類Obj的靜態(tài)成員,該成員被類的所有實(shí)例共享。當(dāng)定義obi時(shí),系統(tǒng)自動(dòng)調(diào)用構(gòu)造函數(shù)Obj(),i的值將加1;調(diào)用函數(shù)£()時(shí),在定義ob2時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)Obj(),i的值將再加1;調(diào)用ob2.getVal();后,將i的值輸出,輸出值為2;當(dāng)調(diào)用函數(shù)f()即將結(jié)束時(shí),系統(tǒng)自動(dòng)調(diào)用析構(gòu)函數(shù)、Obj(),i的值將減1;當(dāng)定義ob3時(shí),系統(tǒng)自動(dòng)調(diào)用構(gòu)造函數(shù)Obj(),i的值將加1,調(diào)用cout〈<ob3->getVal0;后,將i的值輸出,輸出值為2;調(diào)用deleteob3后將執(zhí)行Obj的析構(gòu)函數(shù)、Ob_j(),執(zhí)行后,i的值將減1,Obj::getVal()為類的一個(gè)靜態(tài)成員函數(shù),其作用是返回私有靜態(tài)成員變量i的值1。 故本題答案為D。.下列有關(guān)繼承和派生的敘述中,正確的是 .A、如果一個(gè)派生類私有繼承其基類,則該派生類中的成員不能訪問(wèn)基類的保護(hù)成員B、派生類的成員函數(shù)可以訪問(wèn)基類的所有成員 C、基類對(duì)象可以賦值給派生類對(duì)象D、如果派生類沒有實(shí)現(xiàn)基類的?個(gè)純虛函數(shù),則該派生類是?個(gè)抽象類.下列情況中,不會(huì)調(diào)用拷貝構(gòu)造函數(shù)的是.A、用一個(gè)對(duì)象去初始化同一類的另一個(gè)新對(duì)象時(shí)B、將類的一個(gè)時(shí)象賦值給該類的另一個(gè)對(duì)象時(shí)C、函數(shù)的形參是類的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí)D、函數(shù)的返回值是類的對(duì)象,函數(shù)執(zhí)行返回調(diào)用時(shí)本題考查的是拷貝構(gòu)造函數(shù)。拷貝構(gòu)造函數(shù)通常在以下3種情況下會(huì)被調(diào)用:(1)用類的一個(gè)已知的時(shí)象去初始化該類的另一個(gè)正在創(chuàng)建的對(duì)象。(2)采用傳值調(diào)用方式時(shí),對(duì)象作為函數(shù)實(shí)參傳遞給函數(shù)形參.(3)對(duì)象作為函數(shù)返回值。故本題答案為B。.有如下程序#include<iostream>#include<iomanip>usingnamespacestd;intmainO{cout<<setprecision(3)?fixed?setfill(**')<<setw(8);cout?12.345??34.567;return0;若程序的輸出是: **12.345**34.567則程序中下劃線處遺漏的操作符是oA、setprecisionB、fixedC、setfill('*')D、setw(8)本題考杏的是輸入輸出寬度的控制和輸出精度的控制。setw(intn);設(shè)置輸入輸出的寬度。setprecision(intn);設(shè)置浮點(diǎn)數(shù)的精度(有效位數(shù)或小數(shù)位數(shù))。setfill(charc);設(shè)置填充字符。由程序可以看出,本題設(shè)置小數(shù)的輸出寬度為8,小數(shù)位數(shù)為3。輸出數(shù)據(jù)時(shí),如果數(shù)據(jù)寬度小于8,則空閑的位置用*填充。 故本題答案為D。.有如下的運(yùn)算符重載函數(shù)定義:doubleoperator+(inti,intk){returndouble(i+k);}但定義有錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是OA、+只能作為成員函數(shù)重載,而這里的+是作為非成員函數(shù)重載的B、兩個(gè)int型參數(shù)的和也應(yīng)該是int型,而這里將+的返回類型聲明為doubleC、沒有將運(yùn)算符重載函數(shù)聲明為某個(gè)類的友元D、C++已經(jīng)提供了求兩個(gè)int型數(shù)據(jù)之和的運(yùn)算符+,不能再定義同樣的運(yùn)算符本題考查的是運(yùn)算符的重載。在C++中可以對(duì)用戶自定義類的運(yùn)算符進(jìn)行重載,但不能諸如int,char,double等內(nèi)置類型運(yùn)算符進(jìn)行重載。 故本題答案為D。.有如下程序#include<iostream>usingnamespacestd;classBase{protected:BaseO{cout?*A*;}Base(charc){cout?c;)};classDerived:publicBase{public:Derived(charc){cout<<c;}};intmain(){Deriveddl(B);return0;}執(zhí)行這個(gè)程序屏幕上將顯示輸出。A、BB、BAC、ABD、BB木題考查的是派生的構(gòu)造函數(shù)和基類的構(gòu)造函數(shù)的調(diào)用順序。建立.派生類對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如卜.:(1)執(zhí)行基類的構(gòu)造函數(shù)。(2)執(zhí)行成員對(duì)象的構(gòu)造函數(shù)。(3)執(zhí)行派生類的構(gòu)造函數(shù)。派生類Derived由基類Base公有派生而來(lái)。在派生類構(gòu)造函數(shù)聲明時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用基類的缺省構(gòu)造函數(shù)。調(diào)用Deriveddl(B);后,執(zhí)行類Derived的構(gòu)造函數(shù)的Derived(charc)定義,系統(tǒng)會(huì)自動(dòng)調(diào)用基類的缺省構(gòu)造函數(shù)BaseO,輸出字母A:再執(zhí)行派生類的構(gòu)造函數(shù)Derived(charc),輸出字母B。故本題答案為C。.關(guān)于關(guān)鍵字class和lypename,卜列表述中正確的是。A、程序中的typename都可以替換為class B、程序中的class都可以替換為typenameC、在模板形參表中只能用typename來(lái)聲明參數(shù)的類型D、在模板形參表中只能用class或typename來(lái)聲明參數(shù)的類型本題考查的是模板形參。模板形參分為兩種類型:虛擬類型參數(shù)和常規(guī)參數(shù)。虛擬類型參數(shù)須用lypename或class定義。常規(guī)參數(shù)用具體的類型修飾符(如int、double、char*等)定義,故選項(xiàng)C和D錯(cuò)誤。在定義模板時(shí),關(guān)鍵字typename與class可以互相交換,但在定義類時(shí),只能使用class。typename僅僅用于定義模板,故程序中所有的typename都可以替換成class,但對(duì)于用于類定義的class不能使用typename來(lái)替換。 故本題答案為A。.在一個(gè)派生類對(duì)象結(jié)束其生命周期時(shí) 。A、先調(diào)用派生類的析構(gòu)函數(shù)后調(diào)用基類的析構(gòu)函數(shù)B、先調(diào)用基類的析構(gòu)函數(shù)后調(diào)用派生類的析構(gòu)函數(shù)C、如果基類沒有定義析構(gòu)函數(shù),則只調(diào)用派生類的析構(gòu)函數(shù)D、如果派生類沒有定義析構(gòu)函數(shù),則只調(diào)用基類的析構(gòu)函數(shù)本題考查的是派生類析構(gòu)函數(shù)的執(zhí)行順序。當(dāng)主函數(shù)結(jié)束時(shí),派生類析構(gòu)函數(shù)的執(zhí)行順序是:先執(zhí)行派生類的析構(gòu)函數(shù),再執(zhí)行成員對(duì)象的析構(gòu)函數(shù),最后執(zhí)行基類的析構(gòu)函數(shù)。 故本題答案為A。.有如下類定義:classMyBase{
intk;public:MyBase(intn=0):k(n){}intvalue()const{returnk;}};classMyDerived:MyBase{intj;public:MyDerived(inti):j(i){}intgetKOconst{returnk;}intgetjOconst{returnj;});編譯時(shí)發(fā)現(xiàn)有?處語(yǔ)法錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是. 。A、函數(shù)getK試圖訪問(wèn)基類的私有成員變量kB、在類MyDerived的定義中,基類名MyBase前缺少關(guān)鍵字public、protected或privateC、類MyDerived缺少一個(gè)無(wú)參的構(gòu)造函數(shù)D、類MyDerived的構(gòu)造函數(shù)沒有對(duì)基類數(shù)據(jù)成員k進(jìn)行初始化本題考在的是派生類訪問(wèn)權(quán)限。在個(gè)派生類中,其成員由兩部分構(gòu)成:?部分是從基類繼承得到的,另部分是自己定義的新成員,所有這些成員仍然分為公有、私有和保護(hù)三種訪問(wèn)屬性。其中,從基類繼承下來(lái)的全部成員構(gòu)成派生類的基類部分,這部分的私有成員是派生類不能宜接訪問(wèn)的,公有成員和保護(hù)成員則是派生類可以直接訪問(wèn)的。故本題答案為A。.有如下程序#include<iostream>#include<iomanip>usingnamespacestd;classMyClass{ public:MyClass(){cout<<*A,;}MyClass(charc){cout?c;}'MyClassOfcout?'B';}};intmain(){MyClasspl,*p2; p2=newMyClass(*X*);deletep2;return0;}執(zhí)行這個(gè)程序屏幕上將顯示輸出oA、ABXB、ABXBC、AXBD、AXBB本題考查的是析構(gòu)函數(shù)和構(gòu)造函數(shù)。在定義對(duì)象P1時(shí)由系統(tǒng)自動(dòng)調(diào)用構(gòu)造函數(shù)MyClass。,輸出字母A:用new創(chuàng)建單個(gè)對(duì)象MyClass(X)時(shí),要根據(jù)參數(shù)調(diào)用相應(yīng)的構(gòu)造函數(shù)MyClass(charc),輸出字母X;在執(zhí)行delete時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)、MyClass。,輸出字母B,當(dāng)對(duì)象的生存周期即將結(jié)束時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)、MyClass(),輸出字母Bo 故本題答案為D。.以下關(guān)鍵字不能用來(lái)聲明類的訪問(wèn)權(quán)限的是oA、publicB、staticC、protectedD、private本題考查的是類的定義。類定義的一般格式如下:class〈類名〉(public:〈成員函數(shù)或數(shù)據(jù)成員的說(shuō)明》〃公有成員,外部接口〈成員函數(shù)或數(shù)據(jù)成員的說(shuō)明》〃公有成員,外部接口protected:<數(shù)據(jù)成員或成員函數(shù)的說(shuō)明〉 〃保護(hù)成員private:〈數(shù)據(jù)成員或成員函數(shù)的說(shuō)明) 〃私有成員};關(guān)鍵字public、private和protected稱為訪問(wèn)權(quán)限修飾符,他們限制了類成員的訪問(wèn)控制范圍。故本題答案為B。.有如下程序#include<iostream>usingnamespacestd;inti=l;classFun(pubIic:staticinti;intvalue0{returni_l;}intvalue()const{returni+1;}};intFun::i=2;intmain(){inti=3;Funfunl;constFunfun2;return0;)若程序的輸出結(jié)果是:123則程序中下劃線處遺漏的語(yǔ)句是OA、cout?funl.value()?Fun::i?fun2.valueO;B、cout?Fun::i<<funl.value0?fun2.valueO;C、cout?funl.value()?fun2.value()?Fun::i;D、cout?fun2.value()?Fun::i<<funl.value();本題主要考查了常對(duì)象的?些概念。由于i是類Fun的郵態(tài)成員,該成員被類的所有實(shí)例共享。對(duì)于類中的靜態(tài)成員函數(shù),可以通過(guò)“類名::函數(shù)名”的方法來(lái)調(diào)用,并且該函數(shù)只能訪問(wèn)類中的崢態(tài)成員。在C++中,對(duì)于常對(duì)象的成員函數(shù)調(diào)用,將自動(dòng)調(diào)用其常成員函數(shù)。在本題中執(zhí)行funl.value。,將調(diào)用原型為"intvalue。;”的函數(shù),i的值返回1;執(zhí)行fun2.value。;,將調(diào)用原型為"intvalue()const;"的函數(shù),i的值返何3;執(zhí)行Fun::i時(shí),調(diào)用類的靜態(tài)成員i,i的值返回2。 故本題答案為A。.有如下說(shuō)明inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是。A、*p+9B、*(p+8)C、*p+=9D、p+8本題考查的是指針與數(shù)組。數(shù)組的下標(biāo)是從0到數(shù)組的長(zhǎng)度減1。*(p+i)是取數(shù)組的第i+1個(gè)元素,即下標(biāo)為i的元素。因此*(p+8)
取數(shù)組的第9個(gè)元素,即元素9。 故本題答案為B..下列符號(hào)中,正確的C++標(biāo)識(shí)符是.A、enumB、2bC、foo-9D,32本題考查的是標(biāo)識(shí)符。標(biāo)識(shí)符是一個(gè)以字母或卜劃線開頭的,由字母、數(shù)字、卜劃線組成的字符串。標(biāo)識(shí)符不能與任意一個(gè)關(guān)鍵字同名. 故本題答案為D。.下列關(guān)于輸入流類成員函數(shù)getlineO的描述中,錯(cuò)誤的是.A,該函數(shù)是用來(lái)讀取鍵盤輸入的字符串的 B、該函數(shù)讀取的字符串長(zhǎng)度是受限制的C、該函數(shù)讀取字符串時(shí),遇到終止符便停止D、該函數(shù)讀取字符串時(shí),可以包含空格本題考查的是文件流的輸入輸出。函數(shù)getline(char_type*s,streamsizen,char_typedelim)的作用是從當(dāng)前位置開始提取字符存入s所指向的具有n各字節(jié)的字符空間。字符的提取與存儲(chǔ)在遇到卜列情況時(shí)停止:(1)已提取并存儲(chǔ)了nT個(gè)字符;(2)到流尾,無(wú)字符可提取;(3)下一個(gè)要提取的字符等于結(jié)束標(biāo)志delim.故本題答案為B。.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是o標(biāo)準(zhǔn)答案為:棧棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。:者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是種“先進(jìn)后出''的線性表;而隊(duì)列只允許在表的端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表。.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為。標(biāo)準(zhǔn)答案為:3或三軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示..的任務(wù)是診斷和改正程序中的錯(cuò)誤。標(biāo)準(zhǔn)答案為:程序調(diào)試或調(diào)試程序:調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。它與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于一定的調(diào)試工具去找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,調(diào)試主要在開發(fā)階段。.一個(gè)關(guān)系表的行稱為。標(biāo)準(zhǔn)答案為:元組或記錄設(shè)計(jì)數(shù)據(jù)庫(kù)的目的實(shí)質(zhì)上是設(shè)計(jì)出滿足實(shí)際應(yīng)用需求的實(shí)際關(guān)系模型;關(guān)系中的行稱為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段。.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬丁。標(biāo)準(zhǔn)答案為:線性結(jié)構(gòu)與棧類似,隊(duì)列也是線性表,也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。.創(chuàng)建對(duì)象數(shù)組時(shí),對(duì)數(shù)組的每一個(gè)元素都將調(diào)用一次構(gòu)造函數(shù),如果沒有顯式給出數(shù)組元素的初值,
則調(diào)用缺省構(gòu)造函數(shù)。下列程序涉及到對(duì)象數(shù)組的創(chuàng)建和單個(gè)對(duì)象的創(chuàng)建,其輸出結(jié)果是一 一。#include<iostream>usingnamespacestd;classFoo{public:Foo(intx){cout?,A);}Foo(){}};intmainO(Foof[3],g(3);return0;)標(biāo)準(zhǔn)答案為:A木題考查的是類的對(duì)象數(shù)組和成員對(duì)象。從程序可以看出f[3]是類Foo的一個(gè)對(duì)象數(shù)組,因?yàn)閒[3]沒有顯式的給定初值,所以系統(tǒng)自動(dòng)調(diào)用缺省構(gòu)造函數(shù)Foo():在定義類Foo的對(duì)象g(3)時(shí),執(zhí)行相應(yīng)的構(gòu)造函數(shù)Foo(intx),輸出字母A。.插入排序算法的主要思想是:每次從未排序序列中取出的一個(gè)數(shù)據(jù),插入到已排序序列中的正確位置。InserlSort類的成員函數(shù)sort。實(shí)現(xiàn)了插入排序算法。請(qǐng)將畫線處缺失的部分補(bǔ)充完整。classInsertSort{public:InsertSort(int*aO,intnO):a(a0),n(n0){}//參數(shù)aO是某數(shù)組首地址,n是數(shù)組元素個(gè)數(shù)voidsort0{〃此函數(shù)假設(shè)已排序序列初始化狀態(tài)只包含a[0],未排序序列初始為a[l]…a[nT]for(inti=l;i<n;++i){intt=a[i];intj;for(;j>0;-j){if(t>=a[j-l])break;a[j]=a[j-l];}a[j]=t;}}protected:int*a,n;〃指針a用于存放數(shù)組首地址,n用于存放數(shù)組元素個(gè)數(shù));標(biāo)準(zhǔn)答案為:j=i本題考查的是插入排序。在Sort函數(shù)中,實(shí)現(xiàn)函數(shù)的插入排序算法,若隊(duì)列中已有i個(gè)數(shù),則向其中插入第i+1個(gè)數(shù)時(shí),依次與從下標(biāo)為iT到下標(biāo)為0的數(shù)比較,如果后面的數(shù)小于前面的數(shù),則交換這兩個(gè)數(shù),否則說(shuō)明該數(shù)已排好序,直接跳出內(nèi)層循環(huán),故此空應(yīng)填j=i。.如果不使用多態(tài)機(jī)制,那么通過(guò)基類的指針雖然可以指向派生類對(duì)象,但是只能訪問(wèn)從基類繼承的成員。下列程序沒有使用多態(tài)機(jī)制,其輸出結(jié)果是.#include<iostream>usingnamespacestd;classBase{publie:voidprintO{cout<<'B';}};classDerived:publicBase{public:voidprint(){cout?,D*;}};intmain()(Derived*pd=newDerivedO;Base*pb=pd;pb->print();pd->print();deletepd;return0;)標(biāo)準(zhǔn)答案為:BD本題考查的是派生類。派生類Derived由基類Base公有繼承而來(lái),是基類的子類型.調(diào)用pb->print();后,執(zhí)行基類的函數(shù)voidprint。,因?yàn)楸M管pb的函數(shù)print。可以對(duì)類Base的公有派生類Derived的對(duì)象pd進(jìn)行操作,但是只能使用從基類Base中繼承的成員;調(diào)用pd->print();后,執(zhí)行派生類的函數(shù)voidprintO..若有定義語(yǔ)句:int*a,b;,則變量b的數(shù)據(jù)類型是.標(biāo)準(zhǔn)答案為:整型或int本題考查的是變量的定義.int*a,b;把a(bǔ)定義為一個(gè)int類型的指針:把b定義為一個(gè)整型變量。.在聲明派生類時(shí),如果不顯式地給出繼承方式,缺省的類繼承方式是私有繼承private。已知有如下類定義:classeBase{protected:voidfun(){}};classDerived:Base{};則Base類中的成員函數(shù)fun(),在Derived類中的訪問(wèn)權(quán)限是。(注意:要求填寫private、protected或public中的一項(xiàng))。標(biāo)準(zhǔn)答案為:private.下列程序的輸出結(jié)果是o#include<iostream>usingnamespacestd;classA{inta;publie:A():a(9){}virtualvoidprint()const{cout<<a:};};classB:publieA{charb;publie:B(){b='S';}voidprintOconst{cout?b;)};voidshow(A&x){x.print();}intmain(){Adl,*p;B62;p=&d2;dl.printO:d2.printO;p->print();show(dl);show(d2);return0;)標(biāo)準(zhǔn)答案為:9SS9S本題主要考杏了缺省構(gòu)造函數(shù)。在dl、d2定義時(shí)分別調(diào)用它們的構(gòu)造函數(shù)。調(diào)用dl.print。;后,執(zhí)行類A的virtualvoidprintO函數(shù);調(diào)用d2.printO;后,執(zhí)行派生類B的構(gòu)造函數(shù)voidprint(生調(diào)用p->print();后,執(zhí)行執(zhí)行派生類B的構(gòu)造函數(shù)voidprint0:調(diào)用show(dl);后,調(diào)用函數(shù)sho*(A&x),再調(diào)用類A的virtualvoidprint0函數(shù):調(diào)用show(d2);后,調(diào)用函數(shù)show(A&x),再調(diào)用派生類B的構(gòu)造函數(shù)voidprintO..已知遞歸函數(shù)f的定義如下:intf(intn){if(n<=l)return1;〃遞歸結(jié)束情況elsereturnn*f(n-2);〃遞歸}則函數(shù)調(diào)用語(yǔ)句f(5)的返回值是 。標(biāo)準(zhǔn)答案為:15本題主要考查了遞力算法。函數(shù)每次將f(n)的值轉(zhuǎn)換成相應(yīng)的關(guān)系式n*f(n-2),直到f(l)時(shí)為止。所以f(5)=5*f(5-2)=5*3*f(1)=5*3*1=15..已知數(shù)組a中的元素個(gè)數(shù)為n,卜一列語(yǔ)句的作用是將卜一標(biāo)為i的元素移動(dòng)到卜標(biāo)為i-1的單元,其中K=i<no例如,當(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(inti=0;i<n-l;i++)a[i]=a[];標(biāo)準(zhǔn)答案為:i+1或1+1本題考查循環(huán)的基本應(yīng)用.解題思路為:循環(huán)條件是循環(huán)的結(jié)果是把將下標(biāo)為i的元素移動(dòng)到下標(biāo)為iT的單元,即a[i+l]的值賦給a[i],所以答案是i+L.己知下列程序的輸出結(jié)果是42,請(qǐng)將畫線處缺失的部分補(bǔ)充完整。#include<iostream>usingnamespacestd;classFoo{intvalue;public:Foo0:value(0){}voidsetValue(intvalue){=value;} 〃給Foo的數(shù)據(jù)成員value賦值voidprint(){cout?value;});intmain()(Foof;f.setValue(42);f.print();return0;)標(biāo)準(zhǔn)答案為:this->value或Foo::value或(*this).value本題考查的是this指針。this指針,它是成員函數(shù)的所屬對(duì)象的指針,它指向類對(duì)象的地址。本題要輸出42,也就是要把f.setValue(42);中的42賦值給Foo的數(shù)據(jù)成員value,因此橫線處缺少的是給Foo的數(shù)據(jù)成員value賦值的語(yǔ)句,所以答案為this->value或Foo::value。50.在MyClass類的定義中,對(duì)賦值運(yùn)算符二進(jìn)行重載。請(qǐng)將畫線處缺失的部分補(bǔ)充完整。MyClass::operator=(constMyClass&rhs)(if(this==&rhs)return*this;value=rhs.value;return*this;)標(biāo)準(zhǔn)答案為:MyClass&本題考查的是運(yùn)算符的重載。一個(gè)類如果要重載運(yùn)算符。通常也就需要定義自己特有的拷貝構(gòu)造函數(shù)。可以在類體中增加:(const&operatorMyClassArhs);然后在MyClass的類體外給出它的完整定義:MyClass&MyClass::operator=(constMyClass&rhs){……}因此在MyClass類的定義中缺少M(fèi)yClass&語(yǔ)句。2007年4月考試真題(第25次).下列敘述中正確的是。A、算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B、算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的D,算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)我們通常用時(shí)間復(fù)雜度和空間復(fù)雜度來(lái)衡量算法效率,嵬法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作鼠;算法所執(zhí)行的基本運(yùn)算次數(shù)與問(wèn)題的規(guī)模有關(guān),而一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間;一般來(lái)說(shuō),一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu)。故本題答案為B。2.對(duì)下列二叉樹
A進(jìn)行前序遍歷的結(jié)果為A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二義樹的遍歷可以分為3種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。 故本題答案為C。.下列敘述中正確的是.A,軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤B、軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置C、為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作D、軟件測(cè)試是證明軟件沒有錯(cuò)誤關(guān)于軟件測(cè)試的目的,GrenfordJ.Myers在(TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程:一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。整體來(lái)說(shuō),軟件測(cè)試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。故本題答案為A。.某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為.A、n+1B、n-1C、2nD、n/2二叉樹的性質(zhì)3:在任意-?棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。木題中度為2的結(jié)點(diǎn)數(shù)為n,故葉子結(jié)點(diǎn)數(shù)為n+1個(gè).故本題答案為A..下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是.A,繼承性B、多態(tài)性C、類比性D、封裝性對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對(duì)應(yīng)關(guān)系。對(duì)象之間通過(guò)傳遞消息互相聯(lián)系,以模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系。面向?qū)ο蠹夹g(shù)有三個(gè)重要特性,封裝性、繼承性和多態(tài)性。故本題答案為C。.下列對(duì)隊(duì)列的敘述正確的是.A、隊(duì)列屬于非線性表 B、隊(duì)列按"先進(jìn)后出”原則組織數(shù)據(jù)C、隊(duì)列在隊(duì)尾刪除數(shù)據(jù) D、隊(duì)列按"先進(jìn)先出”原則組織數(shù)據(jù)隊(duì)列是指允許在端進(jìn)行插入、而在另?端進(jìn)行刪除的線性表,允許插入的端稱為隊(duì)尾,允許刪除的端稱為隊(duì)頭.它乂稱為“先進(jìn)先出"或"后進(jìn)后出”的線性表,體現(xiàn)了"先來(lái)先服務(wù)”的原則。故本題答案為D。7.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是 。A、各模塊應(yīng)包括盡量多的功能 B、各模塊的規(guī)模應(yīng)盡量大C、各模塊之間的聯(lián)系應(yīng)盡量緊密 D、模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度軟件設(shè)計(jì)中通常采用結(jié)構(gòu)化設(shè)計(jì)方法,模塊的獨(dú)立程度是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)。內(nèi)聚性是?個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量;耦合性是
模塊間互相連接的緊密程度的度量。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利了提高模塊的獨(dú)立性。故木題答案為D。.下列敘述中錯(cuò)誤的是.A、在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致B、數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題C、數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)D、數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)獨(dú)立性的特點(diǎn),數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級(jí)。物理獨(dú)立性即是數(shù)據(jù)的物理結(jié)構(gòu)的改變都不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu);邏輯獨(dú)立性即數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)的改變,不需要相應(yīng)修改應(yīng)用程序。所以,在數(shù)據(jù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)并不一定與邏輯結(jié)構(gòu)一致。故本題答案為A。.在E-R圖中,用來(lái)表示實(shí)體之間聯(lián)系的圖形是A、矩形B、橢圓形C、菱形D、平行四邊形E-R圖中用矩形發(fā)示實(shí)體集,用橢圓表示屬性,用菱形發(fā)示聯(lián)系。故本題答案為C。.在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是 一。A、并B、交C、投影D、笛卡兒乘積對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí),需要找到用戶感興趣的數(shù)據(jù),這就需要對(duì)關(guān)系進(jìn)行一定的關(guān)系運(yùn)算。關(guān)系的基本運(yùn)算有兩類:一類是傳統(tǒng)的集合運(yùn)算(并、交、差),另一類是專門的美系運(yùn)算(選擇、投影、連接).集合的并、交、差:設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu),R和S的并是由屬于R和S,或者同時(shí)屬于R和S的所有元組成的集合,記作RUS;R和S的交是由既屬于R又屬于S的所有元組組成的集合,記作RCS;R和$的差是由屬于R但不屬于S的所有元組組成的集合,記作R-S.故本題答案為B。.有如下程序段:inti=0,j=l:TOC\o"1-5"\h\zint&r=i: // ①r=j: // ②int*p=&i; //③*p=&r; // ④其中會(huì)產(chǎn)生編譯錯(cuò)誤的語(yǔ)句是.A、④B、③C、②D、①本題考查的是引用。&r是指一個(gè)指向整型變鼠的地址,p為一個(gè)指向整型變最的指針,*p則是一個(gè)整型變量,將地址賦值給整型變量是非法的。故本題答案為A。.使用輸入輸出操作符setw,可以控制.A、輸出精度 B、輸出寬度C、對(duì)齊方式D、填充字符本題考查的是輸入輸出操作符。使用輸入輸出操作符setw,可以控制輸入輸出寬度。故本題答案為B..若有如下類聲明classMyClass{public:MyClassO{cout?l;}};執(zhí)行下列語(yǔ)句MyClassa,b[2],*p[2];以后,程序的輸出結(jié)果是.a、iib、inc、mid、mu本題考查的是對(duì)象數(shù)組。"MyClassa,b[2],*p[2]執(zhí)行時(shí),將初始化一個(gè)變量名為a的MyClass實(shí)例,其為"1”,然后又初始化一個(gè)含有兩個(gè)MyClass實(shí)例的數(shù)組,它將執(zhí)行兩次MyClass的構(gòu)造函數(shù),輸出兩個(gè)"1”,對(duì)于P,它是一個(gè)含有2個(gè)指向MyClass類型的指針,它不會(huì)調(diào)用MyClass的構(gòu)造函數(shù)。故本題答案為B。.有如下函數(shù)模板:template<classT>Tsquare(Tx){returnx*x;}其中T是oA、函數(shù)形參B、函數(shù)實(shí)參C、模板形參 D、模板實(shí)參本題考查的是函數(shù)模板格式。聲明一個(gè)函數(shù)模板格式是:template”模板形參表聲明>〉《函數(shù)聲明》其中<模板形參表聲明》是由一個(gè)或多個(gè)〈模板形參)組成(如果是多個(gè)需要用逗號(hào)隔開)。每個(gè)<模板形參》具有卜.面幾種形式:(l)lypename<參數(shù)名>(2)class(參數(shù)名〉(3)〈類型修飾〉〈參數(shù)名〉這里的<參數(shù)名》可以是任意的標(biāo)識(shí)符。故本題答案為C。.有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;publie:test(){cout<<l,constructorH?endl;}test(inta){cout?a<<endl;}test(consttest&_test){a=_test.a;cout<<McopyconstruetorH?endl;}-test(){cout?**destructorM?endl;}};intmain(){testA(3);return0;)運(yùn)行時(shí)輸出的結(jié)果是oA、3constructordestructorcopyconstructordestructorD、3destructor本題考查的是構(gòu)造函數(shù)和析構(gòu)函數(shù)。"testA(3);”利用整數(shù)3來(lái)初始化類型A的實(shí)例,它將調(diào)用構(gòu)造函數(shù)test::test(inta);輸出"3”,當(dāng)主函數(shù)結(jié)束后,將執(zhí)行A的析構(gòu)函數(shù),輸出"destruetor"。故本題答案為D。.通過(guò)運(yùn)算符重載,可以改變運(yùn)算符原有的」A、操作數(shù)類型 B、操作數(shù)個(gè)數(shù)C、優(yōu)先級(jí)D、結(jié)合性本題考查的是重載運(yùn)算符.C++允許重載運(yùn)算符,在重載運(yùn)算符時(shí),不能改變操作數(shù)的個(gè)數(shù),優(yōu)先級(jí),結(jié)合性,但可以改變操作數(shù)的類型,但對(duì)于有些運(yùn)算符是不允許重載的,如":等,有些則不建議重裁,如等。故本題答案為A。.執(zhí)行下列語(yǔ)句段后,輸出字符"*"的個(gè)數(shù)是 .for(inti=50;i>l:—i)cout?A,48B、49C、50D、51本題考杏的是for循環(huán)語(yǔ)句。本程序的for語(yǔ)句中,循環(huán)控制變量i的初始值為50,條件表達(dá)式"i〉l"規(guī)定當(dāng)i的值大于1時(shí)重復(fù)執(zhí)行循環(huán)體;"一i”我示每循環(huán)次i的值減1。當(dāng)i等于1的時(shí)候終止循環(huán),此時(shí)循環(huán)次數(shù)為49次。故本題答案為B。.在語(yǔ)句cin>>data;中,cin是。A、C++的關(guān)鍵字 B、類名C、對(duì)象名D、函數(shù)名本題考查的是基本輸入/輸出流對(duì)象。C++程序的輸入輸出操作是通過(guò)標(biāo)準(zhǔn)庫(kù)中的輸入/輸出流對(duì)象來(lái)完成的。在頭文件iostream中定義了代表屏幕的標(biāo)準(zhǔn)輸出流對(duì)象coin和代表鍵盤的標(biāo)準(zhǔn)輸入流對(duì)象cin。由此可知cin是一個(gè)ioslream類型的對(duì)象。故本題答案為C。.有如下程序:#include<iostream>usingnamespacestd;intmainO{charstr[100],*p;cout?"Pleaseinputastring:";cin>>str;p=str;for(inti=0;*p!='\0,;p++,i++);cout?i<<endl;return0;)運(yùn)行這個(gè)程序時(shí),若輸入字符串為abedefgabed則輸出結(jié)果是。A、7B、12C、13D、100本題考杳的是流對(duì)象。在采用cin輸入字符串時(shí),將以空格分割各字符串,因此在輸入"abedefgabce”,只耨"abedefg”賦值給str,而下面for循環(huán)的目的是計(jì)算該字符串的長(zhǎng)度,不難得出該字符的長(zhǎng)度為7。故本題答案為A..卜列關(guān)于派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的說(shuō)法中,錯(cuò)誤的是 .A、派生類的構(gòu)造函數(shù)會(huì)隱含調(diào)用基類的構(gòu)造函數(shù)B、如果基類中沒有缺省構(gòu)造函數(shù),那么派生類必須定義構(gòu)造函數(shù)C、在建立派生類對(duì)象時(shí),先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)D、在銷毀派生類對(duì)象時(shí),先調(diào)用基類的析構(gòu)函數(shù),再調(diào)用派生類的析構(gòu)函數(shù)本題考查的是派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)。在派生類實(shí)例化時(shí),派生類的構(gòu)造函數(shù)將隱式調(diào)用基類的構(gòu)造函數(shù),完成基類的初始化,如果基類沒有缺省構(gòu)造函數(shù),派生類必須顯式定義構(gòu)造函數(shù),以使得基類能夠調(diào)用基類的構(gòu)造函數(shù),以完成基類的初始化,在對(duì)象銷毀時(shí),將首先執(zhí)行派生類的析構(gòu)函數(shù),然后執(zhí)行基類的析構(gòu)函數(shù)。故本題答案為D。.下列函數(shù)模板的定義中,合法的是.template<typenameT>Tabs(Tx){returnx<0?-x:x;}templateclass<T>Tabs(Tx){returnx<0?-x:x;}templateT<classT>abs(Tx){returnx<0?-x:x;}templateTabs(Tx){returnx<0?-x:x;}本題考查的是函數(shù)模板格式。聲明一個(gè)函數(shù)模板格式是:template<〈模板形參表聲明〉》〈函數(shù)聲明)其中〈模板形參表聲明》是由?個(gè)多多個(gè)〈模板形參〉組成(如果是多個(gè)需要用逗號(hào)隔開)。每個(gè)(模板形參〉具有下面幾種形式:typename〈參數(shù)名)class〈參數(shù)名〉(3)〈類型修飾〉〈參數(shù)名〉這里的〈參數(shù)名〉可以是任意的標(biāo)識(shí)符。 故本題答案為A..有如下程序:#include<iostream>usingnamespacestd;classPoint{public:staticintnumber;public:Point(){number++;}-Point(){number―;}};intPoint::number=0;voidmain(){Point*ptr;PointA,B;(Point*ptr_point=newPoint[3];ptr=ptr_point;)PointC;cout?Point::number<<endl;delete[]ptr;}運(yùn)行時(shí)輸出的結(jié)果是.A,3B、4C、6D、7本題考查的是對(duì)象數(shù)組與靜態(tài)數(shù)據(jù)成員。在程序運(yùn)行時(shí),首先將靜態(tài)變量初始化為0,當(dāng)實(shí)例化A、B時(shí),將執(zhí)行兩次構(gòu)造函數(shù),number的值將變?yōu)?,語(yǔ)句"ptr_point=newPoint[3]定義了?個(gè)長(zhǎng)度為3的Point型數(shù)組,從而乂執(zhí)行二次構(gòu)造函數(shù),number值為5,定義變量C時(shí),再次執(zhí)行Point的構(gòu)造函數(shù),最終number的值為6。 故木題答案為C.23.字面常量42、4.2、42L的數(shù)據(jù)類型分別是.A,long、double,intB、long,float,intC,int、double-,longD、int,float,long本題考杳的是數(shù)據(jù)類型。對(duì)于整型數(shù),如不采用后綴說(shuō)明符,默認(rèn)為int類型,L表示長(zhǎng)整型;對(duì)于浮點(diǎn)數(shù),不加后綴標(biāo)識(shí)符默認(rèn)類型為double類型,對(duì)于單精度浮點(diǎn)數(shù)要加"F”后綴。 故本題答案為C..下列關(guān)于類定義的說(shuō)法中,正確的是.A、類定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明B、類成員的缺省訪問(wèn)權(quán)限是保護(hù)的C、數(shù)據(jù)成員必須被聲明為私有的D、成員函數(shù)只能在類體外進(jìn)行定義本題考杳的是類的格式。類的定義格式?般地分為說(shuō)明部分和實(shí)現(xiàn)部分。說(shuō)明部分是用來(lái)說(shuō)明該類中的成員,包含數(shù)據(jù)成員的說(shuō)明和成員函數(shù)的說(shuō)明。成員函數(shù)可以在類體外進(jìn)行定義也可以在類體內(nèi)進(jìn)行。從訪問(wèn)權(quán)限上來(lái)分,類的成員又分為:公有的(public),私有的(private)和保護(hù)的(protected)三類。類成員的缺省訪問(wèn)權(quán)限是私有的. 故本題答案為A。.有如下函數(shù)定義:voidfunc(inta,int&b){a++;b++;}若執(zhí)行代碼段:intx=0,y=l;func(x,y):則變量x和y的值分別是 。A,0和1B、1和1C、0和2 D、1和2本題考查的是函數(shù)調(diào)用。本題中定義了一個(gè)func函數(shù),當(dāng)調(diào)用func(x,y);函數(shù)時(shí),形參a和b被初始化為實(shí)參x和y的引用,參數(shù)a為非引用類型,參數(shù)b為引用類型,在執(zhí)行該函數(shù)時(shí),對(duì)形參a的改變不會(huì)影響到實(shí)參,形參b的改變將會(huì)影響到實(shí)參,因此調(diào)用func函數(shù)后,形參變量a=l,b=2,實(shí)參變量x=0,y=2。 故本題答案為C。26.虛函數(shù)支持多態(tài)調(diào)用,一個(gè)基類的指針可以指向派生類的對(duì)象,而且通過(guò)這樣的指針調(diào)用虛函數(shù)時(shí),被調(diào)用的是指針?biāo)傅膶?shí)際對(duì)象的虛函數(shù)。而非函數(shù)不支持多態(tài)調(diào)用。有如下程序:#include<iostream>usingnamespacestd;classBase(public:virtualvoidf(){cout<<"f0+":}voidg(){cout?"g0+";});classDerived:publicBase{public:voidf(){cout?"f+":}voidg(){cout?"g+";}};intmain()Derivedd:Base*p=&d;p->f();p->g();return0;}運(yùn)行時(shí)輸出的結(jié)果是0A、f+g+B、f0+g+C、f+g0+D、f0+g0+本題考查的是多態(tài)與虛擬函數(shù)。Derived::f()在基類中被定義為虛擬函數(shù),故在執(zhí)行p->f()時(shí),將根據(jù)該指針?biāo)笇?duì)象的實(shí)際類型調(diào)用成員函數(shù),而P是指向一個(gè)Derived類型的指針,故在調(diào)用時(shí),將調(diào)用Derived::f(),輸出對(duì)于p->g(),由于g()沒有被定義成虛擬函數(shù),將直接依據(jù)指針類型調(diào)用該成員函數(shù),p是一個(gè)Base類的指針,故將調(diào)用Base::g(),從而輸出"g0+”,故本題輸出為"f+gO+J故本題答案為C。.下面程序中對(duì)一維坐標(biāo)點(diǎn)類Point進(jìn)行運(yùn)算符重載^include<iostream>usingnamespacestd;classPoint{public:Point(intval){x=val;}Point&operator++(){x++;return*this;}Pointoperator++(int){Pointold=*this;++(*this);returnold;)intGetX0const{returnx;}private:intx;);intmain()(Pointa(10);cout?(++a).GetX();cout?a++.GetX();return0;)編譯和運(yùn)行情況是OA、運(yùn)行時(shí)輸出1011B、運(yùn)行時(shí)輸出1111C、運(yùn)行時(shí)輸出1112D、編譯有錯(cuò)本題考查的是運(yùn)算符重載。 對(duì)于++,一運(yùn)算符有前置與后置兩種方式,在以成元函數(shù)方式重載該運(yùn)算符時(shí),對(duì)于前置運(yùn)算符可以以通常的一元運(yùn)算的方式進(jìn)行重載,對(duì)于后置運(yùn)算符,則需在參數(shù)列表中加一個(gè)輔助類型的參數(shù),以便于前置運(yùn)算符區(qū)別。本題的輸出結(jié)果為1111。 故本題答案為B。.下列字符串中,不可以用作C++標(biāo)識(shí)符的是。A、y_2006B、_TEST_H C、ReturnD、switch本題考查的是C++標(biāo)識(shí)符。 C++標(biāo)識(shí)符是用字母、數(shù)字、下劃線組成的字符串。標(biāo)識(shí)符不能與任何一個(gè)關(guān)鍵字同名,因此switch不能作為標(biāo)識(shí)符。 故本題答案為D。30.有如下程序:#include<iostream>usingnamespacestd;classSample(friendlongfun(Samples);public:Sample(longa){x=a;}private:longx;};longfun(Samples){if(s.x<2)return1;returns.x*fun(Sample(s.xT));)intmain(){intsum=0;for(inti=0;i<6;i++){sum+=fun(Sample(i));}cout<<sum;return0;)運(yùn)行時(shí)輸出的結(jié)果是OA、120B、16C、154D、34本題考查的是友元函數(shù)。令funl(i)=fun(Sample(i));則i=0或i=l時(shí),由于s.x<2,故funl(i)均返回1;當(dāng)i>=2時(shí),funl(i)=i*funl(i-l);故sum=funl(0)+funl(1)+funl(2)+funl(3)+funl(4)+funl(5)=1+l+2*funi(1)+3*funl(2)+4*funl(3)+5*funl(4)=0!+1!+2!+3!+4!+5!=1+1+2+6+24+120=154o 故本題答案為C。.如果不使用多態(tài)機(jī)制,那么通過(guò)基類的指針雖然可以指向派生類對(duì)象,但是只能訪問(wèn)從基類繼承的成員。有如下程序,沒有使用多態(tài)機(jī)制。#include<iostream>usingnamespacestd;classBase{inta,b;public:Base(intx,inty){a=x;b=y;}voidshow(){cout<<a?\*?b<<endl;});classDerived:publicBase{intc,d;public:Derived(intx,inty,intz,intm):Base(x,y){c=z;d=m;}voidshow(){cout<<c?\*?d<<endl;});intmain()(BaseBl(50,50),*pb;DerivedDI(10,20,30,40);pb=&Dl;pb->show();return0;}運(yùn)行時(shí)輸出的結(jié)果是oA、10,20B、30,40C、20,30D、50,50本題考查的是繼承與多態(tài)。 由于函數(shù)show是非虛擬的,故其調(diào)用依據(jù)其指針類型決定,而pb是一個(gè)指向Base的指針,故在調(diào)用show時(shí),將調(diào)用Base::show,輸出成員變量a,b,而pb是指向變量D1的,D1在實(shí)例化時(shí),將基類中a,b初始化為10、20,故木題的輸出為10,20。故本題答案為A。.有如下程序:^include<iostream>usingnamespacestd;classA{public:staticinta;voidinitO{a=l;}A(inta=2){init0;a++;)};intA::a=0;Aobj;intmain(){cout<<obj.a;return0;}運(yùn)行時(shí)輸出的結(jié)果是OA、0B>1C、2D、3本題考查的是靜態(tài)成員變量。由于定義了全局變量obj,它將導(dǎo)致執(zhí)行A的構(gòu)造函數(shù),而A的構(gòu)造函數(shù)調(diào)用了其成員函數(shù)init,該函數(shù)負(fù)責(zé)將成員變量(靜態(tài))初始化為1,對(duì)于語(yǔ)句,其a是指構(gòu)造函數(shù)的形參a,而不是成員變量a,它不會(huì)影響類的靜態(tài)成員值。 故本題答案為B。.有如下程序:#include<iostream>usingnamespacestd;classA{public:A(inti){x=i;}voiddispa(){cout<<x?private:intx;);classB:publicA{public:B(inti):A(i+10){x=i;}voiddispbO{dispa0;cout<<x?endl;}private:intx:);intmain()(Bb(2);b.dispbO;return0;}運(yùn)行時(shí)輸出的結(jié)果是OA、10,2B、12,10C、12,2D、2,2本題考查的是類的繼承與實(shí)例化。"Bb(2):"以整數(shù)2實(shí)例化變量b,在執(zhí)行B的構(gòu)造函數(shù)時(shí),以i+10即12去調(diào)用類B的父類的構(gòu)造函數(shù),從而將A::x初始化為12,然后將B::x賦值為2。在執(zhí)行b.dispbO時(shí),先調(diào)用了父類中dispa,輸出A::x,即12,再輸出B::x,即2,從而運(yùn)行結(jié)果為"12,2"。 故本題答案為C。.下列有關(guān)繼承和派生的敘述中,正確的是oA、派生類不能訪問(wèn)基類的保護(hù)成員 B、作為虛基類的類不能被實(shí)例化C、派生類應(yīng)當(dāng)向基類的構(gòu)造函數(shù)傳遞參數(shù) D、虛函數(shù)必須在派生類中市:新實(shí)現(xiàn)本題考查的是繼承和派生。派生類可以訪問(wèn)基類中的保護(hù)、公有成員。當(dāng)基類有默認(rèn)構(gòu)造函數(shù)時(shí),派生類可以不必向某類傳遞參數(shù),直接調(diào)用派生類的默認(rèn)構(gòu)造函數(shù),僅純虛函數(shù)必需要在非抽象的子類中實(shí)現(xiàn),虛基類不能被實(shí)例化。故本題答案為B。.為了取代C中帶參數(shù)的宏,在C++中使用.A、重載函數(shù) B、內(nèi)聯(lián)函數(shù) C、遞歸函數(shù) D、友元函數(shù)本題考查的是內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)就是小型函數(shù),犧牲空間來(lái)節(jié)省函數(shù)調(diào)用的開銷,一般用作比較小的函數(shù),即函數(shù)內(nèi)部沒有循環(huán)、開關(guān)語(yǔ)句等。內(nèi)聯(lián)函數(shù)被發(fā)明出來(lái)就是為了取代C中的宏。 故本題答案為B。.軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測(cè)試屬于階段。軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中軟件編內(nèi)和軟件測(cè)試都屬于軟件開發(fā)階段;維護(hù)是軟件生命周期的最后個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的個(gè)階段,軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。.軟件測(cè)試分為白箱(盒)測(cè)試和黑箱(盒)測(cè)試。等價(jià)類劃分法屬于測(cè)試。軟件測(cè)試的方法有3種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明.設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:黑盒測(cè)試方法和白盒測(cè)試方法。黑盒測(cè)試方法主要有:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖等,主要用于軟件確認(rèn)測(cè)試。
.在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用對(duì)其中的圖形元素進(jìn)行確切解釋。數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)了輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。數(shù)據(jù)字典把不同的需求文檔和分析模型緊密地結(jié)合在一起,與各模型的圖形表示配合,能清楚地表達(dá)數(shù)據(jù)處理的要求。概括地說(shuō)。數(shù)據(jù)字典的作用是對(duì)DFD中出現(xiàn)的被命名的圖形元素的確切解釋。.在深度為7的滿:叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為。所謂滿二義樹是指這樣的?種二又樹:除最后?層外,每層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn).這就是說(shuō),在滿二叉樹中,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第K層上有2卜1個(gè)結(jié)點(diǎn),且深度為m的滿二叉樹有2111T個(gè)結(jié)點(diǎn)。在滿二叉樹中,最后一層的結(jié)點(diǎn)個(gè)數(shù)就是葉子結(jié)點(diǎn)的個(gè)數(shù),本題中深度為7,故葉子結(jié)點(diǎn)數(shù)為27-1=127,且第七層的葉子結(jié)點(diǎn)數(shù)為27T=64。由二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè),可知:本題中度為2的結(jié)點(diǎn)數(shù)為127-64=63個(gè)。.在數(shù)據(jù)庫(kù)系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為。數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等.數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。.已知一個(gè)函數(shù)的原型是:intfn(doublex);若要以5.27為實(shí)參調(diào)用該函數(shù),應(yīng)使用表達(dá)式o函數(shù)的調(diào)用形式為:<函數(shù)名)(<實(shí)參表))當(dāng)調(diào)用一個(gè)函數(shù)時(shí),其實(shí)參的個(gè)數(shù)、類型及排列次序必須與函數(shù)定義時(shí)的形參一致,也就是說(shuō)實(shí)參與形參應(yīng)該一對(duì)一地匹配。.有如下程序:#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=l):k(x){}?DA(){cout?k;}};intmain(){DAd[]={DA(3),DA(3),DA(3)}:DA*p=newDA[2];delete[]p;return0;)這個(gè)程序的輸出結(jié)果是°定義DA型數(shù)組d時(shí),將導(dǎo)致DA的構(gòu)造函數(shù)被執(zhí)行三次,每次執(zhí)行時(shí),其傳入?yún)?shù)為3,定義DA指針p時(shí),將執(zhí)行兩次默認(rèn)構(gòu)函數(shù),其參數(shù)為1,執(zhí)行"delete[]p”時(shí),將執(zhí)行DA的構(gòu)造函數(shù),輸出p[0].k,p[l].k(兩者均為1),在程序運(yùn)行結(jié)束后,將釋放局部變量,從而導(dǎo)致數(shù)組d中的三個(gè)元素被析構(gòu),輸出中的a值(均為3)。 標(biāo)準(zhǔn)答案為:11333.有如下程序:
#include<iostream>usingnamespacestd;classCA{public:CAO{cout?'A';});classCB:privateCA(public:CBO{cout?'B*;)};intmain(){CAa;CBb;return0;)這個(gè)程序的輸出結(jié)果是O"CA語(yǔ)句將導(dǎo)致CA的構(gòu)造函數(shù)被執(zhí)行,輸出"A","CAb;〃語(yǔ)句將導(dǎo)致CB的構(gòu)造函數(shù)執(zhí)行,由于CB私有繼承CA,故在執(zhí)行CB的構(gòu)造函數(shù)前,先執(zhí)行CA的構(gòu)造函數(shù),輸出“A”,然后執(zhí)行CB的構(gòu)造函數(shù),輸出"B"。 標(biāo)準(zhǔn)答案為:AAB.用來(lái)派生新類的類稱為,而派生出的新類稱為它的子類或派生類。當(dāng)類A繼承自或派生于類B時(shí),類B稱為類A的基類或父類,類A稱為類B的子類或派生類。.若要訪問(wèn)指針變量p所指向的數(shù)據(jù),應(yīng)使用表達(dá)式。本題考查的是指針的應(yīng)用。 要訪問(wèn)一個(gè)指針?biāo)赶虻臄?shù)據(jù),應(yīng)該用*運(yùn)算符。.C++中只有兩個(gè)邏輯常量:true和。本題考查的是邏輯變量。 在C++中引進(jìn)了兩個(gè)邏輯變量,true與false。.如下類定義中包含了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)的原型聲明,請(qǐng)?jiān)跈M線處填寫正確的內(nèi)容,使拷貝構(gòu)造函數(shù)的聲明完整。classmyClass{private:intdata;public:myClass(intvalue);〃構(gòu)造函數(shù)myClass(constanotherObject);〃拷貝構(gòu)造函數(shù)}拷貝函數(shù)的參數(shù)必須為其所對(duì)應(yīng)類的引用類型。要實(shí)現(xiàn)拷貝,首先要保證前后類型一致,其次,不能為非引用類型,否則將遞歸調(diào)用拷貝構(gòu)造函數(shù)。 標(biāo)準(zhǔn)答案為:myClass&.若將一個(gè)二元運(yùn)算符重載為類的成員函數(shù),其形參個(gè)數(shù)應(yīng)該是個(gè)。函數(shù)可以以成員函數(shù)與友元函數(shù)這兩種不同的方式來(lái)重載。對(duì)于二元運(yùn)算符來(lái)說(shuō),當(dāng)采用成員函數(shù)方式重我時(shí),其實(shí)參的第?個(gè)參數(shù)為該對(duì)象本身,即a.operatorx(b)等價(jià)于axb,當(dāng)采用友元函數(shù)重載時(shí),必須要具有兩個(gè)參數(shù)。peratorx(a,b)等價(jià)于axb。(其中x表示運(yùn)算符)。標(biāo)準(zhǔn)答案為:一或1.C++語(yǔ)言中的多態(tài)性分為編譯時(shí)的多態(tài)性和時(shí)的多態(tài)性。C++的多態(tài)表現(xiàn)在編譯時(shí)多態(tài)與運(yùn)行時(shí)多態(tài)兩個(gè)方面,所謂編譯時(shí)多態(tài)是指源代碼在編譯時(shí)必須能夠確定要執(zhí)行的代碼,如函數(shù)的重載,模板等,在編譯時(shí)必須要知道函數(shù)的參數(shù)類型,模板的實(shí)參等,以使編譯器生成唯?的內(nèi)部標(biāo)識(shí),對(duì)于運(yùn)行時(shí)多態(tài),在程序運(yùn)行時(shí),根據(jù)程序當(dāng)前的數(shù)據(jù)環(huán)境選擇執(zhí)行不同的代碼,如虛擬函數(shù)。.有如下定義:classMA{intvalue;public:MA(intn=0):value(n){});MA*ta,tb;其中MA類的對(duì)象名標(biāo)識(shí)符是ota是一個(gè)指向MA對(duì)象的指針,它不是對(duì)象名標(biāo)識(shí),tb是一個(gè)MA對(duì)象的標(biāo)識(shí)。2007年9月考試真題(第26次).下列敘述中正確的是.A、數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B,數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年學(xué)校食堂廚師崗位聘任協(xié)議
- 2025年度辦公樓租賃合同全新版
- 2025年度體育場(chǎng)館清潔工勞動(dòng)合同范本(含設(shè)施清潔與保養(yǎng))
- 2025年度租賃型公寓退房協(xié)議
- 二零二五年度電商企業(yè)客服外包智能服務(wù)系統(tǒng)合作協(xié)議
- 交通監(jiān)控設(shè)施安裝合同書樣本
- 二手房交易合同定金協(xié)議范本
- 二手房按揭貸款購(gòu)房合同
- 二手車輛買賣合同范本
- 個(gè)人股權(quán)轉(zhuǎn)讓合同范本標(biāo)準(zhǔn)
- 2024屆清華大學(xué)強(qiáng)基計(jì)劃數(shù)學(xué)學(xué)科筆試試題(附答案)
- 骨科手術(shù)的術(shù)后飲食和營(yíng)養(yǎng)指導(dǎo)
- 旅游定制師入行培訓(xùn)方案
- 奧數(shù)培訓(xùn)班課件
- 2024年中國(guó)南方航空股份有限公司招聘筆試參考題庫(kù)含答案解析
- 六年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題100題
- 個(gè)人代賣協(xié)議
- 賞析小說(shuō)語(yǔ)言(二)
- 【立高食品公司的償債能力現(xiàn)狀及問(wèn)題分析(論文9000字)】
- 10.《運(yùn)動(dòng)技能學(xué)習(xí)與控制》李強(qiáng)
- 冀教版數(shù)學(xué)七年級(jí)下冊(cè)綜合訓(xùn)練100題含答案
評(píng)論
0/150
提交評(píng)論