logo

Wednesday 23rd of May 2012

廣告

廣告贊助商

C語言介紹 PDF 列印 E-mail
作者是 Victor   
週三, 11 二月 2009 23:53

什麼是程式語言

在探討C語言之前,我們先來弄清楚到底什麼是程式語言,就如它名字所表示的,它是一種語言,有別於我們一般使用的自然語言,例如中文、英文、德文、法文,程式語言是一種人造的語言,人類定制出來用於方便人類和機器溝通的語言,舉個例子,我們以周蟒 (一款中文版的Python)做為例子

取 i 自 範圍(1, 5):
    印出 i

上面這些看似有些不通順的語句,意思是告訴電腦,在螢幕上印出

1
2
3
4
5

這樣的字樣,它示範了由特定的語法來命令電腦工作,因此,我們只要學會了程式語言,就可以以我們的意思要電腦幫我們工作,這就是程式語言的目的

C語言

在此我們不打算介紹C語言的歷史,如果有興趣請參考Wiki百科 - C語言,我們在這裡要介紹和說明此程式語言的一些特性和原理,它是相當廣範被運用的通用程式語言,它是屬於高階語言,但是卻很貼近機器,這就是它最大的特色之一

什麼是高階語言

這個名詞很容易在一開始讓人誤以為,高階語言比低階語言來得高級,因為高階兩個字,但是事實上並不是這樣的,所謂的高階語言,其高度是指人和機器之間,比較接近人類的,就比較高階,比較接近機器的,就比較低階,但什麼又是接近機器或人類? 我們舉個例子,假設有兩台機器人,都是聽從人類語言的指示,但是一台可以聽得懂較抽象的命令,另一台卻只懂一個命令一個動作,當我們命令兩台機器人去倒垃圾,可能會用下面兩種命令的方式

高階機器人

倒垃圾

低階機器人

使用輪子移動到到垃圾筒旁座標 10, 20

申出手臂1號與2號

往內移動20cm

升高手臂1號與2號50cm

....

(以下簡化)

反轉垃圾桶

反轉垃圾桶

放下垃圾桶

由此例子就可以知道,較接近人類語言,和機器的設計較沒有關係的,我們就叫做高階語言,而較不接近人類語言,和機器如何設計有強烈關係的,我們就叫做低階語言,而C語言是屬於高階語言,但是它有個特色就是很貼近機器,所以相較於其它高階語言例如Python、Java等,C語言就顯得較為低階

編譯語言

C語言是一款編譯式的語言,那什麼又是編譯(Compile),所謂的編譯就是指,將程式語言,翻譯成機器懂的語言,或許令人覺得奇怪,程式語言不是設計用來讓人和電腦溝通的語言,為何還要翻譯電腦才能明白,事實上電腦懂的是最低階的語言,也就是機器語言,它只懂這種語言,你想命令電腦,就必須講機器語言,但是,機器語言由於是設計給機器讀的,因此人類難以理解和使用,所以才需要高階的語言,其目的就是讓人類較容易使用和理解、思考,在寫出來後,再由一種叫編譯器(Compiler)的軟體負責翻譯成機器語言,流程像這樣

人類寫出程式語言 -> 編譯器翻譯成機器語言 -> 機器依照機器語言的指令工作

這就是C語言編譯的原理

 

 

核心是 Joomla!. Designed by: Free Joomla Theme, whois protect. Valid XHTML and CSS.