2017年計算機二級《C++》預測試題
- 計算機學歷
- 關注:2.67W次
一、選擇題
1關於運算符重載,下列表述中正確的是( )。
A.c++已有的任何運算符都可以重載
B.運算符函數的返回類型不能聲明為基本數據類型
C.在類型轉換符函數的定義中不需要聲明返回類型
D.可以通過運算符重載來創建c++中原來沒有的運算符
參考答案:C
參考解析:重載運算符的規則如下:①c++不允許用户自己定義新的運算符,只能對已有的c++運算符進行重載;②c++不能重載的運算符只有5 個;③重載不能改變運算符運算對象的個數;④重載不能改變運算符的優先級和結合性;⑤重載運算符的函數不能有默認的參數;⑥重載的運算符必須和用户定義的自定義類型的對象一起使用,至少應有一個是類對象,即不允許參數全部是c++的標準類型。故本題答案為c。
2在類的定義中,用於為對象分配內存空間,對類的數據成員進行初始化並執行其他內部管理操作的函數是( )。
A.友元函數B.虛函數C.構造函數D.析構函數
參考答案:C
參考解析:構造函數在創建對象時系統自動調用,其功能是使用給定的值將對象初始化。
3軟件設計中模塊劃分應遵循的準則是( )。
A.低內聚低耦合B.高內聚低耦合C.低內聚高耦合D.高內聚高耦合
參考答案:B
參考解析:軟件沒計中模塊劃分應遵循的準則是高內聚低偶合、模塊大小規模適當、模塊的依賴關係適當等。模塊的劃分應遵循一定的要求,以保證模塊劃分合理,並進一步保證以此為依據開發出的軟件系統可靠性強,易於理解和維護。模塊之間的耦合應儘可能的低,模塊的內聚度應盡町能的高。
4如果類A被説明成類B的友元,則( )。
A.類A的成員即類B的成員
B.類B的成員即類A的成員
C.類A的成員函數不得訪問類B的成員
D.類B不一定是類A的友元
參考答案:D
參考解析:本題考查的是友元類的定義:類A為類B的友元類,則類A的所有成員函數都是類8的友元函數,但反之則不一定成立。
5有如下類定義:
class Foo
{
public:
Foo(int v):value(V){}//①
~Foo(){}//②
private:
Foo(){}//③
int value=0://④
};
其中存在語法錯誤的行是( )。
A.①B.②C.③D.④
參考答案:D
參考解析:本題考查對象的初始化,類的數據成員是不能在聲明類時初始化的,所以本題答案為D。
6下面關於數組的描述錯誤的是( )。
A.在C++語言中數組的名字就是指向該數組第一個元素的指針
B.長度為n的數組,下標的範圍是0~n-1
C.數組的大小必須在編譯時確定
D.數組只能通過值參數和引用參數兩種方式傳遞給函數
參考答案:D
參考解析:本題考查的是數組的基本使用,數組還可以通過對應的指針調用傳遞參數,其餘選項的説法都是正確的。
7運算符重載是對已有的運算符賦予多重含義,因此( )。
A.可以對基本類型(如int類型)的數據,重新定義“+”運算符的含義
B.可以改變一個已有運算符的優先級和操作數個數
C.只能重載c++中已經有的運算符,不能定義新運算符
D.C++中已經有的所有運算符都可以重載
參考答案:C
參考解析:重載運算符的規則如下:①c++不允許用户自己定義新的運算符,只能對已有的c++運算符進行重載;②c++不能重載的運算符只有5 個;③重載不能改變運算符運算對象的個數;④重載不能改變運算符的優先級和結合性;⑤重載運算符的函數不能有默認的參數;⑥重載的運算符必須和用户定義的自定義類型的對象一起使用,至少應有一個是類對象,即不允許參數全部是c++的標準類型。故本題答案為c。
8有如下類和對象的定義:
class Constants{
public:
static double getPI(){return 3.1416;}
};
Constants constants:
下列各組語句中,能輸出3.1416的是( )。
參考答案:D
參考解析:本題考查靜態成員函數。靜態成員函數由於沒有this指針,所以不能訪問本類中的非靜態成員。引用靜態成員函數有2種方式,一種是直接使用類來引用,即Constants::getpI();另一種是使用對象來引用,即I()。所以本題答案為D。
9程序流程圖中帶有箭頭的線段表示的是( )。
A.圖元關係B.數據流C.控制流D.調用關係
參考答案:C
參考解析:在數據流圖中,用標有名字的箭頭表示數據流。在程序流程圖中,用標有名字的箭頭表示控制流。所以選擇C。
10下列程序的執行結果為( )。
#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的線性表排序,在最壞情況下,比較次數不是n(rt一1)/2的排序方法是( )。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
參考答案:D
參考解析:除了堆排序算法的比較次數是0(nlog2n),其他的都是n(n—1)/2。
12字面常量42、4.2、42L的數據類型分別是( )。
,double、9、float、、double、、float、long
參考答案:C
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/cyzgz/jsj/51r26z.html