lawpalyer logo

資訊處理 97 年程式語言考古題

民國 97 年(2008)資訊處理「程式語言」考試題目,共 5 題 | 資料來源:考選部

0 題選擇題 + 5 題申論題

使用下列的BNF 語法,繪出A = A * (B + C * B)的剖析樹(parsing tree)。(16 分) <assign> -> <id> = <expr> <id> -> A | B | C <expr> -> <expr> + <term> | <term> <term> -> <term> * <factor> | <factor> <factor> -> (<expr>) | <id>
考慮下面的C 語言程式片段,並回答下列問題。(每小題10 分,共20 分) int abc(int *k) { *k +=4; return 3 * (*k) - 1; } void main(){ int i = 10, j = 10, result1, result2; result1 = (i / 2) + abc(&i); result2 = abc(&j) + (j / 2); } 如果在運算式中的運算元估算的順序是由左到右,則result1 及result2 的值為何? 如果在運算式中的運算元估算的順序是由右到左,則result1 及result2 的值為何?
XML 是經常用在網路資料交換之語言,程式設計師經常使用DOM 或SAX 二種應 用程式介面(Application Programming Interface)來存取及處理XML 的資料,請說 明這二種應用程式介面之全名、主要特性及比較此二種應用程式介面(在何種狀況 下使用會較好)。(24 分)
下列有關物件導向程式設計的試題。 何謂晚期捆束(Late Binding),與虛擬函數(virtual function)及多形 (polymorphism)有何關聯?(10 分) 何謂函數樣板(Function Template)?有何作用或好處?(8 分) 以C++語言寫一個可以將二個值交換的函數樣板;函數名稱為swapValues,二個 參數名稱分別為variable1 及variable2。(8 分)
評估程式語言的優劣,一般可以分為那四種?(4 分) 一般程式語言從撰寫到執行,可以分成三種方式,其中一種為編譯,即程式寫好 後經過編譯程式(compiler)編譯成執行檔後再執行。請問另外二種是什麼?請 說明這二種的作法為何?(10 分)