計程一模擬期中考

12/13/2004

 

請注意:

只考筆試、筆試時間:十一月十六日第三、四節課

學號小於9303049的同學在50314

學號大於9303049的同學在50304

 

Closed-book exam,不得帶課本筆記。

 

1.       右圖是Microsoft Visual C++ 6.0工具列上的幾個圖形按鈕  

a)        從左算起第一、二個圖形分別是compilebuild,請問各有何功能,兩者又有何不同。

b)       從左算起第四、五個圖形分別是execute programgo,請問各有何功能,兩者又有何不同。

2.       請寫一C functionleapyear,傳入一個介於1900-2100間的年份,如果該年為閏年傳回1,否則傳0

3.       參考[K&R] p.53Table 2.1,加入括弧標明以下expressions的運算順序:

a)     a * b – c / d

b)     a * b / c / d – e – f

c)     a <= b != c | d % e && f

d)       a >= b ? c & d < e ++ : f –– || ! g

e)        自行出題,與同學交互練習

4.       if ((c=getchar()) = EOF)if ((c=getchar()) == EOF)有何不同,請說明。

5.       if (c=getchar() == EOF)if ((c=getchar()) == EOF)有何不同,請說明。

6.       解釋名詞:

a)        lazy evaluation

b)       dangling else problem

c)        test driver

d)       separate compilation

e)        pseudo code

f)         definition

g)        declaration

h)        reverse Polish notation

7.       假設a, b8-bit chara = 0x43b = 0xc3算出下列各expressions之值:

a)     a & b

b)     a | b

c)     a ^ b

d)     a & 0xff ^ b << 2

e)        自行出題,與同學交互練習

8.       請將以下程式由switch改成if:
switch (a) {
case 1: case 3: case 5: case 7: case 9:
    x++;
    break;
case 2: case 4: case 6: case 8: case 10:
    y--;
    break;
default:
    a += 5;
}

9.       自行出題,將程式由if改成switch

10.    自行出題,將程式由for loop改成while loop

11.    自行出題,將程式由for loop改成while loop

12.    breakcontinue有何異同?請舉例解釋。

13.    請說明linker的功能。請繪一圖說明其在程式build過程中之位置。

14.    何謂linker error,請舉一例說明。

15.    請舉例說明何謂call by value

16.    請說明binary search的基本原理並寫出它的pseudo code

17.    請自行舉例,如一個size17array及要找的值,trace binary search執行過程。

18.    何謂header file。請說明其用途及好處。System header fileuser-defined header file使用時有何差異?

19.    何謂automatic variable?何謂external variable?何謂local variable?何謂global variable?各有何特性及相異處?

20.    同名字的automatic variables能否同時出現在一個程式中,請舉例說明。

21.    同名字的external variables能否同時出現在一個程式中,請舉例說明。

22.    何謂stackstack如何運作?

23.    請在reverse Polish calculator的程式中找出所有的

a)        global variable definitions

b)       global variable declarations

c)        automatic variable definitions

d)       automatic variable declarations

e)        function definitions

f)         function declarations

24.    請說明 reverse Polish calculator工作原理,並寫出它的pseudo code

25.    自行設計輸入資料,手動trace reverse Polish calculator的工作過程。

26.    static automatic variable與一般automatic variable有何不同。自行設計一程式驗證你的解答。

27.    弄懂Assignments 4-6,我會出它的變化題。