第 1 頁:選擇題 |
第 3 頁:基本操作題 |
第 4 頁:簡(jiǎn)單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)《C++》考前押密模擬試題匯總
一、選擇題
1在E—R圖中,用來表示實(shí)體聯(lián)系的圖形是( )。
A.橢圓形B.矩形C.菱形D.三角形
參考答案:C
參考解析:在E—R圖中實(shí)體集用矩形.屬性用橢圓,聯(lián)系用菱形。
2有如下程序:
#jnClude
using namespaCe std; Class Part{
publiC:
Part(int x=0):val(X){Cout<
private:
int val; t };
Class Whole{ publiC:
Whole(int x,int Y,int z=0):p2(x),pl(y),val(z){Cout<
private:
Part pl,p2; int val;
};
int main() {
Whole obj(1,2,3); return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.123321B.213312C.213D.123123
參考答案:B
參考解析:本題考查帶參數(shù)的構(gòu)造函數(shù)。本題中定義了一個(gè)對(duì)象obj,那么執(zhí)行其構(gòu)造函數(shù),初始化p1,p2的順序是由聲明這兩個(gè)成員的順序決定的,而不是由參數(shù)化列表順序決定,所以本題中,會(huì)先執(zhí)行p1,輸出2,然后執(zhí)行p2輸出1,然后輸出3,最后一次輸出312。所以本題答案為8。
3沒有定義int x;float Y;,則10+x+y值的數(shù)據(jù)類型是( )。
A.intB.doubleC.floatD.不確定
參考答案:C
參考解析:由算術(shù)運(yùn)算符組成的表達(dá)式中,若含有不同類型的操作數(shù),則系統(tǒng)隱含地將低類型轉(zhuǎn)化為高類型,由低至高的順序?yàn)閕nt→float→double。
4有如下類定義:
class Point{
private:
static int how_many;
};
___________how_many=0;
要初始化Point類的靜態(tài)成員how_many,下畫線處應(yīng)填入的內(nèi)容是( )。
A.intB.static intC.int Point::D.static int Point::
參考答案:C
參考解析:本題考查靜態(tài)數(shù)據(jù)成員,靜態(tài)數(shù)據(jù)成員可以初始化,但只能在類體外進(jìn)行初始化,其一般形式為:數(shù)據(jù)類型類名::靜態(tài)數(shù)據(jù)成員名=初值。所以本題答案為C。
5有如下類定義:
class Test
{
public:
Test(){a=0;c=0;}//①
int f(im A.const{this->a=a;}//②
static int g(){return a;f//③
void h(int B.{Test:.b=b;};//④
private:
int a;
static int b;
const int C;
};
int Test::b=0:
在標(biāo)注號(hào)碼的行中,能被正確編譯的是( )。
A.①B.②C.③D.④
參考答案:D
參考解析:只能通過構(gòu)造函數(shù)的參數(shù)初始化列表對(duì)常數(shù)據(jù)成員進(jìn)行初始化,本題中常數(shù)據(jù)成員為C。①通過默認(rèn)構(gòu)造函數(shù)初始化c,所以不正確。常成員函數(shù)只能引用本類中數(shù)據(jù)成員,而不能修改它,所以②不正確。靜態(tài)成員函數(shù)由于沒有this指針,所以不能訪問本類中的非靜態(tài)成員,所以③錯(cuò)誤。
6某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:
該系統(tǒng)總體結(jié)構(gòu)圖的深度是( )。
A.7B.6C.3D.2
參考答案:C
參考解析:根據(jù)總體結(jié)構(gòu)圖可以看出陔樹的深度為3,比如:XY系統(tǒng)——功能2——功能2.1,就是最深的度數(shù)的一個(gè)表現(xiàn)。
7有如下類定義:
Class AA{ int a; publiC: AA(int n=0):a(n){}
};
Class BB:publiC AA{ publiC:
BB(int n)—— };
其中橫線處缺失的部分是( )。
A.:a(n){}B.:AA(n)|}C.{a(n);}D.{a=n;}
參考答案:B
參考解析:本題考查公用繼承對(duì)基類成員訪問屬性。公用繼承中,基類的公用成員和保護(hù)成員在派生類中保持原有訪問屬性,其私有成員仍為基類私有,本題中若要給派生類繼承下來基類的私有成員賦值,那么只能調(diào)用基類的成員函數(shù)來對(duì)它賦值,所以本題答案為B。
8有如下類定義:
class MyClass{
int value;
public:
MyClass(int n):value(n){}
int getValue()const{retum value;}
};
則類MyClass的構(gòu)造函數(shù)的個(gè)數(shù)是( )。
A.1個(gè)B.2個(gè)C.3個(gè)D.4個(gè)
參考答案:B
參考解析:本題考查類的默認(rèn)構(gòu)造函數(shù)和自定義的構(gòu)造函數(shù)、本題中MyClass(int n):value(n){}為自定義的構(gòu)造函數(shù),加上默認(rèn)構(gòu)造函數(shù),一共有2個(gè)構(gòu)造函數(shù)。
9下列關(guān)于派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的說法中,錯(cuò)誤的是( )。
A.派生類的構(gòu)造函數(shù)會(huì)隱含調(diào)用基類的構(gòu)造函數(shù)
B.如果基類中沒有缺省構(gòu)造函數(shù),那么派生類必須定義構(gòu)造函數(shù)
C.在建立派生類對(duì)象時(shí),先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)
D.在銷毀派生類對(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ù)。
10下列敘述中正確的是( )。
A.棧是一種先進(jìn)先出的線性表
B.隊(duì)列是一種后進(jìn)先出的線性表
C.棧與隊(duì)列都是非線性結(jié)構(gòu)D.以上三種說法都不對(duì)
參考答案:D
參考解析:棧是一種先進(jìn)后出的線性表,隊(duì)列是一種先進(jìn)先出的線性表,棧與隊(duì)列都是線性結(jié)構(gòu)。
11關(guān)于關(guān)鍵字class和typename,下列表述中正確的是( )。
A. 程序中的typename都可以替換為class
B.程序中的class都可以替換為typename
C.在模板形參表中只能用{ypename來聲明參數(shù)的類型
D.在模板形參表中只能用class或typenanle來聲明參數(shù)的類型
參考答案:A
參考解析:程序中的typename都可以替換為class,但程序中的class不可以全部替換為typename。在模板類型形參中除了 typename和class以外,也可以用常規(guī)類型來聲明參數(shù)的類型,所以C、D選項(xiàng)錯(cuò)誤。
12數(shù)據(jù)庫管理系統(tǒng)是( )。
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種操作系統(tǒng)
參考答案:B
參考解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。是一種在操作系統(tǒng)之上的系統(tǒng)軟件。
13軟件生命周期是指( )。
A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過程C.軟件的開發(fā)過程
D.軟件的運(yùn)行維護(hù)過程
參考答案:A
參考解析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。
14下列符號(hào)中不屬于C++關(guān)鍵字的是( )。
A.friendB.namespaeeC.ContinueD.byte
參考答案:D
參考解析:本題考查C++關(guān)鍵字,屬于基本常識(shí),顯然D選項(xiàng)不正確。
15下面關(guān)于數(shù)組的初始化正確的是( )。
A.char str[]={’a’,’b’,’C’}
B.char str[2]={’a’,’b’,’c’}
C.char str[2][3]={{’a’,’b’},{’C’,’d’},{’e’,’f’}}
D.char str()={~a,~b,~C}
參考答案:A
參考解析:本題考查的是字符數(shù)組的初始化。選項(xiàng)B中用3個(gè)庀素初始化大小為2的數(shù)組,越界了;選項(xiàng)c中應(yīng)該是2行3列的數(shù)組,題中使用3行2列初始化;選項(xiàng)D中數(shù)組合后應(yīng)用方括號(hào)。
16下列敘述中正確的是( )。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
參考答案:A
參考解析:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)既可以針對(duì)線性結(jié)構(gòu)也可以針對(duì)非線性結(jié)構(gòu),所以B與C錯(cuò)誤。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中每個(gè)結(jié)點(diǎn)都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲(chǔ)空間,所以D錯(cuò)誤。
17下列各組類型聲明符中,含義相同的一組是( )。
A.unsigned long int和long
B.signed short int和short
C.unsigned short和short
D.short int和int
參考答案:B
參考解析:本題考查整型變量的類型,A、c選項(xiàng)中前者為無符號(hào)的,后者為有符號(hào)的,D選項(xiàng)中short int為2個(gè)字節(jié),int為4個(gè)字節(jié)。
18下面程序的運(yùn)行結(jié)果是( )。
#include class base{
protected: int a; public:
base(){cout<<”0”;}
}; class basel:virtual base{
public:
basel(){cout<<”1”;}
};
class base2:virtual base i public: base2(){cout<<”2”;}
};
class derived:public basel,public base2{ public:
derived(){cout<<”3”;}
};
void main()
derived obj;
cout<
A.0123B.3120C.0312D.3012
參考答案:A
參考解析:本題考查的是含有虛基類的繼承中構(gòu)造函數(shù)的調(diào)用順序,應(yīng)該先調(diào)用基類的構(gòu)造函數(shù),接著是按照派生類繼承列表的順序依次調(diào)用虛基類的構(gòu)造函數(shù),最后調(diào)用派生類自己的構(gòu)造函數(shù)。
19下列描述正確的是( )。
A.表示m>n為true或mn&&m
參考答案:D
參考解析:本題主要考查c++語言的基本語法,選項(xiàng)A中應(yīng)該為m>n|j m
20下列運(yùn)算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是( )。
A.int operator一(FunNumber);
B.FunNumber operator一();
C.FunNumber operator一(int);
D.int operator一(FunNumber,F(xiàn)unNumber);
參考答案:D
參考解析:本題考查運(yùn)算符重載的一些規(guī)則:①一般情況下,單目運(yùn)算符最好重載為類的成員函數(shù),雙目運(yùn)算符則最好重載為類的友元函數(shù);②雙目運(yùn)算符=、()、[]、->不能重載為類的友元函數(shù);③類型轉(zhuǎn)換函數(shù)只能定義為一個(gè)類的成員函數(shù),而不能定義為類的友元函數(shù);④若一個(gè)運(yùn)算符的操作需要修改對(duì)象的狀態(tài),選擇重載為成員函數(shù)較好;⑤若運(yùn)算符所需的操作數(shù)(尤其是第一個(gè)操作數(shù))希望有隱式類型轉(zhuǎn)換,則只能選用友元函數(shù);⑥當(dāng)運(yùn)算符函數(shù)是一個(gè)成員函數(shù)時(shí),最左邊的操作數(shù)(或者只有最左邊的操作數(shù))必須是運(yùn)算符類的一個(gè)類對(duì)象(或者是對(duì)該類對(duì)象的引用);如果左邊的操作數(shù)必須是一個(gè)不同類的對(duì)象,或者是一個(gè)內(nèi)部類型的對(duì)象,該運(yùn)算符函數(shù)必須作為一個(gè)友元函數(shù)來實(shí)現(xiàn)。所以答案為D。
相關(guān)推薦:
2015年12月計(jì)算機(jī)等級(jí)考試各科目考前必做試題
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |