第 1 頁:選擇題 |
第 3 頁:基本操作題 |
第 4 頁:簡單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
點擊查看:2015年計算機二級《C++》考前押密模擬試題匯總
一、選擇題
1關(guān)于運算符重載,下列表述中正確的是( )。
A.c++已有的任何運算符都可以重載
B.運算符函數(shù)的返回類型不能聲明為基本數(shù)據(jù)類型
C.在類型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類型
D.可以通過運算符重載來創(chuàng)建c++中原來沒有的運算符
參考答案:C
參考解析:重載運算符的規(guī)則如下:①c++不允許用戶自己定義新的運算符,只能對已有的c++運算符進行重載;②c++不能重載的運算符只有5個;③重載不能改變運算符運算對象的個數(shù);④重載不能改變運算符的優(yōu)先級和結(jié)合性;⑤重載運算符的函數(shù)不能有默認的參數(shù);⑥重載的運算符必須和用戶定義的自定義類型的對象一起使用,至少應(yīng)有一個是類對象,即不允許參數(shù)全部是c++的標準類型。故本題答案為c。
2在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是( )。
A.友元函數(shù)B.虛函數(shù)C.構(gòu)造函數(shù)D.析構(gòu)函數(shù)
參考答案:C
參考解析:構(gòu)造函數(shù)在創(chuàng)建對象時系統(tǒng)自動調(diào)用,其功能是使用給定的值將對象初始化。
3軟件設(shè)計中模塊劃分應(yīng)遵循的準則是( )。
A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合
參考答案:B
參考解析:軟件沒計中模塊劃分應(yīng)遵循的準則是高內(nèi)聚低偶合、模塊大小規(guī)模適當、模塊的依賴關(guān)系適當?shù)。模塊的劃分應(yīng)遵循一定的要求,以保證模塊劃分合理,并進一步保證以此為依據(jù)開發(fā)出的軟件系統(tǒng)可靠性強,易于理解和維護。模塊之間的耦合應(yīng)盡可能的低,模塊的內(nèi)聚度應(yīng)盡町能的高。
4如果類A被說明成類B的友元,則( )。
A.類A的成員即類B的成員
B.類B的成員即類A的成員
C.類A的成員函數(shù)不得訪問類B的成員
D.類B不一定是類A的友元
參考答案:D
參考解析:本題考查的是友元類的定義:類A為類B的友元類,則類A的所有成員函數(shù)都是類8的友元函數(shù),但反之則不一定成立。
5有如下類定義:
class Foo
{
public:
Foo(int v):value(V){}//①
~Foo(){}//②
private:
Foo(){}//③
int value=0://④
};
其中存在語法錯誤的行是( )。
A.①B.②C.③D.④
參考答案:D
參考解析:本題考查對象的初始化,類的數(shù)據(jù)成員是不能在聲明類時初始化的,所以本題答案為D。
6下面關(guān)于數(shù)組的描述錯誤的是( )。
A.在C++語言中數(shù)組的名字就是指向該數(shù)組第一個元素的指針
B.長度為n的數(shù)組,下標的范圍是0~n-1
C.數(shù)組的大小必須在編譯時確定
D.數(shù)組只能通過值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)
參考答案:D
參考解析:本題考查的是數(shù)組的基本使用,數(shù)組還可以通過對應(yīng)的指針調(diào)用傳遞參數(shù),其余選項的說法都是正確的。
7運算符重載是對已有的運算符賦予多重含義,因此( )。
A.可以對基本類型(如int類型)的數(shù)據(jù),重新定義“+”運算符的含義
B.可以改變一個已有運算符的優(yōu)先級和操作數(shù)個數(shù)
C.只能重載c++中已經(jīng)有的運算符,不能定義新運算符
D.C++中已經(jīng)有的所有運算符都可以重載
參考答案:C
參考解析:重載運算符的規(guī)則如下:①c++不允許用戶自己定義新的運算符,只能對已有的c++運算符進行重載;②c++不能重載的運算符只有5個;③重載不能改變運算符運算對象的個數(shù);④重載不能改變運算符的優(yōu)先級和結(jié)合性;⑤重載運算符的函數(shù)不能有默認的參數(shù);⑥重載的運算符必須和用戶定義的自定義類型的對象一起使用,至少應(yīng)有一個是類對象,即不允許參數(shù)全部是c++的標準類型。故本題答案為c。
8有如下類和對象的定義:
class Constants{
public:
static double getPI(){return 3.1416;}
};
Constants constants:
下列各組語句中,能輸出3.1416的是( )。
A.cout
參考答案:D
參考解析:本題考查靜態(tài)成員函數(shù)。靜態(tài)成員函數(shù)由于沒有this指針,所以不能訪問本類中的非靜態(tài)成員。引用靜態(tài)成員函數(shù)有2種方式,一種是直接使用類來引用,即Constants::getpI();另一種是使用對象來引用,即constants.getPI()。所以本題答案為D。
9程序流程圖中帶有箭頭的線段表示的是( )。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
參考答案:C
參考解析:在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標有名字的箭頭表示控制流。所以選擇C。
10下列程序的執(zhí)行結(jié)果為( )。
#include
void main()
{
int a=3,b=0;
int*P =&a;
b=+a++;
cout<<*P<<”,”<
}
A.3,4B.4,3C.3,3D.4,4
參考答案:B
參考解析:*P為所指對象a的值,語句“b=+a++;”等價于“b=b+a;a=a+1;”。
11對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(rt一1)/2的排序方法是( )。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
參考答案:D
參考解析:除了堆排序算法的比較次數(shù)是0(nlog2n),其他的都是n(n—1)/2。
12字面常量42、4.2、42L的數(shù)據(jù)類型分別是( )。
A.long,double、intB.lon9、float、intC.int、double、longD.int、float、long
參考答案:C
參考解析:本題考查整型變量的類型和浮點變量的類型,42默認為int型數(shù)據(jù),42后面加上L后,表示long型數(shù)據(jù),4.2默認為double型數(shù)據(jù)。
13下列敘述中正確的是( )。
A.棧是“先進先出”的線性表
B.隊列是“先進后出”的線性表
C.循環(huán)隊列是非線性結(jié)構(gòu)
D.有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)
參考答案:D
參考解析:棧是先進后出的線性表,所以A錯誤;隊列是先進先出的線性表,所以B錯誤;循環(huán)隊列是線性結(jié)構(gòu)的線性表,所以C錯誤。
14不能作為重載函數(shù)的調(diào)用的依據(jù)是( )。
A.參數(shù)個數(shù)B.參數(shù)類型C.函數(shù)類型D.函數(shù)名稱
參考答案:D
參考解析:所謂重載函數(shù)是指同一個函數(shù)名可以對應(yīng)多個函數(shù)的實現(xiàn),編譯器會根據(jù)參數(shù)個數(shù)、參數(shù)類型和函數(shù)返回值類型不同而自動調(diào)用相應(yīng)的函數(shù)。
15下列語句中,錯誤的是( )。
A.const int buffer=256;
B.const double*point;
C.int const buffer=256;
D.double*eonst point:
參考答案:D
參考解析:const是一個C++關(guān)鍵字,用于限定不允許改變的變量。選項B是指向常量的指針,定義時可以不初始化;選項D是指針常量,定義時必須初始化。故答案為D。
16下列運算符中,在c++語言中不能重載的是( )。
A.*B.>=C.::D./
參考答案:C
參考解析:不能被重載的運算符還包括:“.”、“.*”、“->*”和“?:”。
17有如下說明:
int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 則數(shù)值為9的表達式是( )。
A.*P+9B.木(P+8)C.*P+=9D.P+8
參考答案:B
參考解析:本題考查指向數(shù)組的指針,本題中指針變量P指向數(shù)組a,那么*P的值就是1,即表示數(shù)組的第一個元素,那么數(shù)值為9的表達式就是將指針向后移動8個地址,即P+8指向的是數(shù)組元素值為9,所以數(shù)值為9的表達式是*(P+8)。
18執(zhí)行下列語句段后,輸出字符“*”的個數(shù)是( )。
for(int i=50;i>1;i-=2)Cout<<'*':
A.24B.25C.26D.50
參考答案:B
參考解析:本題考查for循環(huán)語句,題目中每執(zhí)行完循環(huán)體后,i都會減2.那么只有50到2之間的偶數(shù)才能輸出“*”,所以總共輸出25次。
19算法的有窮性是指( )。
A.算法程序的運行時間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長度是有限的
D.算法只能被有限的用戶使用
參考答案:A
參考解析:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后即可完成。有窮性是指算法程序的運行時間是有限的。
20下面關(guān)于break語句的描述中,不正確的是( )。
A.break可以用于循環(huán)體內(nèi)
B.break語句可以在for循環(huán)語句中出現(xiàn)多次
C.break語句可以在switch語句中出現(xiàn)多次
D.break語句可用于if條件判斷語句內(nèi)
參考答案:D
參考解析:本題考查的是break語句的使用,break可以結(jié)束switch語句和for循環(huán)語句,但是不能使用在條件判斷語句內(nèi)。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |