阿摩線上測驗
登入
首頁
>
程式語言
>
98年 - 98 高等考試_三級_資訊處理:程式語言#34599
>
題組內容
三、下圖是一個執行時堆疊(run-time stack)中之啟動紀錄(activation record)的示意圖:
⑴說明如何使用啟動紀錄中的 function parameters 實作下列兩種副程式的參數傳遞 (parameter passing)方法:call-by-value(或稱 pass-by-value)和 call-by-address (或稱 pass-by-address, call-by-reference)。(10 分)
其他申論題
⑴ printf("%X\ n ", &A[0][1][2]);
#89093
⑵ printf("%X\n ", &A[0][1][2]+1);
#89094
⑶ printf("%X\n ", &A[0][1]+2);
#89095
⑷ printf("%X\n ", &A[0]+3);
#89096
【已刪除】⑵考慮下列的 C 程式語言的程式片段,說明當主程式 main 呼叫副程式 foo 之後, 副程式 foo 的啟動紀錄之 function parameters 內容為何?並寫出主程式 main 的輸 出值。(10 分)
#89098
⑴假設 C1 和 C2 是由 〈condition〉 展開的程式碼,S1 和 S2 是由 〈statement〉 展開 的程式碼,畫出 〈conditional statement〉: if C1 then if C2 then S1 else S2 的語法樹(或稱剖析樹,parse tree),並解釋何謂「搖擺 else 問題」(dangling else problem)。(10 分)
#89099
⑵舉出兩個方法,解釋程式語言如何在設計、實作、或使用時解決「搖擺 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