跳轉到內容

C 程式設計/學習之前你需要了解什麼

來自 Wikibooks,開放世界中的開放書籍

本書介紹並教授 C 程式語言的基礎知識,並涉及一些高階主題。本節概述了您充分利用本書所需的基本技能和工具。

您需要的技能和先前經驗

[編輯 | 編輯原始碼]

本書適合初學者,所以即使您沒有正規的計算機培訓或程式設計經驗也不要擔心。假設您知道如何開啟電腦、啟動和停止應用程式,以及執行其他基本操作,例如安裝軟體。還假設您有一些使用終端視窗透過命令列介面與作業系統互動的經驗。如果您不確定這意味著什麼,請考慮查詢您所選平臺的教程,這些教程可以讓您熟悉計算機命令列。至少,您應該瞭解用於導航到不同目錄和執行簡單檔案管理操作的基本命令。本書將詳細說明您需要從命令列執行的其他任何命令,以使您的 C 程式碼在您的機器上執行。

您需要的軟體

[編輯 | 編輯原始碼]

沒有人僅僅透過閱讀樂譜就能成為音樂家。音樂家必須不斷地演奏和練習他們的樂器才能變得出色。同樣,成為一名程式設計師的唯一方法是編寫和執行大量程式碼。為此,您將需要兩件不同的軟體:編譯器文字編輯器。兩者都可以免費獲得。

編譯器
[編輯 | 編輯原始碼]

編譯器是一個複雜的軟體,用於將您使用文字編輯器編寫的 C 原始碼轉換為可以在您的計算機上執行的機器程式碼[1]。以下是流行的 C 編譯器列表。請注意,下面列出的一些編譯器是整合開發環境 (IDE)的一部分。但是,如果您是程式設計新手,最好從命令列而不是透過 IDE 安裝和執行編譯器。本書在示例中使用 GNU C 編譯器 (GCC),因此我們建議您安裝此編譯器以用於本書。本章的下一部分將說明如何將 GCC 軟體下載並安裝到您的機器上。


流行的 C 編譯器/IDE 包括

名稱 網站 平臺 許可證 詳情
Microsoft Visual Studio 社群版 Visual Studio Windows 專有,免費 功能強大且對學生友好的行業標準編譯器版本。
Xcode Xcode macOS,OSX 專有,免費 可在 Mac App Store 上免費獲得。
Tiny C 編譯器 (TCC) tinycc GNU/Linux,Windows LGPL 小型、快速且簡單的編譯器。
Clang clang GNU/Linux,Windows,Unix,OS X 伊利諾伊大學/NCSA 許可證 一個免費的、許可證放寬的前端,使用 LLVM 後端。
GNU C 編譯器 gcc GNU/Linux,MinGWmingw-w64 (Windows),Unix,OS X。 GPL 事實上的標準。隨大多數類 Unix 系統一起提供。
文字編輯器和 IDE
[編輯 | 編輯原始碼]

除了編譯器之外,唯一其他軟體要求是用於編寫和儲存 C 程式碼的文字編輯器。請注意,文字編輯器不同於文字處理器,文字處理器是一種具有許多功能以建立視覺上吸引人的文件的軟體。與文字處理器不同,文字編輯器主要用於建立純文字檔案。在 Windows 上,可以使用 Notepad 文字編輯器,但它不提供任何高階功能,例如語法高亮和程式碼補全。有數百種文字編輯器(請參閱文字編輯器列表)。其中最流行的是適用於 Windows 的Notepad++,以及Sublime TextgeditVimEmacs,它們也可以在其他作業系統上使用(“跨平臺”)。這些文字編輯器帶有語法高亮和行號,這使得程式碼一目瞭然,更容易發現語法錯誤。許多文字編輯器具有提高編碼速度的功能,例如按鍵宏和程式碼片段,您可以在程式設計技能提高時利用這些功能。

您可能還在考慮使用整合開發環境 (IDE) 來幫助您編寫程式碼。IDE 是一個整合工具和功能的套件,在一個方便的包中,通常帶有圖形使用者介面。這些程式包括文字編輯器和檔案瀏覽器,有時還會捆綁一個易於訪問的編譯器。它們通常還包括一個偵錯程式,這是一個工具,可以讓你執行諸如手動逐行地逐步執行你開發的程式,或者更改資料以幫助查詢和糾正程式設計錯誤。

但是,許多 IDE 不提供編譯器的命令列介面,或者只提供執行程式的圖形按鈕或選單。因此,對於新程式設計師來說,IDE 不是理想的選擇。相反,一個簡單的文字編輯器就足夠了,並且能夠在命令列上發出簡單的命令,這將幫助您獲得對核心開發工具的實際熟悉和理解。當然,如果您熟悉 IDE,IDE 仍然對您有用。但作為一個一般指南:除非您知道 IDE 為您做了什麼,否則請不要使用 IDE!


其他流行的編譯器/IDE 包括

名稱 網站 平臺 許可證 詳情
Eclipse CDT Eclipse Windows,Mac OS X,GNU/Linux 自由/自由和開源 Eclipse 是一個流行的開源 IDE,用於 C/C++ 開發。
Netbeans Netbeans 跨平臺 CDDLGPL 2.0 一個與 Eclipse 相當的成熟 IDE。
GNOME Builder Builder GNU/Linux GPL 一個功能豐富但簡單的 IDE,適用於 GNOME 桌面環境。
Anjuta Anjuta GNU/Linux GPL 一個可擴充套件的 GTK+3 IDE,適用於 GNOME 桌面環境。
Geany geany 跨平臺 GPL 基於 Scintilla 的輕量級跨平臺 GTK+ 筆記本,具有基本 IDE 功能。
KDevelop KDevelop 跨平臺 GPL 一個跨平臺 IDE,適用於 KDE 專案。
Little C 編譯器 (LCC) lcc Windows 原始碼可用,但不是開源或自由的 小型編譯器。
Pelles C Pelles C Windows,Pocket PC 專有,免費 適用於 Windows 的完整 C 開發套件。
Dev-C++ Dev C++ Windows GPL 以前流行的 Bloodshed Dev-C++ 的更新版本。
CodeLite CodeLite 跨平臺 GPL 2 免費 IDE,用於 C/C++ 開發。
Code::Blocks Code::Blocks 跨平臺 GPL 3.0 旨在滿足使用者最苛刻的需求。非常可擴充套件且完全可配置。

GNU/Linux 上,GCC 幾乎總是預設包含在內。

Microsoft Windows上,Dev-C++ 對於初學者來說是推薦使用的,因為它易於使用、免費且易於安裝。雖然最初的開發人員(Bloodshed)自 2005 年以來就沒有更新過它,但 2011 年出現了一個由獨立程式設計師製作的新版本,並且正在積極開發中。[2] 對於那些只在 Windows 環境中工作的人來說,另一個選擇是專有的 Microsoft Visual Studio Community,它免費且擁有優秀的偵錯程式。

Mac OS X上,Xcode IDE 提供了編譯各種原始檔所需的編譯器。較新的版本不包括命令列工具。需要透過 Xcode->Preferences->Downloads 下載它們。

腳註

[edit | edit source]
  1. 實際上,GCC(GNU C 編譯器)的cc(C 編譯器)將輸入的 .c 檔案轉換為目標 CPU 的彙編,輸出寫入 .s 檔案。然後as(彙編器)從 .s 檔案生成機器碼檔案。預處理由另一個子程式cpp(C 預處理器)完成,不要與c++(另一種程式語言的編譯器)混淆。
  2. http://orwelldevcpp.blogspot.com/
華夏公益教科書