如何學習 C++ 程式設計?
所以你決定學習如何用 C++ 程式設計,但不知道從哪裡開始。這裡有一個關於如何開始的簡要概述。
獲取一個 C++ 編譯器
這是你在開始學習 C++ 程式設計之前想要做的第一步。所有主要的作業系統平臺都有很好的免費 C++ 編譯器可用。下載一個適合你平臺的編譯器,或者你可以在 www.tutorialspoint.com/compile_cpp_online.php 上使用 tutorialspoint.com 的線上編譯器。
GCC − GCC 是 GNU 編譯器集合,基本上是由 GNU 建立的一系列不同編譯器的集合。你可以從 http://gcc.gnu.org/ 下載並安裝此編譯器。
Clang − Clang 是 LLVM 社群釋出的編譯器集合。它在所有平臺上都可用,你可以在 http://clang.llvm.org/get_started.html 上下載並找到安裝說明。
Visual C++ 2017 Community − 這是一個由微軟為 Windows 構建的免費 C++ 編譯器。你可以從 www.visualstudio.com/vs/cplusplus/ 下載並安裝此編譯器。
編寫一個 C++ 程式
現在你已經安裝了一個編譯器,是時候編寫一個 C++ 程式了。讓我們從程式設計示例的縮影開始,即“Hello World”程式。在本例中,我們將使用 C++ 將“Hello World”列印到螢幕上。建立一個名為 hello.cpp 的新檔案,並將以下程式碼寫入其中:
#include<iostream>
int main() {
std::cout << "Hello World\n";
}
讓我們剖析一下這個程式。
第 1 行 − 我們從 #include<iostream> 行開始,這實質上是告訴編譯器將 iostream 檔案(用於管理輸入和輸出流)中的程式碼複製並貼上到我們的原始檔中。標頭檔案 iostream 允許執行標準輸入和輸出操作,例如將此程式的輸出(Hello World)寫入螢幕。以井號 (#) 開頭的行是由稱為預處理器的程式讀取和解釋的指令。
第 2 行 − 空行:空行對程式沒有影響。
第 3 行 − 然後我們宣告一個名為 main 的函式,其返回型別為 int。main() 是我們程式的入口點。每當我們執行一個 C++ 程式時,我們都從 main 函式開始,並從該函式中的第一行開始執行,並一直執行每一行,直到到達末尾。我們在這裡使用花括號 ({) 開始一個塊。這標誌著 main 函式定義的開始,而第 5 行的花括號 (}) 則標誌著它的結束。這些括號之間的所有語句都是函式體,定義了呼叫 main 時會發生什麼。
第 4 行 −
std::cout << "Hello World\n";
此行是一個 C++ 語句。此語句包含三個部分:首先是 std::cout,它標識標準控制檯輸出裝置。其次是插入運算子 <<,它表示後面跟著的內容將插入到 std::cout 中。最後,我們在引號中有一個句子,我們希望將其列印到螢幕上。隨著我們繼續學習 C++,這將變得更加清晰。
簡而言之,我們為 cout 物件提供了一個字串“Hello world\n”,以便將其列印到標準輸出裝置。
請注意,語句以分號 (;) 結尾。此字元標記語句的結尾。
編譯程式
現在我們已經編寫了程式,我們需要將其轉換為處理器能夠理解的語言,即二進位制機器程式碼。我們使用第一步中安裝的編譯器來執行此操作。你需要開啟你的終端/cmd 並使用 cd 命令導航到 hello.cpp 檔案所在的位置。假設你安裝了 GCC,你可以使用以下命令編譯程式:
$ g++ -o hello hello.cpp
此命令表示你希望 g++ 編譯器使用原始檔 hello.cpp 建立一個輸出檔案 hello。
執行程式
現在我們已經編寫了程式並編譯了它,是時候執行它了!你可以使用以下命令執行程式:
$ ./hello
你將得到以下輸出:
Hello world
現在你已經學習瞭如何開始使用 C++ 程式語言,你可以透過閱讀一些關於 C++ 的材料來開始學習,例如 C++http://www.cplusplus.com/doc/tutorial/, 等。這些網站有優秀的入門指南,可以幫助你入門。
其他一些非常有用的資源是 Bjarne Stroustrup、Scott Meyers 等各種作者的書籍。你可以從《C++ 導覽》開始,然後繼續學習《Effective C++》等書籍。這裡有一個關於 c++ 的權威書籍列表,你可以檢視:https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list.
你還可以檢視 C++ 標準以瞭解更多關於語言本身的資訊。它作為草案在 ISO C++ 網站上免費提供:ISO
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP