wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

APCS10503

Total questions: 25

Worksheet time: 13mins

Name
Class
Date
1.

A: 修改第12行...m=m+1

a)

1

b)

2

c)

3

d)

4

2.

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) 呼執行右侧

函式後,回傳值為何?

a)

1

b)

2

c)

7

d)

9

3.

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只取整數部分

a)

n1=33. n2=4

b)

n1=33. n2=5

c)

n1=34. n2=4

d)

n1=34 n2=5

4.

4.經過清算後,右側程式的輸出為何?

a)

1275

b)

20

c)

1000

d)

810

5.

5.函數f定義如下,如果呼叫f(1000),指令

sum=sum+i被執行的次數最接近下列何者?

a)

1000

b)

3000

c)

5000

d)

10000

6.
a)

list[current].next = current;

b)

list[current].next = list [list[current].next].next;

c)

current = list[list [current].next].next;

d)

list[list[corrent].next].next = list[current].next;

7.

7.請問以a(13,15)呼叫右側a()函式,函式執行完後其回傳值為何?

a)

90

b)

103

c)

93

d)

60

8.

8.一個費式數列定義第一個數為0, 第二個數為1之後

的每個數都等於前兩個數相加,如下所示:

0、1、1、2、3、5、8、13、21、34、55、89...。

右列的程式用以計算第N個(N>=2)費式數列的數值

請問(a)與(b)兩個空格的敘述(statement)應該為

何?

a)

(a) f[i] = f[i-1] + f[i-2] (b) f[N]

b)

(a) a = a + b (b) a

c)

(a) b = a + b (b) b

d)

(a) f[i] = f[i-1] + f[i-2] (b) f[i]

9.

9.請問右側程式輸出為何?

a)

1

b)

4

c)

3

d)

33

10.

10.給定右側g()函式,g(3)回傳值為何?

a)

16

b)

18

c)

19

d)

22

11.

11.定義a[n]為一陣列(array),陣列元素的

指標為0至n-1。若要將陣列中a[0]的元

素移到a[n-1],右侧程式片段空白處該填

入何運算式?

a)

n+1

b)

n

c)

n-1

d)

n-2

12.

12給定右側函式f1( ) 及f2( )。f1(1)運算過程

中,以下敘述何者為錯?

a)

印出的數字最大的是4

b)

f1一共被呼叫二次

c)

f2一共被呼叫三次

d)

數字2被印出兩次

13.

13.右侧程式片段擬以輾轉除法求 i 與 j 的最大公

因數。請问while迴圈內容何者正確?

a)

k = i % j; i = j; j = k;

b)

i = j; j = k; k = i % j;

c)

i = j; j = i % k; k = i;

d)

k = i; i = j; j = i % k;

14.

14.右側程式輸出為何?

a)

bar: 6

bar: 1

bar: 8

b)

bar: 6

foo: 1

bar: 3

c)

bar: 1

foo: 1

bar: 8

d)

bar: 6

foo: 1

foo: 3

15.

15.若以f(22)呼叫右側f()函式,總共會印出多少數字?

a)

16

b)

22

c)

11

d)

15

16.

16.右側程式執行過後所輸出數值為何?

a)

11

b)

13

c)

15

d)

16

17.

17.右側程式片段主要功能為:輸入

六個整數,檢測並印出最後一個

數字是否為六個數字中最小的

值。然而,這個程式是錯誤的。

請問以下哪一組測試資料可以測

試出程式有誤?

a)

(A)11 12 13 14 15 3

b)

(B)11 12 13 25 28

c)

(C)23 15 18 20 11 12

d)

(D)18 17 19 24 15 16

18.

18.程式編譯器可以發現下列哪種錯誤?

a)

語法錯誤

b)

語意錯誤

c)

邏輯錯誤

d)

以上皆是

19.

19.大部分程式語言都是以列為主的方式儲存陣列。在一個8x4的陣列(array)A裡,若每個

元素需要兩單位的記憶體大小,且若A[0][0]的記憶體位址為108(十進制表示),則

A[1][2]的記憶體位址為何?

a)

120

b)

124

c)

128

d)

以上皆非

20.

20.右側為一個計算n階層的函式,請問該如何

修改才會得到正確的結果?

a)

(A)第2行,改為infc=ni

b)

(B)第3行,改為if(n>0)(

c)

(C)第4行,改為fac=n*fun(n+1);

d)

(D)第4行,改為fac=fac*fun(n-1);

21.

21.右側程式碼,執行時的輸出為何?

a)

0 2 4 6 8 10

b)

0 1 2 3 4 5 6 7 8 9 10

c)

0 1 3 5 7 9

d)

0 1 3 5 7 9 11

22.

22.右側f()函式執行後所回傳的值為何?

a)

1023

b)

1024

c)

2047

d)

2048

23.

23.右側f()函式(a),(b),(c)處需分別填入哪些數

字,方能使得f(4)輸出2468的結果?

a)

1, 2, 1

b)

0, 1, 2

c)

0, 2, 1

d)

1,1, 1

24.

24.右側g(4)函式呼叫執行後,回傳值為為何?

a)

6

b)

11

c)

13

d)

14

25.

25.右側Mystery()函式else 部分運算式

應為何,才能使得Mystery(9)的回傳

值為34。

a)

(A) x+Mystery(x-1)

b)

(B) x * Mystery(x-1)

c)

(C) Mystery(x-2)+Mystery(x+2)

d)

(D) Mystery(x-2) +Mystery(x-1)