| 第二版自序 : | 二版與初版 差異 |

對教授基礎程式設計課程的教師而言,可以僅講授第一部份的內容,
在每週 3 小時的授課時數下,可以輕易的在一學期內講授完畢,
在此筆者建議須讓學生多花費一些時間撰寫於第四章內的作業習題,
因為初學者的程式設計能力好壞就是建立在能否活用迴圈與邏輯運算的基礎上。
對教授 C++ 程式語言為主的課程而言,
以筆者的經驗,可以在一學期內將前十二章教授完畢。
至於其餘未教授的內容,可以選擇在進階的課程中講授,或者當為學生自修的參考。
本書各章的程式範例與大多數的習題解答都被整理放置於 http://www.math.ncu.edu.tw/~ziyou/c++ 網址,
在網頁的下載區也同時存放了一些學習輔助文件,例如:勘誤檔,
考古題與「如何學寫程式」一文等等,
後者用來教授初學者如何藉由抽象的構思來撰寫實質的程式。
網頁內也另外搜集了一些有趣且稍具挑戰性的程式問題供讀者習練。
此外筆者另備有九百多張的教學投影片可供老師授課參考。
為方便讀者閱讀,本書於許多關鍵字的右上角都印有數字上標,
用以表示此關鍵字的參考頁數,讀者若對關鍵字有所疑惑,
可以在參閱該字說明後再繼續閱讀。
如同學習傳統的語言文字一般,要將程式語言學好,不管是老師或者是學生,
唯一方法就是不斷的練習,須要真正地花時間撰寫程式。
以筆者多年來學習程式語言的經驗,每當要學習新的程式語言時,
也須要老老實實的一行一行撰寫,
經過一段時間的跌跌撞撞後才能真正地靈活運用。
筆者建議讀者在了解各章所提供的程式範例後,
應試著利用自己的理解自行撰寫一次,藉以加深印象。
本書在每章的末尾都提供了許多題目以供習練,
筆者鼓勵讀者多加練習,
親自撰寫程式解決問題是增加程式語言操作熟悉度的不二法門。
本書的編排採用陳弘毅教授為 Linux 作業系統所
開發的 ChiLatex (ChiLaTeX),這是一種非常好用的中文 LaTeX。
事實上,全書除了須在極少數地方變更所使用的中文字型外,
這套中文 LaTeX 簡便到筆者幾乎不察覺到它的存在。
在撰寫過程中,常常受到陳老師的熱心協助,特此致上感謝之意。
此外筆者也要感謝多年來所有修課的學生,
沒有他們,這本書不會有存在的一天。
希望本書對未來的學生與對程式設計有興趣的人在其學習過程中有所幫助。
讀者若對本書內容有所建議與批評,歡迎來函告知,
本人的電子郵件地址為 ziyou@math.ncu.edu.tw。
子由 於中央大學數學系
2006-11-17