什麼是C語言

C語言的前身是B語言,原本是用來撰寫DEC PDP-11電腦的系統程式,C語言之前之能在大電腦中執行,現在已經成功移植到個人電腦。

C語言的特色

  • 高效率的編譯式語言

    • 當原始程式編輯完成後,需要轉換為機器所能理=解的語言後才能正確執行,而這種轉換程式又分為直譯器(interpreter)與編譯器(compiler)。
      • 直譯器:在程式執行時,會先檢查所要執行的那一行敘述的語法,如果沒錯便會直接執行該行程式,若遇到錯誤則立刻中斷,直到錯誤修正才會繼續執行。著名的是Basic,缺點是執行速度會變慢,效率也較低。
      • 編譯器:會先檢查所有的程式碼是否合法,才編譯成可執行檔,當每次修改一次,就必須重新編譯,所以執行效率較高。著名的有C、Coblo、Pascal等。
  • 介於高階與低階之間的語言

    • 低階語言:例如組合語言,在電腦執行效率相當高,但對於人類是難以理解、閱讀、維護、編寫的。
    • 高階語言:與人類語法較為接近,所以容易除錯,相對來說對硬體控制力較差。
    • 但C語言可以說是兩者兼具,還可以很容易和組合語言連結,提高執行效率。
  • 靈活的程式控制流程

    • C語言讓工程師可以很容易設計出具有結構化、模組化的程式語言。也因為他的靈活性,許多的作業系統與驅動程式,甚至是有些高階語言的編譯器或解譯器,都是C所創造的喔。
  • 可攜帶性佳

    • 可攜性就像硬體的相容性,可以在少量修改或完全不修改的情況下在另外一個作業系統中執行。
  • 為工程師所設計的語言

    • 可以依記憶體的位址來存取變數,提高執行效率,也提供豐富的運算子,使C語言更加簡潔有力,也提供撰寫好的程式庫,內含許多函數,使用時無需再撰寫程式碼。

為什麼要學C語言

其實對我來說,我希望透過C語言能堅強自己對程式語言的基礎,感覺自己遲早會學,不如現在就開始學吧!

本日結語

今天主要透過說明C語言的基礎與優點,看起來會比較無趣,但其實已經減少蠻多的,書本上有更多細節,大家有興趣也可以去買一本自己看。下次會開始安裝開發環境,我是用Mac開發,如果是其他作業系統的朋友,可以去參考別人的文章喔!

參考書籍

  • C語言教學手冊-第四版 作者:洪維恩