阿摩線上測驗
登入
首頁
>
程式語言
>
98年 - 98 高等考試_三級_資訊處理:程式語言#34599
>
題組內容
四、考慮下列的 BNF 法則:
⑴假設 C1 和 C2 是由 〈condition〉 展開的程式碼,S1 和 S2 是由 〈statement〉 展開
的程式碼,畫出 〈conditional statement〉:
if C1 then if C2 then S1 else S2
的語法樹(或稱剖析樹,parse tree),並解釋何謂「搖擺 else 問題」(dangling
else problem)。(10 分)
其他申論題
⑶ printf("%X\n ", &A[0][1]+2);
#89095
⑷ printf("%X\n ", &A[0]+3);
#89096
⑴說明如何使用啟動紀錄中的 function parameters 實作下列兩種副程式的參數傳遞 (parameter passing)方法:call-by-value(或稱 pass-by-value)和 call-by-address (或稱 pass-by-address, call-by-reference)。(10 分)
#89097
【已刪除】⑵考慮下列的 C 程式語言的程式片段,說明當主程式 main 呼叫副程式 foo 之後, 副程式 foo 的啟動紀錄之 function parameters 內容為何?並寫出主程式 main 的輸 出值。(10 分)
#89098
⑵舉出兩個方法,解釋程式語言如何在設計、實作、或使用時解決「搖擺 else 問 題」。(10 分)
#89100
五、考慮 C 程式語言的位元運算(bitwise operation),變數 m 和陣列(array)n 的宣告 如下: unsigned int m; unsigned char n[4]; 假設 m 的二進位值(binary value)為: b32b31b30b29b28b27b26b25b24b23b22b21b20b19b18b17b16b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1 寫一個 C 語言的程式將陣列 n 的元素(element)設定為: n[0]: b31b32b29b30b27b28b25b26 n[1]: b23b24b21b22b19b20b17b18 n[2]: b15b16b13b14b11b12b9b10 n[3]: b7b8b5b6b3b4b1b2 即是將 m 的二進位值,以每兩個位元一組,作位元調換(bit swap),再切割成四個 位元組。除了迴圈控制變數(loop control variable)外,程式中不可使用+, -, *, /, %的 算術運算(arithmetic operations)(可以宣告和使用其他變數)。(20 分)
#89101
(一)對全球海洋環境有何影響?(5 分)
#89102
(二)對台灣沿近海漁場環境有何影響?(5 分)
#89103
(三)對台灣沿近海漁業有何衝擊?(10 分)
#89104
二、熱帶海洋(Tropical ocean)理論上應是生產力極低的海域,但熱帶太平洋卻是世界 上最大的鰹鮪漁場之一,試述其形成漁場之原因。(20 分)
#89105