位置:首頁 > 高級語言 > C++教學 > C++基本語法

C++基本語法

當我們考慮一個C++程序,它可以被定義為通過調用對方的方法進行通信的對象的集合。現在,讓我們簡要地看看類,對象,方法和實例變量的意思。

  • 對象 - 對象具有狀態和行為。示例:狗有狀態 - 顏色,名字,繁殖以及行為 - 搖擺,吠叫,吃東西。對象是類的一個實例。

  • - 類可以被定義為一個模板/藍圖描述的行為/表示其類型支持對象。

  • 方法 - 方法是一個行為。一個類可以包含許多方法。它是在將邏輯寫入方法中,數據被操縱和所有的動作被執行。

  • 實例變量 - 每個對象都有其獨特的一套實例變量。當對象的狀態是由分配給這些實例變量的值來創建。

C++程序結構:

讓我們來看看,將打印字樣 Hello World 一個簡單的代碼。

#include <iostream>
using namespace std;

// main() is where program execution begins.

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

讓我們來看看上麵的程序的各個部分:

  • C++語言定義了幾個頭,其中包含要麼是必要的或有用的程序信息。對於這一程序,頭文件<iostream的>是必要的。

  • 使用命名空間std行; 告訴使用std命名空間的編譯器。命名空間除了C++是一個相對較新的。

  • 下一行// main() 是程序開始執行位置。是一個在C++中提供的單行注釋。單行注釋以//並停止在該行的末尾。

  • 這一行是主函數int main()為程序入口開始執行。

  • 下一行cout<<“This is my first C++ program.” 將顯示消息“This is my first C++ program”,以在屏幕上顯示出來。

  • 下一行返回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的目錄中運行它。

可以編譯C/C++程序生成文件。欲了解更多詳情,可以查看 Makefile教學

分號和C++塊:

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

例如,以下三種不同的語句:

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

塊是一組被打開和關閉括號包圍邏輯連接語句。例如:

{
   cout << "Hello World"; // prints Hello World
   return 0;
}

C++不識彆行稱為終止子的末端。出於這個原因,它並不重要,在一行上放一個聲明。例如:

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

以下相同:

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

C++標識符:

一個C++標識符是用來標識變量,函數,類,組件,或任何其它用戶定義的項目的名稱。一個標識符開始以字母A到Z或a〜z或後跟零個或多個字母下劃線(_),下劃線和數字(0〜9)。

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

這裡是可接受的標識符的一些例子:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

C++ 關鍵字:

下麵的列表顯示了C++的保留字。這些保留的字可以不被用作常量或變量,或任何其他的標識符名稱。

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template  

三元符:

幾個大字有另一種表示,所謂的三字符序列。三元符是代表一個字符和序列總是開始於兩個問號一個三字符序列。

它們出現在包括字符串文字和字符常量中,在注釋中,並在預處理指令三字母序列擴展的任何地方。

下麵是最經常使用的三元符序列:

三元符 替換
??= #
??/
??' ^
??( [
??) ]
??! |
??< {
??> }
??- ~

所有的編譯器不支持三字符並且它們不宜使用,因為它們的性質混淆。

C++空格符:

僅包含空格,可能與注釋行,被稱為一個空行,C++編譯器完全忽略它。

空白符是C++用來描述空格,製表符,換行符和注釋術語。空格分隔是另一個聲明的一部分,使編譯器能夠找出在一份聲明中的一個元素,如int,結束和下一個元素開始。因此,在以下語句聲明:

int age;

int和age之間必須有至少一個空白字符(通常是一個空格)以便編譯器能夠區分它們。另一方麵,在語句聲明

fruit = apples + oranges;   // Get the total fruit

fruit和=之間或=和apples不使用空格字符是必要的,雖然是自由的,如果想為便於閱讀的目的,可以包括一些空格符。