本節介紹基本的c++語法。學習任何語言的第一步都是學習它的規則和規則,這些規則和規則加在一起被稱為語法。形式上,術語“語法”指的是一組經過批準的預定義協議或規則,我們在使用編程語言時需要遵循這些協議或規則。就像其他編程語言一樣,c++有自己獨特的語法。
所以讓我們從一個簡單的“Hello World!””計劃。打開任何IDE或文本編輯器並創建包含以下內容的文件HelloWorld.cpp。
//給出輸入/輸出函數的基本頭文件# include //使用命名空間std的標準命名空間;/*代碼的入口點*/ int main(){//在控製台打印Hello world並退出cout<<"Hello world!"<
現在從命令提示符運行這個程序
(base) 10:28:00:~ % g++ hello.cpp
(base) 10:28:03:~ % ./ a.t out
你好世界!
要運行這段代碼,g++應該在PATH環境變量中,當前的工作目錄應該是包含hello.cpp文件的目錄。
對於包含許多文件的大型項目,您可以通過編寫makefile來編譯項目。
讓我們一行一行地理解這個程序。在ide中設置行號(在vim中使用Set nu選項)並將代碼粘貼到這裏
1 //給出輸入/輸出函數的基本頭文件2 # include 3 4 //標準命名空間5使用命名空間std;6 /*代碼的入口點*/ 7 int main() 8{9 //在控製台打印Hello world並退出10 cout<<"Hello world!"<
第1行是一個注釋,告訴讀者為什麼我們要包含iostream頭文件。注釋被編譯器忽略。c++忽略空白。空格表示空格、製表符、換行符和注釋。空格提供邏輯分隔,編譯器使用它來識別語句中的一個元素在哪裏結束,下一個元素在哪裏開始。
第2行告訴編譯器包含標準頭文件iostream。Iostream是流(在本例中是控製台)的輸入輸出功能所必需的。編譯器將查找該文件的標準路徑。用戶可以包含位於同一目錄下的頭文件,例如XX.h,隻需寫入#include " XX.h "
第3行為空白(為可讀性保留空白)
第4行是注釋,表示我們使用的是標準命名空間
第5行告訴編譯器在這個文件中使用標準名稱空間。命名空間是來自標準庫的對象和變量的名稱的集合。名稱空間允許我們將命名實體分組到小而窄的範圍中,以便不同的程序可以私下訪問。這允許將程序的元素組織到按名稱引用的不同邏輯作用域中。如果你不想包含標準命名空間,那麼你必須在每個標準對象之前添加std::前綴,例如std::cout<< "…";
第6行給出了關於main()的注釋,告訴讀者它是這段代碼的主要入口點。這意味著它是程序執行時調用的第一個函數
第7行開始定義main()。任何用{}編寫的方法代碼都將被執行。
第8行和第12行是花括號,將main()的主體括起來。
第9行給出注釋
第10行使用cout函數打印Hello world!轉到控製台,然後留下電話
第11行給出了帶有返回代碼的返回語句,告訴編譯器從這個程序中取回控製權。返回代碼0表示成功執行。
一個典型的c++程序有一個對象集合,如類、對象、方法、接口、指令、宏、預處理器語句、變量、全局變量等。對象是c++中的基本實體,它可以是任何東西,比如圓、點、圓柱。對象具有屬性和行為。例如:一輛車有屬性——顏色、名稱、品牌、價格等;汽車對象有行為(基本上是方法)——啟動/停止、駕駛、刹車、服務等。一個對象是一個類的實例,它是一個描述其類型的對象支持的行為/狀態的藍圖。方法基本上是一種行為或動作。一個類可以包含許多方法。在方法中編寫邏輯、操作數據和執行所有操作。每個對象都有其唯一的實例變量集。 An object's state is created by the values assigned to these instance variables.
在c++中,分號是語句結束符。也就是說,每個單獨的語句必須以分號結束。表示一個邏輯實體的結束。如。
c++不將行尾識別為結束符。因此,將語句放在一行中的哪個位置並不重要。例如,從編譯器的角度來看,塊1和塊2是相同的。
塊1
X = 10;Y = 29;mul (x, y);
塊2
X = 10;Y = 29;mul (x, y);
c++標識符是用來標識變量、函數、類、模塊或任何其他用戶定義項的名稱。它可以以A到Z或A到Z或下劃線(_)開頭,後麵跟著零個或多個字母、下劃線和數字(0到9)。然而,c++不允許在標識符中包含特殊字符,如@、$和%。如
雇員名,x, 55rajesh等。
進一步注意,c++是一種區分大小寫的編程語言。因此,EmployeeRecord、EmployeeRecord和employeerecordpower在c++中是三個不同的標識符。
有一組字稱為保留鍵,不能用於命名用戶代碼中的任何標識符。如。Asm、else、new是保留關鍵字。