二、初識C語言 編程語言有很多種,主要分為三大類,分別是機器語言、彙編語言、高級語言。電腦只能識別和理解二進位代碼,也就是0和1。想一下,用機器語言來開發,我們得記住多少用0和1兩個數字所組成的指令代碼以及其代碼涵義?顯然,這是不合理的,這樣的編程枯燥且繁瑣費力,也容易出錯。彙編語言應運而生,彙編 ...
二、初識C語言
編程語言有很多種,主要分為三大類,分別是機器語言、彙編語言、高級語言。電腦只能識別和理解二進位代碼,也就是0和1。想一下,用機器語言來開發,我們得記住多少用0和1兩個數字所組成的指令代碼以及其代碼涵義?顯然,這是不合理的,這樣的編程枯燥且繁瑣費力,也容易出錯。彙編語言應運而生,彙編語言用助記符代替機器指令,但助記符量大難記,而且也枯澀的很。所以,我們的前輩又開發出了高級語言,高級語言基於自然語言,大大降低了程式員學習的成本,使得編程得以普及。我們現在開發常用的是高級語言如C、C++、JAVA等。但有失必有得,高級語言雖然降低了學習成本,但也失去硬體控制的能力,執行效率和機器語言、彙編語言相比差的不是一星半點。本教程所教授的是C語言。C語言是一門古老而又強大的語言,其起源於1972年,由美國貝爾實驗室丹尼斯-里奇和肯-湯普遜在開發UNIX操作系統時在B語言基礎上設計而來,距今已有45年的歷史,目前最新標準是C11標準。C語言兼具高級語言和低級語言的特點,在容易學習的同時依然具有低級語言高效,可直接訪問物理地址,操作硬體的強大特性。而且很多高級語言都是由C語言擴展或衍生而來。學會了C語言,我們在學習其它語言時會學的更快,由於其接近底層的特性我們在學習數據結構等高深的知識也會起到很大幫助。C語言可以比喻為一門非常強大的內功心法,學會它可以做到一法通萬法。這也是它至今不衰的原因。說了這麼多C語言的優點,現在來說說它的缺點。C語言最大的優點也是它最大的缺點——自由度大。C語言程式設計要求不嚴格,程式設計的自由度比較大。實在的說法,一浪就容易翻。C語言因其程式設計自由的特點,出現的錯誤也往往難以察覺,尤其是涉及指針的錯誤,讀者要特別註意。
C語言現今主要用於系統內核,硬體驅動,單片機嵌入式等底層的開發。關於C語言我們就介紹到這裡,下麵正式開啟編程之道。
目前的主流操作系統有windows(使用人數最多)、Mac OS X(蘋果電腦的操作系統) 、UNIX和Linux(Linux是類UNIX系統)。在本教程,則著重講在windows環境下的編程。
前面講過電腦能理解和識別二進位代碼,然而C語言代碼電腦並不能直接識別,所以這就需要一個特殊的工具來給電腦當“翻譯官”——編譯器,將C語言代碼編譯成可執行文件(.exe)。將C語言代碼轉換成二進位指令的過程稱為“編譯”。常用的編譯器有GCC、cl.exe、LLVM。windows環境下,我們一般都是用cl.exe,編譯器只負責編譯,我們寫代碼則需要用到另一個工具“文本編輯器”,筆者使用的是notepad++。這裡也推薦一些優秀的文本編輯器Sublime Text、vim讀者可自行選擇喜歡的文本編輯器。看到這裡可能有些讀者感覺要用到的工具很多吧?其實不然,我們一般在開發軟體時都會用到一個工具“IDE(集成開發環境)”,IDE裡面集成了編譯器、文本編輯器、調試器等一系列開發時會使用到的工具。筆者是用的是微軟的Visual Studio2013版,若不喜歡喜歡Visual Studio,臃腫(安裝包大,占硬碟)的讀者,可以使用DEV C++、C-Free5、VC++6.0等輕量級IDE,目前電腦二級C語言考試則用VC6.0的多。
文中若有錯誤歡迎指正,未經博主允許不得轉載(未完待續......)