Latest web development tutorials

C++ 基本語法

C++ 程序可以定義為對象的集合,這些對象通過調用彼此的方法進行交互。 現在讓我們簡要地看一下什麼是類、對象,方法、即時變量。

  • 對象-對象具有狀態和行為。例如:一隻狗的狀態- 顏色、名稱、品種,行為- 搖動、叫喚、吃。 對像是類的實例。
  • 類-類可以定義為描述對象行為/狀態的模板/藍圖。
  • 方法-從基本上說,一個方法表示一種行為。一個類可以包含多個方法。 可以在方法中寫入邏輯、操作數據以及執行所有的動作。
  • 即時變量-每個對像都有其獨特的即時變量。對象的狀態是由這些即時變量的值創建的。

C++ 程序結構

讓我們看一段簡單的代碼,可以輸出單詞Hello World

#include <iostream>
using namespace std;

// main() 是程序开始执行的地方

int main()
{
   cout << "Hello World"; // 输出 Hello World
   return 0;
}

接下來我們講解一下上面這段程序:

  • C++ 語言定義了一些頭文件,這些頭文件包含了程序中必需的或有用的信息。 上面這段程序中,包含了頭文件<iostream> 。
  • using namespace std;告訴編譯器使用std命名空間。 命名空間是C++ 中一個相對新的概念。
  • 下一行// main()是程序開始執行的地方是一個單行註釋。 單行註釋以// 開頭,在行末結束。
  • 下一行int main()是主函數,程序從這裡開始執行。
  • 下一行cout << "Hello World";會在屏幕上顯示消息"Hello World"。
  • 下一行return 0;終止main( )函數,並向調用進程返回值0。

編譯& 執行C++ 程序

接下來讓我們看看如何把源代碼保存在一個文件中,以及如何編譯並運行它。 下面是簡單的步驟:

  • 打開一個文本編輯器,添加上述代碼。
  • 保存文件為hello.cpp。
  • 打開命令提示符,進入到保存文件所在的目錄。
  • 鍵入'g++ hello.cpp ',輸入回車,編譯代碼。 如果代碼中沒有錯誤,命令提示符會跳到下一行,並生成a.out 可執行文件。
  • 現在,鍵入' a.out' 來運行程序。
  • 您可以看到屏幕上顯示' Hello World '。
$ g++ hello.cpp
$ ./a.out
Hello World

請確保您的路徑中已包含g++ 編譯器,並確保在包含源文件hello.cpp 的目錄中運行它。

您也可以使用makefile 來編譯C/C++ 程序。

C++ 中的分號& 塊

在C++ 中,分號是語句結束符。 也就是說,每個語句必須以分號結束。 它表明一個邏輯實體的結束。

例如,下面是三個不同的語句:

x = y;
y = y+1;
add(x, y);

塊是一組使用大括號括起來的按邏輯連接的語句。 例如:

{
   cout << "Hello World"; // 输出 Hello World
   return 0;
}

C++ 不以行末作為結束符的標識,因此,您可以在一行上放置多個語句。 例如:

x = y;
y = y+1;
add(x, y);

等同於

x = y; y = y+1; add(x, y);

C++ 標識符

C++ 標識符是用來標識變量、函數、類、模塊,或任何其他用戶自定義項目的名稱。 一個標識符以字母AZ 或az 或下劃線_ 開始,後跟零個或多個字母、下劃線和數字(0-9)。

C++ 標識符內不允許出現標點字符,比如@、$ 和%。 C++ 是區分大小寫的編程語言。 因此,在C++中,Manpower和manpower是兩個不同的標識符。

下面列出幾個有效的標識符:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

C++ 關鍵字

下表列出了C++ 中的保留字。 這些保留字不能作為常量名、變量名或其他標識符名稱。

asmelsenewthis
autoenumoperatorthrow
boolexplicitprivatetrue
breakexportprotectedtry
caseexternpublictypedef
catchfalseregistertypeid
charfloatreinterpret_casttypename
classforreturnunion
constfriendshortunsigned
const_castgotosignedusing
continueifsizeofvirtual
defaultinlinestaticvoid
deleteintstatic_castvolatile
dolongstructwchar_t
doublemutableswitchwhile
dynamic_castnamespacetemplate 

三字符組

三字符組就是用於表示另一個字符的三個字符序列,又稱為三字符序列。 三字符序列總是以兩個問號開頭。

三字符序列不太常見,但C++ 標准允許把某些字符指定為三字符序列。 以前為了表示鍵盤上沒有的字符,這是必不可少的一種方法。

三字符序列可以出現在任何地方,包括字符串、字符序列、註釋和預處理指令。

下面列出了最常用的三字符序列:

三字符组替换
??=#
??/\
??'^
??([
??)]
??!|
??<{
??>}
??-~

所有的編譯器都不支持三字符組,為避免造成混亂,不建議使用三字符組。

C++ 中的空格

只包含空格的行,被稱為空白行,可能帶有註釋,C++ 編譯器會完全忽略它。

在C++ 中,空格用於描述空白符、製表符、換行符和註釋。 空格分隔語句的各個部分,讓編譯器能識別語句中的某個元素(比如int)在哪裡結束,下一個元素在哪裡開始。 因此,在下面的語句中:

int age;

在這裡,int 和age 之間必須至少有一個空格字符(通常是一個空白符),這樣編譯器才能夠區分它們。 另一方面,在下面的語句中:

fruit = apples + oranges;   // 获取水果的总数

fruit 和=,或者= 和apples 之間的空格字符不是必需的,但是為了增強可讀性,您可以根據需要適當增加一些空格。