書籍試閱
二版前言
第二版除修正第一版錯誤外,還作了以下大改變。
•取消所有的作業:
隨著我教書的時間增加,作業題目數量也一直增加,這些新增加的題目就沒有辦法加入紙本書中。我的想法就是放在網路上,這樣就能動態增加。詳情請參酌本書網站。https://sites.google.com/view/c-programming-2ed/home
•採用C99語法:
現在大部份的編譯器(例如gcc)都已經直接支援C99語法,所以本書也將C99語法作重點式的介紹。
– 增加bool類別的介紹。
– 增加明白顯示位元數整數(如int64 t)類別的介紹。
– for迴圈自帶註標變數。
– 放寬的變數宣告位置。
– stddef的offsetof。
– stdlib的二分搜尋bsearch。
•增加較完整的例題:
增加了許多較完整例題,讓同學了解所學技術的應用。其中包括了一個簡易BASIC 直譯器。相信同學在了解直譯器原理後,更能體會高階語言的運作。
•加強例子的關聯性:
增加了許多互相有關聯的例子。例如一個舊例子可以用剛學習過的新方法重寫一次,讓同學了解所學方法的實際應用。
•調整觀念順序:
第一版重視觀念應該在哪一章節出現。例如define就應該在前置處理章節。第二版重視觀念應用的需要。如果define適合在前面的例子出現,就提前介紹,不用拘泥章節。
•增加圖示:
增加了許多圖示。幫助了解複雜的觀念。
另外,第二版還有一個重大的改變,就是把「批改娘」(Judge Girl)放上封面。「批改娘」是我在2003年為臺大資訊系所開發的程式批改系統(https://judgegirl.csie.org/)。為甚麼要有這套線上批改系統?由於當時並沒有任何簡單好用的線上批改系統。學生交了作業,也不知道對錯。考試都是在考卷上寫程式,老師也不知道程式對不對。有鑒於此,我在2003年寫了第一版的批改娘系統。學生可以將程式提交給批改娘系統,然後系統會批改程式,並立即計算作業或是考試的得分。學生的反應很正面,因為他們可以當場就知道作業或是考試答案是否正確。這對學習程式非常有幫助。臺大資訊系也成為國內第一個在程式課程中,捨棄紙筆考卷,使用上機實測考試的系所。關於批改娘詳細的使用說明請見本書第1章。
為了說明方便,我開始使用「批改娘」稱呼這個批改系統。「批改娘」也成為臺大資訊系的學生,在學習程式設計過程中不可磨滅的回憶。所以從第一代批改娘開始,其設定就是「答錯就斬除」的鐮刀女巫。對資訊系的學生而言,批改娘就是青春的回憶和象徵,具有重大意義。
十六年來,批改娘默默的編譯、執行、評分,陪伴著臺大資訊系大一學生學習程式。現在的批改娘系統早已不是當初我建立的陽春版本。經過歷代助教的整理改良,她已經成為一個在github上的開源軟體項目。「批改娘」圖像也在2010年經由學生競圖選出,進化成為目前大家所看到的,臺大電信所施光祖博士創作的第二代。無論如何演進,批改娘就是臺大資訊系學生大一生活的一部分。不管程式寫的對或不對,不變的是臺大資訊系同學們對程式設計的熱情與投入。今天我決定在教科書封面上放批改娘,就是要紀念這段歷史,也是對臺大資訊系同學們努力付出時間、學習程式的最高致敬。
同時,我想藉這個機會感謝所有批改娘系統的參與人員。首先,感謝歷代助教上官林傑、陳映睿、王尹、蕭俊宏、鍾以千、曹佐碩、黃易、李宗翰、許祐程、王盛平、曹又霖、楊翔雲的整理改良。感謝第一代原畫江昌鴻、第二代原畫施光祖。最後要感謝臺大出版社的編輯團隊,很有耐心的傾聽批改娘的背景故事。讓批改娘能站上臺大教科書封面,見證這段批改系統在臺大由無到有的歷史。身為這本書的作者,能得到這麼多朋友的幫助,我感到十分榮幸。
最後,雖然已經經過無數次的校對,但目前的版本可能還是有一些錯誤。如果您發現任何錯誤,歡迎寄信到pangfeng.liu@gmail.com。感謝。
│立即訂購│
五南書店→《由片語學習C程式設計(第二版)》