當前位置:才華齋>計算機>計算機二級>

2016年9月計算機二級《C++》機考試題及答案

計算機二級 閱讀(1.55W)

1)有以下程式

2016年9月計算機二級《C++》機考試題及答案

#include

void main()

{ int a=5,b=0,c=0;

if(a=b+c)cout << "***"<< ?$$$?<下列選項敘述正確的是<>

A)有語法錯不能通過編譯

B)可以通過編譯但不能通過連線

C)輸出***

D)輸出$$$

(2)已知各變數的定義如下

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

則以下符合C++語言語法的表示式是

A)a+=a-=(b=4)*(a=3)

B)a=a*3+2

C)x%(-3)

D)y=float i

(3)以下程式中迴圈體總的執行次數是

int i,j;

for(i=6;i>1;i--)

for(j=0;j{……}

A)20

B)261

C)15

D)25

(4)對於下面的程式,說法正確的是

#include

void main()

{ int x=3,y=4,z=2;

if(x=y+z)cout << "x=y+z";

else cout << "x!=y+z";}

A)不能通過編譯

B)輸出6

C)輸出x!=y+z

D)輸出x=y+z

(5)下列程式的輸出結果是

#include

void main()

{ int a[3],i,j,k=2;

for(i=0;i<3;i++)a[i]=i;

for(i=0;ifor(j=0;ja[j]=a[i];

cout << a[2];}

A)2

B)3

C)1

D)0

  參考答案:

(1)D

解析: 解答本題時,先判斷if語句,因為a=b+c為零,則執行else語句。

(2)A

解析: 選項B)中a在運算前未賦初值,在C++語言裡變數在運算前必須賦初值;選項C)中的模運算子"%"兩側均應為整型資料;選項D)應改為y=(float)i。

(3)A

解析: 本題中第1個for迴圈執行5次後結束,第2個for迴圈執行5次。第2個for迴圈中第1次執行了6次,第2次執行了5次,第3次執行了4次,第4次執行了3次,第5次執行了2次,共20次。

(4)D

解析: 解答本題關鍵是要理解if後面的括號裡的是賦值語句而並非關係判斷,賦完值後x不等於零,C++語言裡非零都作真處理,所以輸出結果為"x=y+z",故答案為選項D),注意"="與"=="的`區別。

(5)A

解析: 本題裡有三個for迴圈,但要分清楚,第一個是單獨的給三個元素賦值,賦完值後三個a[0]=0,a[1]=1,a[2]=2;後面的兩個for是巢狀迴圈,對陣列元素的賦值,但由於k=2,初值已定for裡的條件是小於k,所以不管怎麼處理都影響不到a[2],故答案為2。