2012年12月13日 星期四

C語言基本知識

轉自PTT C_and_CPP版 作者 Khoguan Phuann


如何學習 C 或 C++ 語言呢?


和學習別的事物也差不多。努力上課(註)、讀書、上網找資料、看人家的討論、多看別人寫的好程式、由小程式到大程式不斷的練習實作。多讀碼、多寫碼這兩樣是程式高手們所特別強調的。尤其近年來,自由軟體運動的興起,讓我們有機會讀到真正的高手們所寫的優異程式的原始碼,那些程式是我們學習的好對象。

    註:有課可上,當然要認真上。沒錢、沒機會上課就自己研究。有很多高手
        都是自學成功的。

C 和 C++ 有何不同?


簡單說,C 支援的是程序式程式設計(procedural programming)。C++ 利用 C 既有的基礎,大大 的加以擴充,一方面盡量與 C相容,並保有高執行效率的特色。一方面又強化了型別檢查、增加了符號表記上的支援。最大的特色是引進對於物件導向式程式設計(object-oriented programming) 以及泛型程式設計(generic programming) 的充份支援。這些是不同的編程風格,需
 要語言結構上的支援,才能充份發揮其優點。

 C 的編程思維,比較貼近電腦硬體的運作。C++ 的編程思維,更強調對問題領域(problem domain)的塑模(modeling)與抽象化(包括更強調重用性和延展性)。

 學 C 好,還是學 C++ 好?


 都很好,看條件、需求還有個人興致。

 兩種語言都很有價值,都可以學。看環境能提供什麼,例如有比較懂 C或比較懂 C++ 的高手可以從旁指導,可資修改供利用的程式是用 C 或 C++所寫,所需的程式庫只有 C 或只有 C++的版本等。也看自己處境的限制,如工作上的需求,指導教授的偏好等。

 老實說,C++ 會讓人感到比較有趣,因為它花樣多很多。但也因此變得更複雜了,學習時間也會長很多(光比較 C 聖經和 C++ 聖經的厚度就知道了)。
 大家也同意,C++ 比 C更適合開發大型的應用程式系統。



沒有留言:

張貼留言