版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2006年9月考試真題(第24次)
i.從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是____。
A、概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B、過程控制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ù)庫模式;詳細(xì)設(shè)計(jì)確立每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算
法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。故本題答案為A。
2.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是解決數(shù)據(jù)的___。
A、存儲(chǔ)問題B、共享問題C、安全問題D、保護(hù)問題
由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用
范圍。數(shù)據(jù)的共享本身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。因
此,數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決數(shù)據(jù)共享問題。
故本題答案為B。
3.在數(shù)據(jù)庫系統(tǒng)中,用戶所見數(shù)據(jù)模式為。
A、概念模式B、外模式C、內(nèi)模式D、物理模式
數(shù)據(jù)庫管理系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。外模式又稱為子模式,或用戶模式,是指數(shù)據(jù)庫用戶所看
到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式又稱為邏輯模式,是數(shù)據(jù)庫中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所
見到的數(shù)據(jù)視圖的總和。外模式是模式的一部分。內(nèi)模式又稱為存儲(chǔ)模式或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)上的
表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。故本題答案為B。
4.在長度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為。
A、63B、64C、6D、7
在進(jìn)行順序查找過程中,如果線性表中的第1個(gè)元素就是被查找元素,則只需做一次比較就查找成功,查找效率最高:但
如果被查找的元素是線性表中的最后一個(gè)元素,或者被杏找的元素根本就不在線性表中,則為了杳找這個(gè)元素需要與線性表中所
有的元素進(jìn)行比較,這是順序查找的最壞情況。所以對(duì)長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較n次。故
本題答案為B。
5.對(duì)下列二叉樹
進(jìn)行中序遍歷的結(jié)果是。
A、ACBDFEGB、ACBDFGEC、ABDCGEFD、FCADBEG
二叉樹的中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;
并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。
故本題答案為A。
6.下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是。
A、軟件測試B、概要設(shè)計(jì)C、軟件維護(hù)D、詳細(xì)設(shè)計(jì)
軟件生命周期分為軟件定義、軟件開發(fā)及軟件維護(hù)。其中軟件開發(fā)階段的任務(wù)中軟件設(shè)計(jì)階段可分解成概要設(shè)計(jì)階段和詳
細(xì)設(shè)計(jì)階段;軟件維護(hù)不屬于軟件開發(fā)階段。故本題答案為C。
7.下列敘述中正確的是?
A、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C、一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D、上述三種說法都不對(duì)
算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度:算法在運(yùn)行過程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度:算法
的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,即算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù),為了能夠比較客觀地反映出?個(gè)算
法的效率,在度量一個(gè)算法的工作量時(shí),不僅應(yīng)該與所使用的計(jì)算機(jī)、程序設(shè)計(jì)語言以及程序編制者無關(guān),而且還應(yīng)該與算法實(shí)
現(xiàn)過程中的許多細(xì)節(jié)無關(guān)。為此,可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量算法的工作量。故本題答案為D。
8.下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是o
A、源程序要文檔化B、數(shù)據(jù)說明的次序要規(guī)范化C、避免濫用goto語句
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ù)說明的次序要規(guī)范化;3、語句的結(jié)構(gòu)應(yīng)該簡單直接,不應(yīng)該為提高
效率而把語句復(fù)雜化,避免濫用got。語句。模塊設(shè)計(jì)要保證低耦合、高內(nèi)聚。故本題答案為D。
9.設(shè)有如下三個(gè)關(guān)系表
從圖中可以看出,關(guān)系T是關(guān)系R和關(guān)系S的簡單擴(kuò)充,而擴(kuò)充的符號(hào)為X,所以答案為T=RXS。
故本題答案為C。
10.數(shù)據(jù)庫設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和。
A、編碼設(shè)計(jì)B、測試階段C、運(yùn)行階段D、物理設(shè)計(jì)
數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段及數(shù)據(jù)庫運(yùn)行和
維護(hù)階段。故本題答案為D。
11.下列運(yùn)算符不能重投為友元函數(shù)的是___。
A、=()[]->B、+-++~C、><>=<=D、+=-=*=/=
本題考查的是運(yùn)算符的重載。
在C++中,可以通過兩種方式對(duì)運(yùn)算符進(jìn)行重載。一種是類成員函數(shù)的方式、一種是友元函數(shù)的方式。=0[]->以及所有的
類型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載,不能重載為友元函數(shù)。故本題答案為A。
12.語句ofstreamf("SALARY.DAT",ios_base::app);的功能是建立流對(duì)象f,并試圖打開文件SALARY.DAT與f關(guān)聯(lián),而且____。
A、若文件存在,將其置為空文件;若文件不存在,打開失敗
B、若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個(gè)新文件
C、若文件存在,將文件指針定位于文件首;若文件不存在,打開失敗
D、若文件存在,打開失敗;若文件不存在,建立一個(gè)新文件
本題考查的是文件流的輸出。
ofstreamf("SALARY.DAT?*,ios_base::app);
是以ios_base::app方式打開文件,若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個(gè)新文件。故本題答
案為B。
13.有如下程序
#include<iostream>usingnamespacestd;
classA{public:virtualvoidfunclO{cout?,'Al";)voidfunc2(){cout?,'A2H;}
);
classB:publicA{public:voidfunclO{cout?,,Br,;}voidfunc2(){cout?,,B2n;}
);
intmain(){A*p=newB;p->funcl();p->func2();return0;}
運(yùn)行此程序,屏幕上將顯示輸出0
A、B1B2B、A1A2C、B1A2D、A1B2
本題考查的是派生類。
派生類B由基類A公有繼承而來。調(diào)用p->funcl();后,執(zhí)行派生類B的函數(shù)voidfunclO:調(diào)用p->func2();后,執(zhí)行基類的函
數(shù)voidfunc2(),因?yàn)樘摂M函數(shù)是根據(jù)對(duì)象的實(shí)際類型調(diào)用,非虛擬函數(shù)是根據(jù)指針類型調(diào)用。故通過指針p調(diào)用func2時(shí)將直接
調(diào)用基類中的voidfunc2()o故本題答案為C。
14.if語句的語法格式可描述為:
格式1:if(〈條件〉)〈語句〉
或格式2:if(〈條件〉)〈語句l>else(語句2>
關(guān)于上面的語法格式,下列表述中錯(cuò)誤的是一O
A、<條件)部分可以是一個(gè)if語句,例如if(if(a=0)…)…
B、<語句)部分可以是一個(gè)if語句,例如if(…)if(?,?)…
C、如果在<條件>前加上邏輯非運(yùn)算符!并交換<語句1>和〈語句2>的位置,語句功能不變
D、〈語句〉部分可以是一個(gè)循環(huán)語句,例如if(…)while(…)…
本題考杳的是if語句。
if為關(guān)鍵字,<條件>通常是一個(gè)表達(dá)式:if子句和else子句可以是任何類型的語句,當(dāng)然也可以是if…else語句本身和while
語句。
if…else語句的基本執(zhí)行過程是:首先計(jì)算〈條件》的值,如果此值不為0(〃真〃),則執(zhí)行〈語句1>,然后忽略《語句2>,而去
執(zhí)行if語句之后的卜一條語句;如果此值為0(〃假〃),則執(zhí)行〈語句2>,然后忽略〈語句1>,然后繼續(xù)執(zhí)行if語句之后的卜.一條語
句。故木題答案為A。
15.下列語句中,錯(cuò)誤的是
A、constintbuffer=256;B、constdouble*point;
C、intconstbuffer=256;D>double*constpoint;
本題考杳的是符號(hào)常量定義。
constintbuffer=256;〃聲明常量buffer
constdouble*point;〃聲明常量指針*point,*poinl不可變,但poinl的值可以改變
intconstbuffer=256;〃聲明常量buffer
double*constpoint;〃聲明的point是常量,*poinl可變,但poinl的值不可以改變,point不是外部的,必須在聲明初
始化常量對(duì)象??筛臑椋?/p>
doubleaa=123.45;
double*constpoint=&aa;
故本題答案為D。
16.關(guān)于運(yùn)算符重載,下列表述中正確的是o
A、C++已有的任何運(yùn)算符都可以重載B、運(yùn)算符函數(shù)的返回類型不能聲明為基本數(shù)據(jù)類型
C、在類型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類型
D、可以通過運(yùn)算符重載來創(chuàng)建C++中原來沒有的運(yùn)算符
本題考查的是運(yùn)算符重載。
運(yùn)算符重載是針對(duì)C++中原有的運(yùn)算符進(jìn)行的,不可能通過重載創(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)算符本身已經(jīng)表示出返回值類型,因此不需要返回值類型的聲明。故本題答案為C。
17.關(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í)參表中無法獲得相同的信息,就不能省略;或者雖然能夠獲得同樣的信息,但在它后面還有不能省略的實(shí)參,則其自身還
是不能省略,故選項(xiàng)A和B錯(cuò)誤。對(duì)于虛擬類型參數(shù)所對(duì)應(yīng)的模板實(shí)參,若能夠省略可以省略,也可以不省略,故選項(xiàng)C錯(cuò)誤。常規(guī)
參數(shù)的信息無法從模板函數(shù)的實(shí)參表中獲得,因此在調(diào)用時(shí)必須顯式的說明。故本題答案為D。
18.若有下面的函數(shù)調(diào)用:
fun(a+b,3,max(n-l,b))
貝ijfun的實(shí)參個(gè)數(shù)是.A、3B、4C、5D、6
本題考查的是函數(shù)的調(diào)用。
在C++中,〈形參列表〉是由逗號(hào)分開的,分別說明函數(shù)的各個(gè)參數(shù)。在fun()函數(shù)中它包括3個(gè)形參,a+b,3和max(nT,b);當(dāng)
調(diào)用一個(gè)函數(shù)時(shí),實(shí)參與形參一對(duì)一地匹配,所以實(shí)參個(gè)數(shù)也是3個(gè)。故本題答案為鼠
19.下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是o
A、內(nèi)聯(lián)函數(shù)在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移B、內(nèi)聯(lián)函數(shù)必須通過關(guān)鍵字inline來定義
C、內(nèi)聯(lián)函數(shù)是通過編譯器來實(shí)現(xiàn)的D、內(nèi)聯(lián)函數(shù)函數(shù)體的最后一條語句必須是return語句
本題考查的是內(nèi)聯(lián)函數(shù)。
在C++中使用inline關(guān)鍵字來定義內(nèi)聯(lián)函數(shù)。inline關(guān)鍵字放在函數(shù)定義中函數(shù)類型之前。不過編譯器會(huì)將在類的說明部分定
義的任何函數(shù)都認(rèn)定為內(nèi)聯(lián)函數(shù),即使它們沒有inline說明。一個(gè)內(nèi)聯(lián)函數(shù)可以有,也可以沒有return語句。內(nèi)聯(lián)函數(shù)在程序執(zhí)
行時(shí)并不產(chǎn)生實(shí)際函數(shù)調(diào)用,而是在函數(shù)調(diào)用處將函數(shù)代碼展開執(zhí)行。內(nèi)聯(lián)函數(shù)是通過編譯器來實(shí)現(xiàn)的。故本題答案為C。
20.在公有繼承的情況下,允許派生類直接訪問的基類成員包括。
A、公有成員B、公有成員和保護(hù)成員C、公有成員、保護(hù)成員和私有成員D、保護(hù)成員
本題考查的是派生類。
派生類中的成員不能訪問基類中的私有成員,可以訪問基類中的公有成員和保護(hù)成員。此時(shí)派生類對(duì)基類中各成員的訪問能
力與繼承方式無關(guān),但繼承方式將影響基類成員在派生類中的訪問控制屬性。
故本題答案為B。
21.有如下程序:
#include<iostream>usingnamespacestd;
classObj{staticinti;
public:Obj(){i++;}'Obj(){i一;}
staticintgetVal0{returni:)
);
intObj::i=0;
voidf(){Objob2:cout?ob2.getVal();}
intmainO{Objobi;f0;
0bj*ob3=newObj;cout?ob3->getVal();
deleteob3;cout?0bj::getVal0;
return0;
)
程序的輸出結(jié)果是。A、232B、231C、222D、221
本題主要考查了C++中類的靜態(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ù)f()時(shí),在定義ob2時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)Obj(),i的值將再加1;調(diào)用。b2.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->getVal();B,將i的值輸出,輸出值為2;調(diào)用deleteob3后將執(zhí)行Obj的析構(gòu)函數(shù)“Obj(),執(zhí)行后,i的值將減1,
Obj::getVal()為類的?個(gè)靜態(tài)成員函數(shù),其作用是返回私有靜態(tài)成員變量i的值1。故本題答案為I)。
22.下列有關(guān)繼承和派生的敘述中,正確的是_____。
A、如果一個(gè)派生類私有繼承其基類,則該派生類中的成員不能訪問基類的保護(hù)成員
B、派生類的成員函數(shù)可以訪問基類的所有成員C、基類對(duì)象可以賦值給派生類對(duì)象
D、如果派生類沒有實(shí)現(xiàn)基類的一個(gè)純虛函數(shù),則該派生類是一個(gè)抽象類
本題考查的是拷貝構(gòu)造函數(shù)。
拷貝構(gòu)造函數(shù)通常在以下3種情況卜.會(huì)被調(diào)用:
(1)用類的一個(gè)已知的對(duì)象去初始化該類的另一個(gè)正在創(chuàng)建的對(duì)象。
(2)采用傳值調(diào)用方式時(shí),對(duì)象作為函數(shù)實(shí)參傳遞給函數(shù)形參。
(3)對(duì)象作為函數(shù)返回值。故本題答案為B。
23.下列情況中,不會(huì)調(diào)用拷貝構(gòu)造函數(shù)的是。
A、用一個(gè)對(duì)象去初始化同一類的另一個(gè)新對(duì)象時(shí)
B、將類的一個(gè)對(duì)象賦值給該類的另一個(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è)已知的對(duì)象去初始化該類的另一個(gè)正在創(chuàng)建的對(duì)象。
(2)采用傳值調(diào)用方式時(shí),對(duì)象作為函數(shù)實(shí)參傳遞給函數(shù)形參。
(3)對(duì)象作為函數(shù)返回值。
故本題答案為B。
24.有如下程序
#include<iostream>#include<iomanip>usingnamespacestd;
intmainO{cout?setprecision(3)?fixed?setfi11('*')<<setw(8);
cout?12_345??34.567;return0;
)
若程序的輸出是:**12.345**34.567
則程序中下劃線處遺漏的操作符是_____。
A>setprecisionB、fixedC、setfillC*")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。
25.有如下的運(yùn)算符重載函數(shù)定義:
doubleoperator+(inti,intk){returndouble(i+k);)
但定義有錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是O
A、+只能作為成員函數(shù)重載,而這里的+是作為非成員函數(shù)重載的
B、兩個(gè)int型參數(shù)的和也應(yīng)該是int型,而這里將+的返回類型聲明為double
C、沒有將運(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。
26.有如下程序
#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è)程序屏幕上將顯示輸出oA、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公有派生而來。在派生類構(gòu)造函數(shù)聲明時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用基類的缺省構(gòu)造函數(shù)。調(diào)用Derived
dl(E);后,執(zhí)行類Derived的構(gòu)造函數(shù)的Derived(charc)定義,系統(tǒng)會(huì)自動(dòng)調(diào)用基類的缺省構(gòu)造函數(shù)Base。,輸出字母A;再執(zhí)
行派生類的構(gòu)造函數(shù)Derived(charc),輸出字母B。
故本題答案為C。
27.關(guān)于關(guān)鍵字class和typename,下列表述中正確的是___
A、程序中的typename都可以替換為classB、程序中的class都可以替換為typename
C、在模板形參表中只能用typename來聲明參數(shù)的類型
D、在模板形參表中只能用class或typename來聲明參數(shù)的類型
本題考查的是模板形參。
模板形參分為兩種類型:虛擬類型參數(shù)和常規(guī)參數(shù)。虛擬類型參數(shù)須用typename或class定義。常規(guī)參數(shù)用具體的類型修飾符
(如int、double、char*等)定義,故選項(xiàng)C和D錯(cuò)誤。在定義模板時(shí),關(guān)鍵字typename與class可以互相交換,但在定義類時(shí),只
能使用class。typename僅僅用于定義模板,故程序中所有的typename都可以替換成class,但對(duì)于用于類定義的class不能使用
typename來替換。故本題答案為A。
28.在一個(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í)行順序。
行主函數(shù)結(jié)束時(shí),派生類析構(gòu)函數(shù)的執(zhí)行順序是:先執(zhí)行派生類的析構(gòu)函數(shù),再執(zhí)行成員對(duì)象的析構(gòu)函數(shù),最后執(zhí)行基類的
析構(gòu)函數(shù)。故本題答案為A。
29.有如下類定義:
classMyBase{
intk;
public:
MyBase(intn=0):k(n){}
intvalue()const{returnk;}
);
classMyDerived:MyBase{
intj;
public:
MyDerived(inti):j(i){)
intgetK()const{returnk;}
intgetj()const{returnj;}
);
編譯時(shí)發(fā)現(xiàn)有?處語法錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是O
A、函數(shù)getK試圖訪問基類的私有成員變量k
B、在類MyDerived的定義中,基類名MyBase前缺少關(guān)鍵字public、protected或private
C、類MyDerived缺少一個(gè)無參的構(gòu)造函數(shù)
D、類MyDerived的構(gòu)造函數(shù)沒有對(duì)基類數(shù)據(jù)成員k進(jìn)行初始化
本題考查的是派生類訪問權(quán)限。
在一個(gè)派生類中,其成員由兩部分構(gòu)成:一部分是從基類繼承得到的,另?部分是自己定義的新成員,所有這些成員仍然分
為公有、私有和保護(hù)三種訪問屬性。其中,從基類繼承下來的全部成員構(gòu)成派生類的基類部分,這部分的私有成員是派生類不能
直接訪問的,公有成員和保護(hù)成員則是派生類可以直接訪問的。
故本題答案為A。
30.有如下程序
#include<iostream>#include<iomanip>usingnamespacestd;
classMyClass{public:
MyClassO{cout<<,A';J
MyClass(charc){cout?c;}
^MyClassO{cout?*B';}
};
intmainO{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ù)MyClassO,輸出字母B。故本題答案為及
31.以下關(guān)鍵字不能用來聲明類的訪問權(quán)限的是_____0
A、publicB、staticC、protectedD、private
本題考查的是類的定義。
類定義的一般格式如卜.:
class〈類名〉
(
public:
〈成員函數(shù)或數(shù)據(jù)成員的說明》〃公有成員,外部接口
protected:
《數(shù)據(jù)成員或成員函數(shù)的說明)〃保護(hù)成員
private:
(數(shù)據(jù)成員或成員函數(shù)的說明》〃私有成員
};
關(guān)鍵字public、private和protected稱為訪問權(quán)限修飾符,他們限制了類成員的訪問控制范圍。
故本題答案為B。
32.有如下程序
#include<iostream>
usingnamespacestd;
inti=l;
classFun{
public:
staticinti;
intvalue(){returni-l;)
intvalue()const{returni+1;}
};
intFun::i=2;
intmainO{
inti=3;
Funfunl;
constFunfun2;
return0;
}
若程序的輸出結(jié)果是:
123
則程序中下劃線處遺漏的語句是。
A、cout?funl.value()?Fun::i?fun2.value();
B,cout?Fun::i?funl.value()?fun2.value();
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ù),可以通過"類名::函數(shù)名”的方法來調(diào)用,
并且該函數(shù)只能訪問類中的靜態(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。故本題答案為鼠
33.有如下說明
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ù)組的長度減1。*(p+i)是取數(shù)組的第i+1個(gè)元素,即下標(biāo)為i的元素。因此*(P+8)取數(shù)組的第9個(gè)元素,即
元素9。故本題答案為B。
34.下列符號(hào)中,正確的C++標(biāo)識(shí)符是____o
A、enumB、2bC、foo_9D>32
本題考查的是標(biāo)識(shí)符。
標(biāo)識(shí)符是?個(gè)以字母或下劃線開頭的,由字母、數(shù)字、下劃線組成的字符串。標(biāo)識(shí)符不能與任意一個(gè)關(guān)鍵字同名。故
本題答案為D。
35.下列關(guān)于輸入流類成員函數(shù)getline。的描述中,錯(cuò)誤的是。
A、該函數(shù)是用來讀取鍵盤輸入的字符串的B、該函數(shù)讀取的字符串長度是受限制的
C、該函數(shù)讀取字符串時(shí),遇到終止符便停止D、該函數(shù)讀取字符串時(shí),可以包含空格
本題考查的是文件流的輸入輸出。
函數(shù)getline(char_type*s,streamsizen,char_typedelim)的作用是從當(dāng)前位置開始提取字符存入s所指向的具有n各字節(jié)
的字符空間。字符的提取與存儲(chǔ)在遇到下列情況時(shí)停止:
(1)已提取并存儲(chǔ)了n-1個(gè)字符;
(2)到流尾,無字符可提?。?/p>
(3)卜一個(gè)要提取的字符等于結(jié)束標(biāo)志del加。
故本題答案為B。
36.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是1
標(biāo)準(zhǔn)答案為:??忌鸢笧椋簵?/p>
棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插
入或刪除操作,是一種“先進(jìn)后出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”
的線性表。
37.下列軟件系統(tǒng)結(jié)構(gòu)圖
的寬度為。
標(biāo)準(zhǔn)答案為:3或三考生答案為:3
軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
38.的任務(wù)是診斷和改正程序中的錯(cuò)誤。
標(biāo)準(zhǔn)答案為:程序調(diào)試或調(diào)試考生答案為:軟件測試
程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。它與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟
件的錯(cuò)誤,然后借助于一定的調(diào)試工具去找出軟件錯(cuò)誤的具體位置。軟件測試貫穿整個(gè)軟件生命期,調(diào)試主要在開發(fā)階段。
39.一個(gè)關(guān)系表的行稱為。
標(biāo)準(zhǔn)答案為:元組或記錄考生答案為:元組
設(shè)計(jì)數(shù)據(jù)庫的目的實(shí)質(zhì)上是設(shè)計(jì)出滿足實(shí)際應(yīng)用需求的實(shí)際關(guān)系模型;關(guān)系中的行稱為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)
系中的列稱為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段。
40.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于。
標(biāo)準(zhǔn)答案為:線性結(jié)構(gòu)考生答案為:線性結(jié)構(gòu)
與棧類似,隊(duì)列也是線性表,也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
41.創(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(){}
);
intmain()
(
Foof[3],g(3);
return0;
)
標(biāo)準(zhǔn)答案為:A考生答案為:AAAA
本題考查的是類的對(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。
42.插入排序算法的主要思想是:每次從未排序序列中取出的一個(gè)數(shù)據(jù),插入到已排序序列中的正確位置。InsertSort類的成員
函數(shù)sort()實(shí)現(xiàn)了插入排序算法。請(qǐng)將畫線處缺失的部分補(bǔ)充完整。
classInsertSort{
public:
InsertSort(int*aO,intnO):a(aO),n(nO){}〃參數(shù)aO是某數(shù)組首地址,n是數(shù)組元素個(gè)數(shù)
voidsortO
{〃此函數(shù)假設(shè)已排序序列初始化狀態(tài)只包含a[0],未排序序列初始為a[l]…
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];}
protected:
int*a,n;〃指針a用于存放數(shù)組首地址,n用于存放數(shù)組元素個(gè)數(shù)
);
標(biāo)準(zhǔn)答案為:j二I考生答案為:尸i-l
本題考查的是插入排序。
在Sori函數(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ù),否則說明該數(shù)已排好序,直接跳出內(nèi)層循環(huán),故此空應(yīng)填j=i。
43.如果不使用多態(tài)機(jī)制,那么通過基類的指針雖然可以指向派生類對(duì)象,但是只能訪問從基類繼承的成員。下列程序沒有使用
多態(tài)機(jī)制,其輸出結(jié)果是_____。
#include<iostream>
usingnamespacestd;
classBase{
public:
voidprint(){cout?,B';}};
classDerived:publicBase{
public:
voidprint(){cout?,D';}};
intmain()
(
Derived*pd=newDerived();
Base*pb=pd;
pb->print();
pd->print();
deletepd;
return0;
)
標(biāo)準(zhǔn)答案為:BD考生答案為:BD
本題考查的是派生類。
派生類Derived由基類Base公有繼承而來,是基類的子類型。調(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ù)voidprint0o
44.若有定義語句:int*a,b;,則變量b的數(shù)據(jù)類型是。
標(biāo)準(zhǔn)答案為:整型或int考生答案為:int
本題考查的是變量的定義。
int*a,b;把a(bǔ)定義為一個(gè)ini類型的指針;把b定義為一個(gè)整型變量。
45.在聲明派生類時(shí),如果不顯式地給出繼承方式,缺省的類繼承方式是私有繼承private。已知有如下類定義:
classeBase{
protected:
voidfun(){}
);
classDerived:Base{};
則Base類中的成員函數(shù)fun(),在Derived類中的訪問權(quán)限是一。(注意:要求填寫private、protected或public中的一項(xiàng))。
標(biāo)準(zhǔn)答案為:private考生答案為:private
46.下列程序的輸出結(jié)果是o
#include<iostream>
usingnamespacestd:
classA{
inta;
public:
A():a(9){)
virtualvoidprint()const{cout<<a;};
1;
classB:publicA{
charb;
public:
B(){b』Sf
voidprint()const{cout?b;}
);
voidshow(A&x){x.print();)
intmain()
{Adl,*p;
Bd2;
p=&d2;
dl.print();
d2.print();
p->print();
show(dl);
show(d2);
return0;
)
標(biāo)準(zhǔn)答案為:9SS9S考生答案為:9SS9S
本題主要考查了缺省構(gòu)造函數(shù)。
在dl、d2定義時(shí)分別調(diào)用它們的構(gòu)造函數(shù)。調(diào)用dl.print。;后,執(zhí)行類A的virtualvoidprint()函數(shù);調(diào)用d2.print();
后,執(zhí)行派生類B的構(gòu)造函數(shù)voidprint。;調(diào)用p->print();后,執(zhí)行執(zhí)行派生類B的構(gòu)造函數(shù)voidprint();調(diào)用show(dl);后,
調(diào)用函數(shù)show(A&x),再調(diào)用類A的virtualvoidprint。函數(shù);調(diào)用show(d2);后,調(diào)用函數(shù)show(A&x),再調(diào)用派生類B的構(gòu)造函
數(shù)voidprint()。
47.一知遞歸函數(shù)f的定義如下:
intf(intn)
(
if(n<=l)return1;〃遞歸結(jié)束情況
elsereturnn*f(n-2);〃遞歸}
則函數(shù)調(diào)用語句f(5)的返回值是一o
標(biāo)準(zhǔn)答案為:15
考生答案為:120
本題主要考查了遞歸算法。
函數(shù)每次將f(n)的值轉(zhuǎn)換成相應(yīng)的關(guān)系式n*f(n-2),直到f(l)時(shí)為止。所以f(5)=5*1(5-2)=5*3*f(1)=5*3*1=15。
48.已知數(shù)組a中的元素個(gè)數(shù)為n,下列語句的作用是將下標(biāo)為i的元素移動(dòng)到下標(biāo)為iT的單元,其中l(wèi)〈二i〈n。例如,當(dāng)n=4,a中
原有的數(shù)據(jù)為1,2,3,4時(shí),則移動(dòng)后a中元素變?yōu)?,3,4,40請(qǐng)將語句補(bǔ)充完整:
for(inti=0;i<n-l;i++)a[i]=a[];
標(biāo)準(zhǔn)答案為:i+1或1+1考生答案為:i+1
本題考查循環(huán)的基本應(yīng)用。
解題思路為:循環(huán)條件是i<n-l,循環(huán)的結(jié)果是把將下標(biāo)為i的元素移動(dòng)到下標(biāo)為iT的單元,即a[i+l]的值賦給a[i],所以答
案是i+L
49.己知下列程序的輸出結(jié)果是42,請(qǐng)將畫線處缺失的部分補(bǔ)充完整。
#include<iostream>
usingnamespacestd;
classFoot
intvalue;
public:
Foo():value(0){}
voidsetValue(intvalue)
{=value;}〃給Foo的數(shù)據(jù)成員value賦值
voidprint(){cout?value;}
);
intmainO
(
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賦值的語句,所以答案為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&operatorMyClass&
rhs);然后在MyClass的類體外給出它的完整定義:
MyClass&MyClass::operator=(constMyClass&rhs)
因此在MyC1ass類的定義中缺少M(fèi)yC1ass&語句。
2010年3月考試真題(第31次)
1.數(shù)據(jù)流程圖(DFD圖)是。
A、軟件概要設(shè)計(jì)的工具B、軟件詳細(xì)設(shè)計(jì)的工具
C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>
常見的需求分析方法有:結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?。結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)
化英語、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔。故本題答案為C。
2.軟件(程序)調(diào)試的任務(wù)是___.
A、診斷和改正程序中的錯(cuò)誤B、盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C、發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D、確定程序中錯(cuò)誤的性質(zhì)
程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。它與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)
誤,然后借助于一定的調(diào)試工具去執(zhí)行找出軟件錯(cuò)誤的具體位置。軟件測試貫穿整個(gè)軟件生命期,調(diào)試主要在開發(fā)階段。故
本題答案為A。
3.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是。
A、編輯軟件B、操作系統(tǒng)C、教務(wù)管理系統(tǒng)D、瀏覽器
軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件。例如,
事務(wù)處理軟件,工程與科學(xué)計(jì)算軟件,實(shí)時(shí)處理軟件,嵌入式軟件,人工智能軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計(jì)算
機(jī)管理白身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件。如操作系統(tǒng),編譯程序,匯編程序,網(wǎng)絡(luò)軟件,數(shù)
據(jù)庫管理系統(tǒng)等,所以選項(xiàng)B屬于系統(tǒng)軟件。故本題答案為B。
4.軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于?
A、定義階段B、開發(fā)階段C、維護(hù)階段I)、上述三個(gè)階段
軟件生命周期可分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。軟件開發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測試四個(gè)活
動(dòng)階段。故本題答案為瓦
5.下列敘述中正確的是___。
A、對(duì)長度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B、對(duì)長度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)
C、對(duì)長度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為Ooga11)
D、對(duì)氏度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為Slogan)
對(duì)于長度為n的有序線性表,在最壞情況下,二分查找只需要比較bg2n次,而順序杳找需要比較n次。二分法杳找只適用于順序
存儲(chǔ)的有序表,如果采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),也只能用順序杳找,所以選項(xiàng)A是正確的。
故本題答案為A。
6.有兩個(gè)關(guān)系R和T如下:
A、選擇B、投影C、交D、并
從關(guān)系中找出滿足給定條件的元組的操作稱為選擇。選擇是從行的角度進(jìn)行的運(yùn)算,即從水平方向抽取記錄。由圖可知關(guān)系R通過
運(yùn)算得到關(guān)系T,關(guān)系T與關(guān)系R相比,屬性的個(gè)數(shù)沒有發(fā)生變化,記錄的條數(shù)發(fā)生了變化。因此所使用的運(yùn)算應(yīng)該是選擇。故
本題答案為A。
7.算法的時(shí)間復(fù)雜度是指。
A、算法的執(zhí)行時(shí)間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)
D、算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。為了能夠比較客觀地反映出,個(gè)算法的效率,在度量一個(gè)算法的工
作量時(shí)、不僅應(yīng)該與所使用的計(jì)算機(jī)、程序設(shè)計(jì)語言以及程序編制者無關(guān),而且還應(yīng)該與算法實(shí)現(xiàn)過程中的許多細(xì)節(jié)無關(guān)。為此,
可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量算法的工作量。故本題答案為I)。
8.數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的.
A、需求分析階段B、邏輯設(shè)計(jì)階段C、概念設(shè)計(jì)階段D、物理設(shè)計(jì)階段
E-R圖是E-R模型的一種非常直觀的圖的形式表示,它描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫概念設(shè)計(jì)階段的
工具。故本題答案為c。
9.在學(xué)生管理的關(guān)系數(shù)據(jù)摩中,存取?個(gè)學(xué)生信息的數(shù)據(jù)單位是o
A、文件B、數(shù)據(jù)庫C、字段D、記錄
實(shí)體是概念世界中的基本單位,屬性附屬于實(shí)體,它本身并不構(gòu)成獨(dú)立單位。屬性有屬性域,每個(gè)實(shí)體可取屬性域內(nèi)的值。一個(gè)
實(shí)體的所有屬性取值組成了一個(gè)值集叫元組(或稱記錄)。在概念世界中,可以用元組表示實(shí)體,也可用它區(qū)別不同的實(shí)體。所
以在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是元組(或記錄)。故本題答案為D。
10.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是o
A、數(shù)據(jù)定義語言B、數(shù)據(jù)管理語言C、數(shù)據(jù)操縱語言D、數(shù)據(jù)控制語言
數(shù)據(jù)定義語言(DDL):該語言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。
數(shù)據(jù)操縱語言(DML):該語言負(fù)責(zé)數(shù)據(jù)的操縱,包括杳詢及增、冊(cè)IJ、改等操作。
數(shù)據(jù)控制語言(DCL):該語言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
故本題答案為A。
11.有如下兩個(gè)類定義
classXX{
private:
doublexl;
protected:
doublex2;
public:
doublex3;
};
classYY:protectedXX{
private:
doubleyl;
protected:
doubley2;
public:
doubley3;
);
在類YY中保護(hù)成員變量的個(gè)數(shù)是o
A、1B、2C、3D、4
本題主要考杳了類的繼承與派生。
類的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有(private)繼承。當(dāng)派生類從基類保護(hù)繼承時(shí),
基類的公有成員和保護(hù)成員在派生類中都為保護(hù)成員。本題派生類YY從基類XX保護(hù)繼承,因此基類XX的公有成員x3和保護(hù)成員x2
都成為派生類YY的保護(hù)成員,再加上派生類YY自身的保護(hù)成員y2,因此類YY中有3個(gè)保護(hù)成員。故木題答案為C。
12.在C++中,cin是一個(gè)。
A、類B、對(duì)象C、模板D、函數(shù)
本題主要考杳了I/O流。
在C++中,數(shù)據(jù)的輸入與輸出是通過I/O流來實(shí)現(xiàn),cin和cout是預(yù)定義的流類對(duì)象。
故本題答案為B。
13.若x和y是程序中的兩個(gè)整型變量,則下列if語句中正確的是___.
A、if(x==0)y=l;elsey=2;B、if(x==0)theny=lelsey=2;
C、if(x—0)y=lelsey=2;I)、ifx==0y=l;elsey=2;
本題主要考杳了if語句。
if語句的語法形式為:
if(表達(dá)式)語句1
else語句2
在C++中,if語句中沒有then,語句最后必須有一個(gè)分號(hào),因此選項(xiàng)A正確,選項(xiàng)B和選項(xiàng)C錯(cuò)誤;在選項(xiàng)D中,表達(dá)式x==0應(yīng)該
用圓括號(hào)括起來,因此選項(xiàng)D錯(cuò)誤。故本題答案為A。
14.將運(yùn)算符重載為非成員函數(shù),下列原型聲明中,錯(cuò)誤的是___。
A、MyClockoperator+(MyClock,long);B、MyClockoperator+(MyClock,MyClock);
C、MyClockoperator+(long,long);D^MyClockoperator+(long,MyClock);
本題主要考查了運(yùn)算符的重載。
運(yùn)算符的重載是針對(duì)新類型數(shù)據(jù)的實(shí)際需要,對(duì)原有運(yùn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國聲磁軟標(biāo)簽行業(yè)運(yùn)營模式及發(fā)展策略分析報(bào)告
- 2024-2030年中國垃圾發(fā)電行業(yè)發(fā)展困境與十三五投資建議報(bào)告
- 2024-2030年中國含漱劑單氟磷酸鈉融資商業(yè)計(jì)劃書
- 2024-2030年中國可生物降解冷凍袋行業(yè)發(fā)展動(dòng)態(tài)與前景展望報(bào)告
- 2024-2030年中國衛(wèi)生棉條行業(yè)市場競爭格局及發(fā)展?jié)摿ρ芯繄?bào)告
- 2024-2030年中國醫(yī)用氧行業(yè)運(yùn)營效益分析及投資策略研究報(bào)告版
- 2024-2030年中國化妝品終端渠道行業(yè)前景預(yù)測及投資營銷策略分析報(bào)告
- 2024-2030年中國農(nóng)業(yè)衛(wèi)星數(shù)據(jù)服務(wù)行業(yè)發(fā)展戰(zhàn)略與投資規(guī)劃分析報(bào)告
- 2024-2030年中國獸醫(yī)器械行業(yè)創(chuàng)新模式及投資策略研究報(bào)告
- 2024年家庭裝修設(shè)計(jì)與施工合同
- 國網(wǎng)基建各專業(yè)考試題庫大全-質(zhì)量專業(yè)-下(判斷題匯總)
- 傅雷家書讀后感3000字(3篇)
- 議論文閱讀訓(xùn)練10篇(附答案及解析)
- 山西省普通高級(jí)中學(xué)辦學(xué)基本標(biāo)準(zhǔn)
- 房建工程二次預(yù)埋施工技術(shù)交底強(qiáng)弱電管線預(yù)埋
- 血液透析個(gè)案護(hù)理兩篇
- 工會(huì)會(huì)議記錄范文
- YY 0636.1-2008醫(yī)用吸引設(shè)備第1部分:電動(dòng)吸引設(shè)備安全要求
- 高速公路常見邊坡防護(hù)類型及施工要點(diǎn)課件
- 電子工藝設(shè)計(jì)及技術(shù)課件
- 二年級(jí)語文上冊(cè)優(yōu)秀課件-第三單元復(fù)習(xí)
評(píng)論
0/150
提交評(píng)論