NEW
Font size
WorksheetsAPCS10503
Total questions: 25
Worksheet time: 13mins
A: 修改第12行...m=m+1
1
2
3
4
2.給定一陣列a[10]=(1,3,9,2,5,
8, 4, 9, 6, 7 ), i....e...., a[0]=1,a[l]=3,
a[8]=6, a[9]=7, f(a,10) 呼執行右侧
函式後,回傳值為何?
1
2
7
9
3.給定一整數列a[0]、a][1]...、a[99] 且a[k]=3k+1以value=100呼以下兩函式,假設
函式f1及f2之while圈主體分別執行n1舆n2次(i.e,計算if敘述執行次數·不
包含else if敘述)请問n1與n2之值為何?註:(low+high)/2只取整數部分
n1=33. n2=4
n1=33. n2=5
n1=34. n2=4
n1=34 n2=5
4.經過清算後,右側程式的輸出為何?
1275
20
1000
810
5.函數f定義如下,如果呼叫f(1000),指令
sum=sum+i被執行的次數最接近下列何者?
1000
3000
5000
10000
list[current].next = current;
list[current].next = list [list[current].next].next;
current = list[list [current].next].next;
list[list[corrent].next].next = list[current].next;
7.請問以a(13,15)呼叫右側a()函式,函式執行完後其回傳值為何?
90
103
93
60
8.一個費式數列定義第一個數為0, 第二個數為1之後
的每個數都等於前兩個數相加,如下所示:
0、1、1、2、3、5、8、13、21、34、55、89...。
右列的程式用以計算第N個(N>=2)費式數列的數值
請問(a)與(b)兩個空格的敘述(statement)應該為
何?
(a) f[i] = f[i-1] + f[i-2] (b) f[N]
(a) a = a + b (b) a
(a) b = a + b (b) b
(a) f[i] = f[i-1] + f[i-2] (b) f[i]
9.請問右側程式輸出為何?
1
4
3
33
10.給定右側g()函式,g(3)回傳值為何?
16
18
19
22
11.定義a[n]為一陣列(array),陣列元素的
指標為0至n-1。若要將陣列中a[0]的元
素移到a[n-1],右侧程式片段空白處該填
入何運算式?
n+1
n
n-1
n-2
12給定右側函式f1( ) 及f2( )。f1(1)運算過程
中,以下敘述何者為錯?
印出的數字最大的是4
f1一共被呼叫二次
f2一共被呼叫三次
數字2被印出兩次
13.右侧程式片段擬以輾轉除法求 i 與 j 的最大公
因數。請问while迴圈內容何者正確?
k = i % j; i = j; j = k;
i = j; j = k; k = i % j;
i = j; j = i % k; k = i;
k = i; i = j; j = i % k;
14.右側程式輸出為何?
bar: 6
bar: 1
bar: 8
bar: 6
foo: 1
bar: 3
bar: 1
foo: 1
bar: 8
bar: 6
foo: 1
foo: 3
15.若以f(22)呼叫右側f()函式,總共會印出多少數字?
16
22
11
15
16.右側程式執行過後所輸出數值為何?
11
13
15
16
17.右側程式片段主要功能為:輸入
六個整數,檢測並印出最後一個
數字是否為六個數字中最小的
值。然而,這個程式是錯誤的。
請問以下哪一組測試資料可以測
試出程式有誤?
(A)11 12 13 14 15 3
(B)11 12 13 25 28
(C)23 15 18 20 11 12
(D)18 17 19 24 15 16
18.程式編譯器可以發現下列哪種錯誤?
語法錯誤
語意錯誤
邏輯錯誤
以上皆是
19.大部分程式語言都是以列為主的方式儲存陣列。在一個8x4的陣列(array)A裡,若每個
元素需要兩單位的記憶體大小,且若A[0][0]的記憶體位址為108(十進制表示),則
A[1][2]的記憶體位址為何?
120
124
128
以上皆非
20.右側為一個計算n階層的函式,請問該如何
修改才會得到正確的結果?
(A)第2行,改為infc=ni
(B)第3行,改為if(n>0)(
(C)第4行,改為fac=n*fun(n+1);
(D)第4行,改為fac=fac*fun(n-1);
21.右側程式碼,執行時的輸出為何?
0 2 4 6 8 10
0 1 2 3 4 5 6 7 8 9 10
0 1 3 5 7 9
0 1 3 5 7 9 11
22.右側f()函式執行後所回傳的值為何?
1023
1024
2047
2048
23.右側f()函式(a),(b),(c)處需分別填入哪些數
字,方能使得f(4)輸出2468的結果?
1, 2, 1
0, 1, 2
0, 2, 1
1,1, 1
24.右側g(4)函式呼叫執行後,回傳值為為何?
6
11
13
14
25.右側Mystery()函式else 部分運算式
應為何,才能使得Mystery(9)的回傳
值為34。
(A) x+Mystery(x-1)
(B) x * Mystery(x-1)
(C) Mystery(x-2)+Mystery(x+2)
(D) Mystery(x-2) +Mystery(x-1)
