最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文總結(jié)C++運算符的使用方法

 更新時間:2023年05月11日 11:12:26   作者:機器學習Zero  
這篇文章主要為大家詳細總結(jié)了C++中運算符的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1. 算術(shù)運算符

算術(shù)運算符用于執(zhí)行基本數(shù)學運算,例如加減乘除和取模等操作。下表列出了C++中支持的算術(shù)運算符:

運算符描述示例
+加法a+ ++b
減法a-b
乘法a∗ *∗b
/除法a/ //b
取模ab

其中,a和b代表要進行計算的兩個變量或值。

(1)加法運算符

加法運算符(+)用于將兩個值相加。如果兩個操作數(shù)都是數(shù)字,則它們將被相加。如果其中一個操作數(shù)是字符串,則它們將被連接起來。

e.g.

int a = 5;
int b = 3;
int c = a + b; // c的值為8
std::string str1 = "Hello, ";
std::string str2 = "world!";
std::string str3 = str1 + str2; // str3的值為"Hello, world!"

(2)減法運算符

減法運算符(-)用于將第一個操作數(shù)減去第二個操作數(shù)。

e.g.

int a = 5;
int b = 3;
int c = a - b; // c的值為2

(3)乘法運算符

乘法運算符(*)用于將兩個數(shù)相乘。

e.g.

int a = 5;
int b = 3;
int c = a * b; // c的值為15

注意,C++中整數(shù)除法返回整數(shù)結(jié)果,即舍去小數(shù)部分。

(5)取模運算符

取模運算符(%)返回除法的余數(shù)。

e.g.

int a = 7;
int b = 3;
int c = a % b; // c的值為1

2. 關(guān)系運算符

關(guān)系運算符用于比較兩個值并返回布爾值(true或false)。下表列出了C++中支持的關(guān)系運算符:

運算符描述示例
==相等a == b
!=不相等a != b
>大于a > b
>=大于等于a >= b
<=小于等于a <= b

其中,a和b代表要進行比較的兩個變量或值。

(1)相等和不相等運算符

相等運算符(==)用于比較兩個值是否相等。如果它們相等,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a == b); // c的值為false

不相等運算符(!=)用于比較兩個值是否不相等。如果它們不相等,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a != b); // c的值為true

(2)大于和小于運算符

大于運算符(>)用于比較第一個操作數(shù)是否大于第二個操作數(shù)。如果是,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a > b); // c的值為true

小于運算符(<)用于比較第一個操作數(shù)是否小于第二個操作數(shù)。如果是,則返回true,否則返回false。

e.g

int a = 5;
int b = 3;
bool c = (a < b); // c的值為false

(3)大于等于和小于等于運算符

大于等于運算符(>=)用于比較第一個操作數(shù)是否大于或等于第二個操作數(shù)。如果是,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a >= b); // c的值為true

小于等于運算符(<=)用于比較第一個操作數(shù)是否小于或等于第二個操作數(shù)。如果是,則返回true,否則返回false。

e.g.

int a = 5;
int b = 3;
bool c = (a <= b); // c的值為false

3. 邏輯運算符

邏輯運算符用于執(zhí)行布爾邏輯操作。下表列出了C++中支持的邏輯運算符:

運算符描述示例
&&邏輯與a && b
||邏輯或a
!邏輯非!a

 

其中,a和b代表要進行邏輯運算的兩個布爾值。

(1)邏輯與運算符

邏輯與運算符(&&)用于檢查兩個條件是否都為真。只有當兩個條件都為真時,才會返回true,否則返回false。

e.g.

bool a = true;
bool b = false;
bool c = (a && b); // c的值為false

(3)邏輯非運算符

邏輯非運算符(!)用于翻轉(zhuǎn)一個布爾值。如果輸入為true,則返回false,否則返回true。

e.g.

bool a = true;
bool b = !a; // b的值為false

4. 按位運算符

按位運算符用于操作二進制數(shù)據(jù)。下表列出了C++中支持的按位運算符:

運算符描述示例
&按位與a & b
|按位或a
^按位異或a ^ b
~取反~a
<<左移a << b
>>右移a >> b

其中,a和b代表要進行按位運算的兩個整數(shù)。

(1)按位與運算符

按位與運算符(&)將兩個二進制數(shù)的每一位進行比較,并且如果兩位都為1,則該位輸出1,否則輸出0。

e.g.

int a = 5; // 二進制表示為101
int b = 3; // 二進制表示為011
int c = a & b; // c的值為1,二進制表示為001

(2)按位或運算符

按位或運算符(|)將兩個二進制數(shù)的每一位進行比較,并且如果任意一位為1,則該位輸出1,否則輸出0。

e.g.

int a = 5; // 二進制表示為101
int b = 3; // 二進制表示為011
int c = a \| b; // c的值為7,二進制表示為111

(3)按位異或運算符

按位異或運算符將兩個整數(shù)的二進制表示進行“異或”操作,并返回一個新的整數(shù)。當兩個比特位相同時,該比特位結(jié)果為 0,否則為 1。

e.g.

int a = 5; // 二進制 101
int b = 3; // 二進制 011
int c = a ^ b; // 二進制 110 (即十進制 6)

(4)按位取反運算符

按位取反運算符對整數(shù)的二進制表示進行取反操作,并返回一個新的整數(shù)。當一個比特位為 0 時,結(jié)果為 1,否則為 0。

e.g

int a = 5; // 二進制 101
int b = ~a; // 二進制 010 (即十進制 2)

(5)左移位運算符

左移位運算符將一個整數(shù)的二進制表示向左移動指定的位數(shù),并返回一個新的整數(shù)。左移 n 位相當于將這個數(shù)乘以 2 的 n 次方。

e.g.

int a = 5; // 二進制 101
int b = a << 1; // 二進制 1010 (即十進制 10)

(6)右移位運算符

右移位運算符將一個整數(shù)的二進制表示向右移動指定的位數(shù),并返回一個新的整數(shù)。右移 n 位相當于將這個數(shù)除以 2 的 n 次方。

e.g.

int a = 5; // 二進制 101
int b = a >> 1; // 二進制 10 (即十進制 2)

5. 取地址運算符

C++中,取地址運算符用于獲取變量或?qū)ο蟮膬?nèi)存地址,表示為&,并且可以應(yīng)用于任何變量、指針或?qū)ο?。使用取地址運算符可以在程序中有效地管理內(nèi)存和數(shù)據(jù)結(jié)構(gòu)。

取地址運算符的一般語法如下:

&variable // 獲取變量的地址

&object // 獲取對象的地址

&type // 獲取類型的地址

其中,“variable”表示要獲取地址的變量,“object”表示要獲取地址的對象,“type”表示要獲取地址的類型。

e.g.

int a = 10;
int* ptr = &a; // 使用取地址運算符獲取變量a的地址,并將其存儲在指針ptr中

cout << "The value of a is: " << a << endl;
cout << "The address of a is: " << &a << endl;
cout << "The value of ptr is: " << ptr << endl;
cout << "The value pointed to by ptr is: " << *ptr << endl;

上述代碼首先定義一個整數(shù)變量“a”,然后使用取地址運算符&獲取它的地址,并將其存儲在指針“ptr”中。接下來打印出變量“a”的值和地址、指針“ptr”的值以及指針所指向的值。

輸出結(jié)果應(yīng)該與以下內(nèi)容類似:

The value of a is: 10
The address of a is: 0x7fff5fbff7dc
The value of ptr is: 0x7fff5fbff7dc
The value pointed to by ptr is: 10

從輸出結(jié)果可以看出,變量“a”的地址與指針“ptr”的值相同,并且指針所指向的值與變量“a”的值相同。

6. 取內(nèi)容運算符

在C++中,取內(nèi)容運算符用于獲取指針所指向的值,表示為*,并且可以應(yīng)用于任何指針變量。

取內(nèi)容運算符的一般語法如下:

*pointer // 獲取指針所指向的值

其中,“pointer”表示要獲取值的指針變量。

e.g.

int a = 10;
int* ptr = &a; // 使用取地址運算符獲取變量a的地址,并將其存儲在指針ptr中

cout << "The value of a is: " << a << endl;
cout << "The value pointed to by ptr is: " << *ptr << endl;

上述代碼首先定義一個整數(shù)變量“a”,然后使用取地址運算符&獲取它的地址,并將其存儲在指針“ptr”中。接下來打印出變量“a”的值和指針“ptr”所指向的值。

輸出:

The value of a is: 10
The value pointed to by ptr is: 10

從輸出結(jié)果可以看出,指針“ptr”所指向的值與變量“a”的值相同。

7. 成員選擇符

在C++中,成員選擇符用于訪問類的成員變量和成員函數(shù)。它表示為.(點號),并且可以應(yīng)用于任何已定義的對象。使用成員選擇符可以操作和修改對象的成員,從而實現(xiàn)面向?qū)ο缶幊獭?/p>

成員選擇符的一般語法如下:

object.member // 訪問成員變量或成員函數(shù)

其中,“object”表示要訪問成員的對象,“member”表示要訪問的成員變量或成員函數(shù)。

e.g.

class MyClass {
public:
  int myVar;
  void myFunc() {
    cout << "Hello, world!" << endl;
  }
};

MyClass obj; // 創(chuàng)建MyClass對象

obj.myVar = 42; // 使用成員選擇符訪問myVar成員變量
cout << "The value of myVar is: " << obj.myVar << endl;

obj.myFunc(); // 使用成員選擇符調(diào)用myFunc成員函數(shù)

上述代碼首先定義了一個名為“MyClass”的類,該類包含一個整數(shù)類型的成員變量“myVar”和一個無參數(shù)無返回值的成員函數(shù)“myFunc”。接下來創(chuàng)建了一個名為“obj”的MyClass對象,并使用成員選擇符訪問其成員變量和成員函數(shù)。

輸出:

The value of myVar is: 42
Hello, world!

從輸出結(jié)果可以看出,我們成功地使用成員選擇符訪問了MyClass對象的成員變量和成員函數(shù)。

成員選擇符 -> 用于訪問結(jié)構(gòu)體和類指針所指向的成員。它通常與動態(tài)內(nèi)存分配函數(shù) new 結(jié)合使用,來創(chuàng)建對象并進行操作。

e.g.

struct Person {
    std::string name;
    int age;
};

int main() {
    // 創(chuàng)建Person結(jié)構(gòu)體指針p
    Person *p = new Person();

    // 通過成員選擇符->訪問p所指向的name成員變量
    p->name = "John";

    // 通過成員選擇符->訪問p所指向的age成員變量
    p->age = 30;

    delete p;
    return 0;
}

上述代碼在動態(tài)內(nèi)存中分配了一個新的Person結(jié)構(gòu)體,并將其作為指針p進行訪問。然后使用成員選擇符 -> 訪問指針p所指向的name和age成員。

需要注意的是,當使用普通對象(即不是指針)時,必須使用句點 . 而不是 -> 來訪問成員。

8. 作用域運算符

C++的作用域運算符 :: 用于訪問類、命名空間、結(jié)構(gòu)體或枚舉類型中的成員,以及訪問全局變量和函數(shù)。

C++可以使用作用域運算符來區(qū)分同名的成員或變量,并指定需要訪問的特定成員或變量。例如,當一個類的成員與它的父類具有相同的名稱時,我們可以使用作用域運算符來訪問這個類所定義的成員,而不是其父類中的成員。此外,在多個源文件中實現(xiàn)相同的函數(shù)時,可以使用作用域運算符來分隔全局命名空間和局部命名空間。

e.g. 訪問類的成員

class A {
public:
    int x;
};

class B : public A {
public:
    int x;
};

int main() {
    B b;
    b.A::x = 5; // 訪問A類中的x成員
    b.x = 10;   // 訪問B類中的x成員

    return 0;
}

e.g. 訪問命名空間中的變量或函數(shù):

namespace MyNamespace {
    int x = 5;

    void printX() {
        std::cout << "x = " << x << std::endl;
    }
}

int main() {
    MyNamespace::printX(); // 訪問MyNamespace中的printX函數(shù)
    std::cout << "MyNamespace::x = " << MyNamespace::x << std::endl; // 訪問MyNamespace中的x變量

    return 0;
}

e.g. 訪問全局變量:

int x = 10;

int main() {
    int x = 5;
    std::cout << "局部變量x = " << x << std::endl;

    std::cout << "全局變量x = " << ::x << std::endl; // 訪問全局命名
}

以上就是一文總結(jié)C++運算符的使用方法的詳細內(nèi)容,更多關(guān)于C++ 運算符的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++使用ffmpeg實現(xiàn)rtsp取流的代碼

    C++使用ffmpeg實現(xiàn)rtsp取流的代碼

    這篇文章主要介紹了C++使用ffmpeg實現(xiàn)rtsp取流,文章介紹了ffmepg采用rtsp取流流程圖,CMakeLists.txt編寫方法,通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • OpenCV使用BSM統(tǒng)計視頻中移動的對象

    OpenCV使用BSM統(tǒng)計視頻中移動的對象

    這篇文章主要為大家詳細介紹了OpenCV如何使用BackgroundSubstractor(BSM)實現(xiàn)視頻中移動對象統(tǒng)計功能,文中的示例代碼講解詳細,需要的可以參考一下
    2023-02-02
  • C 語言指針變量詳細介紹

    C 語言指針變量詳細介紹

    本文主要介紹C 語言指針變量,這里詳細介紹了 C語言中指針變量的用法,并附代碼示例及指針變量指向關(guān)系圖幫助大家理解指針,有學習C語言指針的朋友可以參考下
    2016-08-08
  • C++實現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù))

    C++實現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù))

    這篇文章主要介紹了C++實現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù)),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 全排列算法的原理和實現(xiàn)代碼

    全排列算法的原理和實現(xiàn)代碼

    這篇文章主要介紹了全排列算法的原理和實現(xiàn)代碼,全排列是將一組數(shù)按一定順序進行排列,如果這組數(shù)有n個,那么全排列數(shù)為n!個,需要的朋友可以參考下
    2014-08-08
  • C++拷貝構(gòu)造函數(shù)(深拷貝與淺拷貝)詳解

    C++拷貝構(gòu)造函數(shù)(深拷貝與淺拷貝)詳解

    深拷貝和淺拷貝可以簡單理解為:如果一個類擁有資源,當這個類的對象發(fā)生復(fù)制過程的時候,資源重新分配,這個過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝
    2013-09-09
  • 使用Qt的QChartView實現(xiàn)縮放和放大功能

    使用Qt的QChartView實現(xiàn)縮放和放大功能

    QCustomPlot是一個小型的Qt畫圖標類,支持繪制靜態(tài)曲線、動態(tài)曲線、多重坐標曲線,柱狀圖,蠟燭圖,這篇文章主要介紹了Qt的QChartView實現(xiàn)縮放和放大功能,需要的朋友可以參考下
    2022-09-09
  • c語言實現(xiàn)找最大值最小值位置查找

    c語言實現(xiàn)找最大值最小值位置查找

    這篇文章主要介紹了c語言實現(xiàn)找最大值最小值位置查找,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • C語言中volatile關(guān)鍵字的深入講解

    C語言中volatile關(guān)鍵字的深入講解

    在程序設(shè)計中,尤其是在C語言、C++、C#和Java語言中,使用volatile關(guān)鍵字聲明的變量或?qū)ο笸ǔ>哂信c優(yōu)化、多線程相關(guān)的特殊屬性,這篇文章主要給大家介紹了關(guān)于C語言volatile關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • c++帶有string的結(jié)構(gòu)體賦值和清零問題

    c++帶有string的結(jié)構(gòu)體賦值和清零問題

    這篇文章主要介紹了c++帶有string的結(jié)構(gòu)體賦值和清零問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

三河市| 精河县| 文安县| 宁蒗| 合阳县| 丰镇市| 资阳市| 新蔡县| 衡水市| 蓬安县| 防城港市| 上犹县| 宁波市| 邯郸市| 民权县| 武山县| 磐石市| 临湘市| 弥渡县| 呼玛县| 竹北市| 卢氏县| 灌阳县| 铜梁县| 务川| 调兵山市| 柘荣县| 甘洛县| 巩留县| 鸡泽县| 台南市| 阿尔山市| 瑞安市| 长治县| 闸北区| 东明县| 潢川县| 北流市| 泉州市| 昌乐县| 荆门市|