欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文總結C++運算符的使用方法

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

1. 算術運算符

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

運算符描述示例
+加法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ù)結果,即舍去小數(shù)部分。

(5)取模運算符

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

e.g.

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

2. 關系運算符

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

運算符描述示例
==相等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)邏輯非運算符

邏輯非運算符(!)用于翻轉一個布爾值。如果輸入為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ù)。當兩個比特位相同時,該比特位結果為 0,否則為 1。

e.g.

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

(4)按位取反運算符

按位取反運算符對整數(shù)的二進制表示進行取反操作,并返回一個新的整數(shù)。當一個比特位為 0 時,結果為 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++中,取地址運算符用于獲取變量或對象的內存地址,表示為&,并且可以應用于任何變量、指針或對象。使用取地址運算符可以在程序中有效地管理內存和數(shù)據(jù)結構。

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

&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”的值以及指針所指向的值。

輸出結果應該與以下內容類似:

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

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

6. 取內容運算符

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

取內容運算符的一般語法如下:

*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

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

7. 成員選擇符

在C++中,成員選擇符用于訪問類的成員變量和成員函數(shù)。它表示為.(點號),并且可以應用于任何已定義的對象。使用成員選擇符可以操作和修改對象的成員,從而實現(xiàn)面向對象編程。

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

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(); // 使用成員選擇符調用myFunc成員函數(shù)

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

輸出:

The value of myVar is: 42
Hello, world!

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

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

e.g.

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

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

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

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

    delete p;
    return 0;
}

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

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

8. 作用域運算符

C++的作用域運算符 :: 用于訪問類、命名空間、結構體或枚舉類型中的成員,以及訪問全局變量和函數(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; // 訪問全局命名
}

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

相關文章

  • 淺談C語言中的強符號、弱符號、強引用和弱引用

    淺談C語言中的強符號、弱符號、強引用和弱引用

    這篇文章主要介紹了C語言中的強符號、弱符號、強引用和弱引用的定義及相關內容,非常的簡單易懂,有需要的朋友可以參考下
    2014-10-10
  • c語言 深入理解函數(shù)的遞歸

    c語言 深入理解函數(shù)的遞歸

    這一章講解的是函數(shù)的遞歸,因為遞歸函數(shù)是一個非常重要求解復雜問題的方法之一,在學習算法的過程之中我們也會遇到他,所以我想對它進行一次講解,希望能幫助其他人,也能幫助我自己來梳理一遍。下面我會通過一些題目的講解去認識遞歸函數(shù)
    2022-02-02
  • C/C++?Linux?Socket網(wǎng)絡編程流程分析

    C/C++?Linux?Socket網(wǎng)絡編程流程分析

    這篇文章主要介紹了C/C++?Linux?Socket網(wǎng)絡編程,Linux環(huán)境中的C/C++?socket?與Window環(huán)境中的C/C++?socket類似,本文所記錄的是TCP協(xié)議的socket編程,圖文實例相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • c++ #include是怎么樣工作的?

    c++ #include是怎么樣工作的?

    大多數(shù)園友可能對“#include”比較熟悉,因為我們寫C/C++程序的時候都會寫的字符串之一,但是它是具體怎么工作的?或者它的原理是什么呢?
    2013-01-01
  • c++優(yōu)先隊列用法知識點總結

    c++優(yōu)先隊列用法知識點總結

    在本篇文章里小編給大家整理的是關于c++優(yōu)先隊列用法知識點總結內容,需要的朋友可以參考學習下。
    2020-02-02
  • C++編程面向對象入門全面詳解

    C++編程面向對象入門全面詳解

    這篇文章主要為大家介紹了C++面向對象入門的全面詳解,文章較長非常全面建議收藏閱讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別

    C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別

    本文主要介紹了C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C++中箭頭運算符的含義與用法講解

    C++中箭頭運算符的含義與用法講解

    今天小編就為大家分享一篇關于C++中箭頭運算符的含義與用法講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • C++模擬鍵盤按鍵的實例

    C++模擬鍵盤按鍵的實例

    今天小編就為大家分享一篇C++模擬鍵盤按鍵的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • C++ opencv霍夫圓檢測使用案例詳解

    C++ opencv霍夫圓檢測使用案例詳解

    這篇文章主要介紹了C++ opencv霍夫圓檢測使用案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09

最新評論