1. 程式人生 > 其它 >做題小記3

做題小記3

Java

  1. 分析以下程式碼,說法正確的是()

 public static void main(String[] args) {
    System.out.println(val());
}

public static int val() {
    int num = 5;
    try {
    num = num / 0;
} catch (Exception e) {
    num = 10;
} finally {
    num = 15;
}
return num;
}
A.執行時報錯
B.程式正常執行,輸出值為5
C.程式正常執行,輸出值為10
D.程式正常執行,輸出值為15

解析:無論有無異常,finally塊中的程式碼一定會執行且在最後執行,因此num輸出為15。

  1. 以下哪一個不是賦值符號?

A.+=
B.<<=
C.<<<=
D.>>>=

A.很明顯是賦值符號 B.<<=左移賦值 C.不是 D.>>>= 右移賦值,左邊空出的位以0填充

資料結構(陣列)

  1. 關於 Array 陣列物件的說法不正確的是()

A.push()向陣列的末尾新增一個或更多元素,並返回新的長度
B.pop()刪除並返回陣列的第一個元素
C.unshift()向陣列的開頭新增一個或更多元素,並返回新的長度
D.join()把陣列的所有元素放入一個字串

答案選擇B

pop方法刪除陣列的最後一個元素,把陣列的長度減1,並且返回它被刪除元素的值,如果陣列變為空,則該方法不改變陣列,返回undefine值

  1. 在以下程式碼段下劃線處填寫以下哪個選項可以輸出good。

    char a[] = "ggood";
    char b[] = "goodd";
    char *c;
    _________
    printf(c);
A.c = a+1;
B.c = b; c[5] = '\0';
C.*c = "good";
D.編譯出錯或其他都不對

A選項c=a+1,則指標的起始位置為a[1]所在的位置,列印輸出剛好為“good”;

B選項輸出結果為“goodd”,改為c[4]='\0'可符合輸出結果;

C選項語法錯誤。

正確答案為A。

  1. 假設以行優先順序儲存三維陣列A5[7],其中元素A0[0]的地址為1100,且每個元素佔2個儲存單元,則A4[2]的地址是()

A.1150
B.1291
C.1380
D.1482

正確答案為D,可以將三維陣列A5[7]看作5個6行7列的二維陣列。

1、A4[2]元素在第5個二維陣列,前面4個二維陣列儲存元素個數為4(67);

2、第5個二維陣列中,目標元素位於第4行第3列,其前面儲存元素個數為3*7+2;

因此A4[2]前面儲存了467+37+2=191個元素,故其地址為1100+1912=1482。