C++入門之基礎(chǔ)語法學(xué)習(xí)教程
C++ 程序可以定義為對(duì)象的集合,這些對(duì)象通過調(diào)用彼此的方法進(jìn)行交互?,F(xiàn)在讓我們簡要地看一下什么是類、對(duì)象,方法、即時(shí)變量。
對(duì)象 - 對(duì)象具有狀態(tài)和行為。例如:一只狗的狀態(tài) - 顏色、名稱、品種,行為 - 搖動(dòng)、叫喚、吃。對(duì)象是類的實(shí)例。
類 - 類可以定義為描述對(duì)象行為/狀態(tài)的模板/藍(lán)圖。
方法 - 從基本上說,一個(gè)方法表示一種行為。一個(gè)類可以包含多個(gè)方法??梢栽诜椒ㄖ袑懭脒壿?、操作數(shù)據(jù)以及執(zhí)行所有的動(dòng)作。
即時(shí)變量 - 每個(gè)對(duì)象都有其獨(dú)特的即時(shí)變量。對(duì)象的狀態(tài)是由這些即時(shí)變量的值創(chuàng)建的。
C++ 程序結(jié)構(gòu)
讓我們看一段簡單的代碼,可以輸出單詞 Hello World。
#include <iostream>
using namespace std;
// main() 是程序開始執(zhí)行的地方
int main()
{
cout << "Hello World"; // 輸出 Hello World
return 0;
}
接下來我們講解一下上面這段程序:
- C++ 語言定義了一些頭文件,這些頭文件包含了程序中必需的或有用的信息。上面這段程序中,包含了頭文件 。
- 行 using namespace std; 告訴編譯器使用 std 命名空間。命名空間是 C++ 中一個(gè)相對(duì)新的概念。
- 下一行 // main() 是程序開始執(zhí)行的地方 是一個(gè)單行注釋。單行注釋以 // 開頭,在行末結(jié)束。
- 下一行 int main() 是主函數(shù),程序從這里開始執(zhí)行。
- 下一行 cout << "Hello World"; 會(huì)在屏幕上顯示消息 "Hello World"。
- 下一行 return 0; 終止 main( )函數(shù),并向調(diào)用進(jìn)程返回值 0。
編譯 & 執(zhí)行 C++ 程序
接下來讓我們看看如何把源代碼保存在一個(gè)文件中,以及如何編譯并運(yùn)行它。下面是簡單的步驟:
- 打開一個(gè)文本編輯器,添加上述代碼。
- 保存文件為 hello.cpp。
- 打開命令提示符,進(jìn)入到保存文件所在的目錄。
- 鍵入 'g++ hello.cpp ',輸入回車,編譯代碼。如果代碼中沒有錯(cuò)誤,命令提示符會(huì)跳到下一行,并生成 a.out 可執(zhí)行文件。
- 現(xiàn)在,鍵入 ' a.out' 來運(yùn)行程序。
- 您可以看到屏幕上顯示 ' Hello World '。
$ g++ hello.cpp $ ./a.out
Hello World
請(qǐng)確保您的路徑中已包含 g++ 編譯器,并確保在包含源文件 hello.cpp 的目錄中運(yùn)行它。
您也可以使用 makefile 來編譯 C/C++ 程序。
C++ 中的分號(hào) & 塊
在 C++ 中,分號(hào)是語句結(jié)束符。也就是說,每個(gè)語句必須以分號(hào)結(jié)束。它表明一個(gè)邏輯實(shí)體的結(jié)束。
例如,下面是三個(gè)不同的語句:
x = y; y = y+1; add(x, y);
塊是一組使用大括號(hào)括起來的按邏輯連接的語句。例如:
{
cout << "Hello World"; // 輸出 Hello World
return 0;
}
C++ 不以行末作為結(jié)束符的標(biāo)識(shí),因此,您可以在一行上放置多個(gè)語句。例如:
x = y; y = y+1; add(x, y);
等同于
x = y; y = y+1; add(x, y);
C++ 標(biāo)識(shí)符
C++ 標(biāo)識(shí)符是用來標(biāo)識(shí)變量、函數(shù)、類、模塊,或任何其他用戶自定義項(xiàng)目的名稱。一個(gè)標(biāo)識(shí)符以字母 A-Z 或 a-z 或下劃線 _ 開始,后跟零個(gè)或多個(gè)字母、下劃線和數(shù)字(0-9)。
C++ 標(biāo)識(shí)符內(nèi)不允許出現(xiàn)標(biāo)點(diǎn)字符,比如 @、$ 和 %。C++ 是區(qū)分大小寫的編程語言。因此,在 C++ 中,Manpower 和 manpower 是兩個(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è)問號(hào)開頭。
三字符序列不太常見,但 C++ 標(biāo)準(zhǔn)允許把某些字符指定為三字符序列。以前為了表示鍵盤上沒有的字符,這是必不可少的一種方法。
三字符序列可以出現(xiàn)在任何地方,包括字符串、字符序列、注釋和預(yù)處理指令。
下面列出了最常用的三字符序列:
| 三字符組 | 替換 |
|---|---|
| ??= | # |
| ??/ | \ |
| ??' | ^ |
| ??( | [ |
| ??) | ] |
| ??! | | |
| ??< | { |
| ??> | } |
| ??- | ~ |
所有的編譯器都不支持三字符組,為避免造成混亂,不建議使用三字符組。
C++ 中的空格
只包含空格的行,被稱為空白行,可能帶有注釋,C++ 編譯器會(huì)完全忽略它。
在 C++ 中,空格用于描述空白符、制表符、換行符和注釋??崭穹指粽Z句的各個(gè)部分,讓編譯器能識(shí)別語句中的某個(gè)元素(比如 int)在哪里結(jié)束,下一個(gè)元素在哪里開始。因此,在下面的語句中:
int age;
在這里,int 和 age 之間必須至少有一個(gè)空格字符(通常是一個(gè)空白符),這樣編譯器才能夠區(qū)分它們。另一方面,在下面的語句中:
fruit = apples + oranges; // 獲取水果的總數(shù)
fruit 和 =,或者 = 和 apples 之間的空格字符不是必需的,但是為了增強(qiáng)可讀性,您可以根據(jù)需要適當(dāng)增加一些空格。
C++ 注釋
程序的注釋是解釋性語句,您可以在 C++ 代碼中包含注釋,這將提高源代碼的可讀性。所有的編程語言都允許某種形式的注釋。
C++ 支持單行注釋和多行注釋。注釋中的所有字符會(huì)被 C++ 編譯器忽略。
C++ 注釋以 / 開始,以 / 終止。例如:
/* 這是注釋 */ /* C++ 注釋也可以 * 跨行 */
注釋也能以 // 開始,直到行末為止。例如:
#include <iostream>
using namespace std;
main()
{
cout << "Hello World"; // 輸出 Hello World
return 0;
}
當(dāng)上面的代碼被編譯時(shí),編譯器會(huì)忽略 // prints Hello World,最后會(huì)產(chǎn)生以下結(jié)果:
Hello World
在 / 和 / 注釋內(nèi)部,// 字符沒有特殊的含義。在 // 注釋內(nèi),/ 和 / 字符也沒有特殊的含義。因此,您可以在一種注釋內(nèi)嵌套另一種注釋。例如:
/* 用于輸出 Hello World 的注釋 cout << "Hello World"; // 輸出 Hello World */
- 學(xué)習(xí)C++編程的必備軟件
- C/C++ 多線程的學(xué)習(xí)心得總結(jié)
- C++中的while循環(huán)和for循環(huán)語句學(xué)習(xí)教程
- C++函數(shù)的嵌套調(diào)用和遞歸調(diào)用學(xué)習(xí)教程
- C++ 學(xué)習(xí)之旅 Windows程序內(nèi)部運(yùn)行原理
- C++學(xué)習(xí)筆記之pimpl用法詳解
- 一文帶你學(xué)習(xí)C/C++中的<Windows.h>庫
- C++ 學(xué)習(xí)之旅二 說一說C++頭文件
- 新手學(xué)習(xí)C++的基礎(chǔ)知識(shí)概況總結(jié)
相關(guān)文章
Matlab實(shí)現(xiàn)將圖像序列合并為視頻的方法詳解
MATLAB是一種高性能語言,用于操縱矩陣、執(zhí)行技術(shù)計(jì)算、繪圖等。它代表矩陣實(shí)驗(yàn)室。借助這個(gè)軟件,我們可以從圖像中創(chuàng)建視頻。這篇文章主要介紹了Matlab實(shí)現(xiàn)將圖像序列合并為視頻的四個(gè)方法,希望對(duì)大家有所幫助2023-03-03
帶你用C語言實(shí)現(xiàn)strtok和字符串分割函數(shù)
下面小編就為大家?guī)硪黄猚語言中字符串分割函數(shù)及實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-09-09
C++實(shí)現(xiàn)LeetCode(153.尋找旋轉(zhuǎn)有序數(shù)組的最小值)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(153.尋找旋轉(zhuǎn)有序數(shù)組的最小值),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C語言怎么連接兩個(gè)數(shù)組的內(nèi)容你知道嗎
這篇文章主要為大家介紹了C語言怎么連接兩個(gè)數(shù)組的內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
Microsoft Visual Studio 2022的安裝與使用詳細(xì)教程
Microsoft Visual Studio 2022是Microsoft Visual Studio軟件的一個(gè)高版本,能夠編寫和執(zhí)行C/C++代碼,具有強(qiáng)大的功能,是開發(fā)C/C++程序的主流軟件,這篇文章主要介紹了Microsoft Visual Studio 2022的安裝與使用詳細(xì)教程2024-01-01

