C++ 基本語(yǔ)法

2022-09-28 17:58 更新

C++ 程序可以定義為對(duì)象的集合,這些對(duì)象通過(guò)調(diào)用彼此的方法進(jìn)行交互。現(xiàn)在讓我們簡(jiǎn)要地看一下什么是類(lèi)、對(duì)象,方法、即時(shí)變量。

  • 對(duì)象 - 對(duì)象具有狀態(tài)和行為。例如:一只狗的狀態(tài) - 顏色、名稱、品種,行為 - 搖動(dòng)、叫喚、吃。對(duì)象是類(lèi)的實(shí)例。
  • 類(lèi) - 類(lèi)可以定義為描述對(duì)象行為/狀態(tài)的模板/藍(lán)圖。
  • 方法 - 從基本上說(shuō),一個(gè)方法表示一種行為。一個(gè)類(lèi)可以包含多個(gè)方法??梢栽诜椒ㄖ袑?xiě)入邏輯、操作數(shù)據(jù)以及執(zhí)行所有的動(dòng)作。
  • 即時(shí)變量 - 每個(gè)對(duì)象都有其獨(dú)特的即時(shí)變量。對(duì)象的狀態(tài)是由這些即時(shí)變量的值創(chuàng)建的。

C++ 程序結(jié)構(gòu)

讓我們看一段簡(jiǎn)單的代碼,可以輸出單詞 Hello World。

#include <iostream>
using namespace std;

// main() 是程序開(kāi)始執(zhí)行的地方

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

接下來(lái)我們講解一下上面這段程序:

  • C++ 定義了一些頭文件,這些頭文件包含了程序中必需的或有用的信息。上面這段程序中,包含了 <iostream>頭文件。
  • using namespace std; 告訴編譯器使用 std 命名空間。命名空間是 C++ 中一個(gè)相對(duì)新的概念。
  • 下一行 // main() 是程序開(kāi)始執(zhí)行的地方 是一個(gè)單行注釋。單行注釋以 // 開(kāi)頭,在行末結(jié)束。
  • 下一行 int main() 是主函數(shù),程序從這里開(kāi)始執(zhí)行。
  • 下一行 cout << "Hello World"; 會(huì)在屏幕上顯示消息 "Hello World"。
  • 下一行 return 0; 終止 main( )函數(shù),并向調(diào)用進(jìn)程返回值 0。

 <iostream>是一個(gè)輸入輸出流相關(guān)的頭文件。里面包含了一些對(duì)輸入輸出流操作的方法。

編譯 & 執(zhí)行 C++ 程序

接下來(lái)讓我們看看如何把源代碼保存在一個(gè)文件中,以及如何編譯并運(yùn)行它。下面是簡(jiǎn)單的步驟:

  • 打開(kāi)一個(gè)文本編輯器,添加上述代碼。
  • 保存文件為 hello.cpp。
  • 打開(kāi)命令提示符,進(jìn)入到保存文件所在的目錄。
  • 鍵入 'g++ hello.cpp ',輸入回車(chē),編譯代碼。如果代碼中沒(méi)有錯(cuò)誤,命令提示符會(huì)跳到下一行,并生成 a.out 可執(zhí)行文件。
  • 現(xiàn)在,鍵入 ' a.out' 來(lái)運(yùn)行程序。
  • 您可以看到屏幕上顯示 ' Hello World '。
$ g++ hello.cpp
$ ./a.out
Hello World

請(qǐng)確保您的路徑中已包含 g++ 編譯器,并確保在包含源文件 hello.cpp 的目錄中運(yùn)行它。

您也可以使用 makefile 來(lái)編譯 C/C++ 程序。

C++ 中的分號(hào) & 塊

在 C++ 中,分號(hào)是語(yǔ)句結(jié)束符。也就是說(shuō),每個(gè)語(yǔ)句必須以分號(hào)結(jié)束。它表明一個(gè)邏輯實(shí)體的結(jié)束。

例如,下面是三個(gè)不同的語(yǔ)句:

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

塊是一組使用大括號(hào)括起來(lái)的按邏輯連接的語(yǔ)句。例如:

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

C++ 不以行末作為結(jié)束符的標(biāo)識(shí),因此,您可以在一行上放置多個(gè)語(yǔ)句。例如:

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

等同于

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

C++ 標(biāo)識(shí)符

C++ 標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量、函數(shù)、類(lèi)、模塊,或任何其他用戶自定義項(xiàng)目的名稱。一個(gè)標(biāo)識(shí)符以字母 A-Z 或 a-z 或下劃線 _ 開(kāi)始,后跟零個(gè)或多個(gè)字母、下劃線和數(shù)字(0-9)。

C++ 標(biāo)識(shí)符內(nèi)不允許出現(xiàn)標(biāo)點(diǎn)字符,比如 @、$ 和 %。C++ 是區(qū)分大小寫(xiě)的編程語(yǔ)言。因此,在 C++ 中,Manpowermanpower 是兩個(gè)不同的標(biāo)識(shí)符。

下面列出幾個(gè)有效的標(biāo)識(shí)符:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

C++ 關(guān)鍵字

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

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  

三字符組

三字符組就是用于表示另一個(gè)字符的三個(gè)字符序列,又稱為三字符序列。三字符序列總是以兩個(gè)問(wèn)號(hào)開(kāi)頭。

三字符序列不太常見(jiàn),但 C++ 標(biāo)準(zhǔn)允許把某些字符指定為三字符序列。以前為了表示鍵盤(pán)上沒(méi)有的字符,這是必不可少的一種方法。

三字符序列可以出現(xiàn)在任何地方,包括字符串、字符序列、注釋和預(yù)處理指令。

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

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

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

C++ 中的空格

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

在 C++ 中,空格用于描述空白符、制表符、換行符和注釋。空格分隔語(yǔ)句的各個(gè)部分,讓編譯器能識(shí)別語(yǔ)句中的某個(gè)元素(比如 int)在哪里結(jié)束,下一個(gè)元素在哪里開(kāi)始。因此,在下面的語(yǔ)句中:

int age;

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

fruit = apples + oranges;   // 獲取水果的總數(shù)

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


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)