C++學習之Hello World
C++簡介
C++ 是一種靜態型別的、編譯式的、通用的、大小寫敏感的、不規則的程式語言,支援過程化程式設計、面向物件程式設計和泛型程式設計。
C++ 被認為是一種 中級 語言,它綜合了高階語言和低階語言的特點。
C++ 是由 Bjarne Stroustrup 於 1979 年在新澤西州美利山貝爾實驗室開始設計開發的。C++ 進一步擴充和完善了 C 語言,最初命名為帶類的C,後來在 1983 年更名為 C++。
C++ 是 C 的一個超集,事實上,任何合法的 C 程式都是合法的 C++ 程式。
注意:使用靜態型別的程式語言是在編譯時執行型別檢查,而不是在執行時執行型別檢查。
面向物件程式設計
C++ 完全支援面向物件的程式設計,包括面向物件開發的四大特性:
- 封裝
- 抽象
- 繼承
- 多型
標準庫
標準的 C++ 由三個重要部分組成:
- 核心語言,提供了所有構件塊,包括變數、資料型別和常量,等等。
- C++ 標準庫,提供了大量的函式,用於操作檔案、字串等。
- 標準模板庫(STL),提供了大量的方法,用於操作資料結構等。
ANSI 標準
ANSI 標準是為了確保 C++ 的便攜性 —— 您所編寫的程式碼在 Mac、UNIX、Windows、Alpha 計算機上都能通過編譯。
由於 ANSI 標準已穩定使用了很長的時間,所有主要的 C++ 編譯器的製造商都支援 ANSI 標準。
學習 C++
學習 C++,關鍵是要理解概念,而不應過於深究語言的技術細節。
學習程式設計語言的目的是為了成為一個更好的程式設計師,也就是說,是為了能更有效率地設計和實現新系統,以及維護舊系統。
C++ 支援多種程式設計風格。您可以使用 Fortran、C、Smalltalk 等任意一種語言的程式設計風格來編寫程式碼。每種風格都能有效地保證執行時間效率和空間效率。
C++ 的使用
基本上每個應用程式領域的程式設計師都有使用 C++。
C++ 通常用於編寫裝置驅動程式和其他要求實時性的直接操作硬體的軟體。
C++ 廣泛用於教學和研究。
任何一個使用蘋果電腦或 Windows PC 機的使用者都在間接地使用 C++,因為這些系統的主要使用者介面是使用 C++ 編寫的。
C++ 教程
C++ 是一種中級語言,它是由 Bjarne Stroustrup 於 1979 年在貝爾實驗室開始設計開發的。C++ 進一步擴充和完善了 C 語言,是一種面向物件的程式設計語言。C++ 可運行於多種平臺上,如 Windows、MAC 作業系統以及 UNIX 的各種版本。
本教程通過通俗易懂的語言來講解 C++ 程式語言。
現在開始學習 C++ 程式設計!
ofollow,noindex" target="_blank">C++ 線上工具
誰適合閱讀本教程?
本教程是專門為初學者打造的,幫助他們理解與 C++ 程式語言相關的基礎到高階的概念。
閱讀本教程前,您需要了解的知識:
在您開始練習本教程中所給出的各種例項之前,您需要對計算機程式和計算機程式設計語言有基本的瞭解。
編譯/執行 C++ 程式
例項1
#include <iostream> using namespace std;//引入整個名稱空間 int main() { cout << "Hello, world!" << endl;//末尾換行 //等價於 cout << "Hello World C++ !\n";//等同上一行 return 0; }
真正的開發過程中,應當儘量避免使用 using namespace std直接引入整個名稱空間,否則會因為名稱空間汙染導致很多不必要的問題, 比如自己寫的某個函式,名稱正好和 std 中的一樣, 編譯器會不知道使用哪一個, 引起編譯報錯, 建議使用:
std::cout << "Hello World" << std::endl;
等直接由名稱空間組合起來的全稱。
例項2
#include <iostream> int main() { std::cout << "Hello World" << std::endl;//不引入整個名稱空間 return 0; }
如果想顯示多行文字,如下:
#include <iostream> using namespace std; int main() { cout<<"...............\n" <<"Hello, world!\n" <<"Welcome to c++\n" <<"...............\n"; return 0; }
C標準庫的使用。
#include <stdlib.h> #include <iostream> using namespace std; int main() { cout<<"Hello World "<<endl; system("pause"); return 0; }
包含標頭檔案 stdlib.h,並在主程式中加入 system(“pause”); 可以在程式執行完以後使黑框暫停顯示,等待輸入,而不是閃退。
學習筆記
C++中 “\n” 與 endl 的區別是什麼?
“\n” 表示內容為一個回車符的字串。std::endl 是流操作子,輸出的作用和輸出 “\n” 類似,但可能略有區別。
std::endl 輸出一個換行符,並立即重新整理緩衝區。
例如:
std::cout << std::endl;
相當於:
std::cout << '\n' << std::flush; 或者 std::cout << '\n'; std::fflush(stdout);
由於流操作符 « 的過載,對於 ‘\n’ 和 “\n”,輸出效果相同。
對於有輸出緩衝的流(例如cout、clog),如果不手動進行緩衝區重新整理操作,將在緩衝區滿後自動重新整理輸出。不過對於 cout 來說(相對於檔案輸出流等),緩衝一般體現得並不明顯。但是必要情況下使用 endl 代替 ‘\n’ 一般是個好習慣。
對於無緩衝的流(例如標準錯誤輸出流cerr),重新整理是不必要的,可以直接使用 ‘\n’。
include包含檔案”“和<>的區別?
<> 先去系統目錄中找標頭檔案,如果沒有在到當前目錄下找。所以像標準的標頭檔案 stdio.h、stdlib.h 等用這個方法。
” “ 首先在當前目錄下尋找,如果找不到,再到系統目錄中尋找。 這個用於 include 自定義的標頭檔案,讓系統優先使用當前目錄中定義的。
