2017年3月計算機二級考試C++考試試題積累

學識都 人氣:3.09W

計算機的運算和邏輯功能主要是由中央處理器、主存儲器、通道或 I/O處理器以及各種外部設備控制器部件實現的。下面是小編整理的關於計算機二級考試C++考試試題,歡迎大家參考!

2017年3月計算機二級考試C++考試試題積累

  【試題一】

1). 若已定義的函數有返回值,則以下關於該函數調用的敘述中錯誤的是( )。

A.函數調用可以作爲獨立的語句存在

B.函數調用可以無返回值

C.函數調用可以出現在表達式中

D.函數調用可以作爲、一個函數的形參

正確答案:D

答案解析:本題考查函數的調用方式。函數的形參和實參具有以下特點:①形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放分配的內存單元,因此,形參只有在函數內部有效,函數調用結束返回主調函數後則不能再使用該形參變量;②實參可以是常量、變量、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參,因此應通過預先用賦值、輸入等辦法使實參獲得確定值;③實參和形參在數量上、類型上、順序上應嚴格一致,否則會發生″類型不匹配″的錯誤;④函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。

2). 對於語句″cout< < <1<< < <2;″的輸出結果是( )。

A.*********1*2

B.********12

C.*******1*2

D.12********

正確答案:A

答案解析:C++語言中,setfill的'意思是在空格的地方填上setfill函數中的參數字符,setw的意思是設置整個輸出字符串的字符個數,本題中用*來代替空格。

3). 下列關於運算符重載不正確的是( )

A.運算符重載不能改變運算符的操作數個數

B.運算符重載不能改變運算符的優先級

C.運算符重載不能改變運算符的結合性

D.運算符重載能改變對預定義類型數據的操作方式

正確答案:D

4). 通常拷貝構造函數的參數是

A.某個對象名

B.某個對象的成員名

C.某個對象的引用名

D.某個對象的指針名

正確答案:C

答案解析:拷貝初始化構造函數的作用是用一個已知的對象來初始化一個被創建的同類的對象,該函數只有一個參數,並且是對同類的某個對象的引用。

5). 下面關於模板的描述,錯誤的是

A.函數模板和類模板的參數可以是任意的數據類型

B.類模板不能直接使用,必須先實例化爲相應的模板類,然後定義了模板類的對象後才能使用

C.函數模板不能直接使用,需要實例化爲模板函數後才能使用

D.類模板的成員函數都是模板函數

正確答案:A

答案解析:類模板不能被重載,而函數模板可以,它們不能被未知的數據類型替換。

  【試題二】

1). 在位運算中,操作數每右移一位,其結果相當於

A.操作數乘以2

B.操作數除以2

C.操作數乘以4

D.操作數除以4

正確答案:B

答案解析:右移運算符">>"是雙目運算符。其功能是把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數。例如:設a=15,a>>2 表示把000001111右移爲00000011(十進制3)。

2). 下面描述中,不屬於軟件危機表現的是( ).

A.軟件過程不規範

B.軟件開發生產率低

C.軟件質量難以控制

D.軟件成本不斷提高

正確答案:A

答案解析:軟件危機主要表現在:軟件需求的增長得不到滿足;軟件開發成本和進度無法控制;軟件質量難以保證;軟件不可維護或維護程度非常低;軟件的成本不斷提高;軟件開發生產率的提高趕不上硬件的發展和應用需求的增長。所以選擇A。

3). 以下定義語句中正確的是( )。

a-b=0;

A=65+1,b=′b′;

t a=1,″b= &a,″c=&b;

le a=0.0.b=1.1;

正確答案:B

答案解析:本題考查數據類型的定義。選項A中是要定義變量並且賦初值,但方式不對,必須單獨定義其類型。選項C給實型變量賦值時不用雙引號,也不能將地址賦予實型變量,在選項D中,C語言允許在一個類型說明符後說明多個相同類型的變量,各變量之間要用逗號隔開,而不是用分號隔開,選項B正確。

4). 已知Value是一個類,Value是Value的一個對象。下列以非成員函數形式重載的運算符函數原形中,正確的是( )。

e operator+( Value v,int i);

e operator+( Value v= value,int i);

e operator+( Value vint i=O);

e operator+( Value v= value,int i=O);

正確答案:B

答案解析:非成員函數的重載運算符函數的格式爲operator+(),是運算符十重載函數。

5). 如果表達式一x/y中的″-″和″″是作爲友元函數重載的運算符,採用運算符函數調用格式,該表達式還可表示爲( )。

A.jsj-ej-0253.jpg

B.jsj-ej-0254.jpg

C.jsj-ej-0255.jpg

D.jsj-ej-0256.jpg

正確答案:B

答案解析:本題考覈運算符的重載。假定已經作爲某個類的成員函數重載了二元運算符+,且cl、c2都是該類的對象,則ator+(c2)與cl+c2含義相同。如果十作爲該類的非成員函數重載,則operator+( cl,c2)與cl+c2含義相同。同理,運算符″″作爲友元函數重載,則--x)y與表達式operator/((- - x),y)相同。前綴運算符″一一″作爲友元函數重載,則- -x與operator - -( x)相同,所以組合起來是operator/(operator-( x),y);,即B選項。