【C#-題庫】陣列 (Arrays)

1.  底下何者對下面的程式片段說法正確?

int[ , ] intMyArr = {{7, 1, 3}, {2, 9, 6}};
  1. intMyArr 表示一個2列和3行的規則陣列。
  2. intMyArr.GetUpperBound(1) 會得到2。
  3. intMyArr.Length 會得到24。
  4. intMyArr 表示一個5個整數的1維陣列。
  5. intMyArr.GetUpperBound(0) 會得到2.

A. 1, 2
B. 2, 3
C. 2, 5
D. 1, 4
E. 3, 4

Answer
A

解說:

1. Array.GetUpperBound 方法 : 取得 Array 中指定維度的陣列索引的上限。

2. Array.Length 屬性 : 取得代表 Array 所有維度的元素總數之 32 位元整數。

2. 底下何者對下面的程式片段說法正確?

int[] a = {11, 3, 5, 9, 4};
  1. 此陣列元素是建立在堆疊(stack)之上。
  2. 陣列的參考a是建立在堆疊(stack)之上。
  3. 此陣列元素是建立在堆積(heap)之上。
  4. 在宣告該陣列時,一個新的陣列被建立出來,而此新陣列是繼承自System.Array類別。
  5.  該陣列元素是依據其陣列的大小來決定建立於堆疊或堆積之上。

A. 1, 2
B. 2, 3, 4
C. 2, 3, 5
D. 4, 5
E. None of these

Answer
B

3. 底下何者敘述正確?

A. 陣列元素僅能是整數型態。
B. 一個陣列的維度是其所擁有元素的數量。
C. 一個陣列的長度是該陣列的維度數。
D. 陣列元素的預設值為0(零)。
E. 陣列元素是排序過的。

Answer
D

4.  如果a是一個5個整數的陣列,底下何者敘述正確?

A.

int[] a = new int[5]; 
int[] a = new int[10];

B.

int[] a = int[5]; 
int[] a = int[10];

C.

int[] a = new int[5]; 
a.Length = 10 ;

D.

int[] a = new int[5]; 
a = new int[10];

E.

int[] a = new int[5]; 
a.GetUpperBound(10);
Answer
D

5. 如果要正確地印出陣列a的所有元素,你要如何完成下面的程式?

int[][]a = new int[2][];
a[0] = new int[4]{6, 1 ,4, 3};
a[1] = new int[3]{9, 2, 7}; 
foreach (int[ ] i in a)
    {
      /* Add loop here */
      Console.Write(j + " ");
      Console.WriteLine(); 
    }

A. foreach (int j = 1; j < a(0).GetUpperBound; j++)
B. foreach (int j = 1; j < a.GetUpperBound (0); j++)
C. foreach (int j in a.Length)
D. foreach (int j in i)
E. foreach (int j in a.Length -1)

Answer
D

6. 底下程式片段輸出為何?

int[ , , ] a = new int[ 3, 2, 3 ]; 
Console.WriteLine(a.Length);

A. 20
B. 4
C. 18
D. 10
E. 5

Answer
C

7. 下列何者對陣列的說法為正確?

  1. Arrays can be rectangular or jagged. 陣列可以是規則的,也可以是不規則的。
  2. 規則陣列被儲存在緊鄰的記憶體空間中。
  3. 不規則陣列不可以存取System.Array類別的方法。
  4. 規則陣列不可以存取System.Array類別的方法。
  5. 不規則陣列儲存在非緊鄰的記憶體空間中。

A. 1, 2
B. 1, 3, 5
C. 3, 4
D. 1, 2, 5
E. 4, 5

Answer
D

8.  底下何者對下面的程式片段說法正確?

int[][]intMyArr = new int[2][]; 
intMyArr[0] = new int[4]{6, 1, 4, 3}; 
intMyArr[1] = new int[3]{9, 2, 7};

A. intMyArr 為一個指向一個2維不規則陣列的參考。
B. intMyArr指向的不規則陣列的2個列被儲存在緊鄰的記憶體空間中。
C. intMyArr[0] 指向第0個1維陣列,intMyArr[1]指向第1個1維陣列。
D. intMyArr 指向intMyArr[0] 和intMyArr[1].
E. intMyArr 指向intMyArr[1] 和intMyArr[2].

Answer
C

9. 那一個是正確的方式來定義一個2列和3行的陣列?

  1. int[ , ] a;
    a = new int[2, 3]{{7, 1, 3},{2, 9, 6}};
  2. int[ , ] a;
    a = new int[2, 3]{};
  3. int[ , ] a = {{7, 1, 3}, {2, 9,6 }};
  4. int[ , ] a;
    a = new int[1, 2];
  5. int[ , ] a;
    a = new int[1, 2]{{7, 1, 3}, {2, 9, 6}};

A. 1, 2 , 3
B. 1, 3
C. 2, 3
D. 2, 4, 5
E. 4, 5

Answer
B

10.  對底下的陣列宣告何者敘述正確?

int[][][] intMyArr = new int[2][][];

A. intMyArr 指向1個2維的2列不規則陣列。
B. intMyArr指向1個2維的3列不規則陣列。
C. intMyArr指向1個3維不規則陣列,其中包含了2個2維不規則陣列。
D. intMyArr指向1個3維不規則陣列,其中包含了3個2維不規則陣列。
E. intMyArr指向1個3維不規則陣列,其中包含了2個2維規則陣列。

Answer
C

11. 對底下的陣列宣告何者敘述正確?

int[] intMyArr = {11, 3, 5, 9, 4};

A. intMyArr為一個指向System.Array類別物件的參考。
B. intMyArr為一個指向繼承自System.Array類別的物件的參考。
C. intMyArr為一個指向整數陣列的參考。
D. intMyArr為一個指向在堆疊中的物件參考。
E. intMyArr為一個指向建立在堆疊中的陣列參考。

Answer
B

12. 下面那個程式片段能夠正確地定義(define)並初始化(initialize )一個陣列的4個整數?

  1. int[] a = {25, 30, 40, 5};
  2. int[] a;
    a = new int[3];
    a[0] = 25;
    a[1] = 30;
    a[2] = 40;
    a[3] = 5;
  3. int[] a;
    a = new int{25, 30, 40, 5};
  4. int[] a;
    a = new int[4]{25, 30, 40, 5};
  5. int[] a;
    a = new int[4];
    a[0] = 25;
    a[1] = 30;
    a[2] = 40;
    a[3] = 5;

A. 1, 2
B. 3, 4
C. 1, 4, 5
D. 2, 4, 5
E. 2, 5

Answer
C

13. 底下程式片段的輸出為何?

    int[][] a = new int[2][];
    a[0] = new int[4]{6, 1, 4, 3};
    a[1] = new int[3]{9, 2, 7}; 
    Console.WriteLine(a[1].GetUpperBound(0));

A. 3
B. 4
C. 7
D. 9
E. 2

Answer
E

14. 那一個敘述能夠正確地取得底下陣列的元素數量?

int[] intMyArr = {25, 30, 45, 15, 60};
  1. intMyArr.GetMax;
  2. intMyArr.Highest(0);
  3. intMyArr.GetUpperBound(0);
  4. intMyArr.Length;
  5. intMyArr.GetMaxElements(0);

A. 1, 2
B. 3, 4
C. 3, 5
D. 1, 5
E. 4, 5

Answer
B

15. 底下程式片段的輸出為何?

namespace IndiabixConsoleApplication
{
    class SampleProgram
    {
        static void Main(string[ ] args)
        {
            int i, j;
            int[ , ] arr = new int[ 2, 2 ];
            for(i = 0; i < 2; ++i)
            {
                for(j = 0; j < 2; ++j)
                {
                    arr[i, j] = i * 17 + i * 17;
                    Console.Write(arr[ i, j ] + " ");
                }
            }
        }
    }
}

A. 0 0 34 34
B. 0 0 17 17
C. 0 0 0 0
D. 17 17 0 0
E. 34 34 0 0

Answer
A

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料