官术网_书友最值得收藏!

1.5 運算符

運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。C++內置了豐富的運算符,并提供以下類型的運算符。

算術運算符:用于處理四則運算。

賦值運算符:用于將表達式的值賦給變量。

比較運算符:用于表達式的比較,并返回一個真值或假值。

邏輯運算符:用于根據表達式的值返回真值或假值。

· 1.5.1 算術運算符

作用:處理四則運算。

表1-4所示為常用的算術運算符,部分使用方法見例1-6、例1-7、例1-8。

表1-4 常用的算術運算符

運算符

含義

示例

結果

+

正號

+3

3

-

負號

-3

-3

+

10 + 5

15

-

10-5

5

*

10 * 5

50

/

10 / 5

2

%

取模(取余)

10 % 3

1

++

前置遞增

a=2; b=++a;

a=3; b=3;

++

后置遞增

a=2; b=a++;

a=3; b=2;

--

前置遞減

a=2; b=--a;

a=1; b=1;

--

后置遞減

a=2; b=a--;

a=1; b=2;

例1-6:加減乘除運算。

    //加減乘除
    #include <iostream>
    using namespace std;
    int main() {
       int a1 = 10;
       int b1 = 3;
       cout << a1 + b1 << endl;
       cout << a1 - b1 << endl;
       cout << a1 * b1 << endl;
       cout << a1 / b1 << endl;  //兩個整數相除,結果依然是整數
      int a2 = 10;
       int b2 = 20;
       cout << a2 / b2 << endl; 
       int a3 = 10;
       int b3 = 0;
       //cout << a3 / b3 << endl; //報錯,除數不可以為0
       //兩個小數可以相除
       double d1 = 0.5;
       double d2 = 0.25;
       cout << d1 / d2 << endl;
       return 0;
    }

例1-6運行結果如圖1-21所示。

總結:在除法運算中,除數不能為0。

例1-7:取模運算。

    //取模
    #include <iostream>
    using namespace std;
    int main() {
       int a1 = 10;
       int b1 = 3;
       cout << 10 % 3 << endl;
       int a2 = 10;
       int b2 = 20;
       cout << a2 % b2 << endl;
       int a3 = 10;
       int b3 = 0;
       //cout << a3 % b3 << endl; //取模運算時,除數也不能為0
       //兩個小數不可以取模
       double d1 = 3.14;
       double d2 = 1.1;
       //cout << d1 % d2 << endl;
       return 0;
    }

例1-7運行結果如圖1-22所示。

圖1-21 例1-6運行結果

圖1-22 例1-7運行結果

總結:只有整型變量可以進行取模運算。

例1-8:遞增運算。

    //遞增
    #include <iostream>
    using namespace std;
    int main() {
       //后置遞增
       int a = 10;
       a++; //等價于a = a + 1
       cout << a << endl; // 11
       //前置遞增
       int b = 10;
       ++b;
       cout << b << endl; // 11
       //區別
       //前置遞增先對變量進行遞增運算,再計算表達式
       int a2 = 10;
       int b2 = ++a2 * 10;
       cout << b2 << endl;
       //后置遞增先計算表達式,后對變量進行遞增運算
       int a3 = 10;
       int b3 = a3++ * 10;
       cout << b3 << endl;
       return 0;
    }

例1-8運行結果如圖1-23所示。

圖1-23 例1-8運行結果

總結:前置遞增先對變量進行遞增運算,再計算表達式;后置遞增則先計算表達式,后對變量進行遞增運算。

· 1.5.2 賦值運算符

作用:將表達式的值賦給變量。

表1-5所示為常用的賦值運算符,部分使用方法見例1-9。

表1-5 常用的賦值運算符

運算符

含義

示例

結果

=

賦值

a=2; b=3;

a=2; b=3;

+=

加等于

a=0; a+=2;

a=2;

-=

減等于

a=5; a-=3;

a=2;

*=

乘等于

a=2; a*=2;

a=4;

/=

除等于

a=4; a/=2;

a=2;(取整數)

%=

模等于

a=3; a%2;

a=1;(取余數)

例1-9:賦值運算符。

    #include <iostream>
    using namespace std;
    int main() {
       // =
       int a = 10;
       a = 100;
       cout << "a = " << a << endl;
       // +=
       a = 10;
       a += 2; // a = a + 2;
       cout << "a = " << a << endl;
       // -=
       a = 10;
       a -= 2; // a = a - 2
       cout << "a = " << a << endl;
       // *=
       a = 10;
       a *= 2; // a = a * 2
       cout << "a = " << a << endl;
       // /=
       a = 10;
       a /= 2;  // a = a / 2;
       cout << "a = " << a << endl;
       // %=
       a = 10;
       a %= 2;  // a = a % 2;
       cout << "a = " << a << endl;
       return 0;
    }

例1-9運行結果如圖1-24所示。

圖1-24 例1-9運行結果

· 1.5.3 比較運算符

作用:表達式的比較,并返回一個真值或假值。

表1-6所示為常用的比較運算符,部分使用方法見例1-10。

表1-6 常用的比較運算符

運算符

含義

示例

結果

= =

等于

4 = = 3

0

!=

不等于

4 != 3

1

<

小于

4 < 3

0

>

大于

4 > 3

1

<=

小于等于

4 <= 3

0

>=

大于等于

4 >= 1

1

例1-10:比較運算符。

    #include <iostream>
    using namespace std;
    int main() {
       int a = 10;
       int b = 20;
       cout << (a = = b) << endl; // 0 
       cout << (a != b) << endl; // 1
       cout << (a > b) << endl; // 0
       cout << (a < b) << endl; // 1
       cout << (a >= b) << endl; // 0
       cout << (a <= b) << endl; // 1
       return 0;
    }

注意:C++的比較運算中,“真”用數字“1”來表示,“假”用數字“0”來表示。

例1-10運行結果如圖1-25所示。

圖1-25 例1-10運行結果

· 1.5.4 邏輯運算符

作用:根據表達式的值返回真值或假值。

表1-7所示為常用的邏輯運算符,部分使用方法見例1-11、例1-12、例1-13。

表1-7 常用的邏輯運算符

運算符

含義

示例

結果

!

!a

a為假,則!a為真;a為真,則!a為假

&&

a && b

a和b都為真,則結果為真,否則為假

||

a || b

a和b有一個為真,則結果為真;二者都為假時,結果為假

例1-11:邏輯非運算符。

    //邏輯非運算符  
    #include <iostream>
    using namespace std;
    int main() {
      int a = 10;
       cout << !a << endl; // 0
       cout << !!a << endl; // 1
       return 0;
    }

例1-11運行結果如圖1-26所示。

總結:真變假,假變真。

例1-12:邏輯與運算符。

    //邏輯與運算符  
    #include <iostream>
    using namespace std;
    int main() {
       int a = 10;
       int b = 10;
       cout << (a && b) << endl;// 1
       a = 10;
       b = 0;
       cout << (a && b) << endl;// 0 
       a = 0;
       b = 0;
       cout << (a && b) << endl;// 0
       return 0;
    }

例1-12運行結果如圖1-27所示。

圖1-26 例1-11運行結果

圖1-27 例1-12運行結果

總結:同真為真,其余為假。

例1-13:邏輯或運算符。

    //邏輯或運算符  
    #include <iostream>
    using namespace std;
    int main() {
       int a = 10;
       int b = 10;
       cout << (a || b) << endl;// 1
       a = 10;
       b = 0;
       cout << (a || b) << endl;// 1 
       a = 0;
       b = 0;
       cout << (a || b) << endl;// 0
       return 0;
    }

例1-13運行結果如圖1-28所示。

圖1-28 例1-13運行結果

總結:同假為假,其余為真。

主站蜘蛛池模板: 永仁县| 永福县| 广宗县| 安乡县| 福建省| 临汾市| 十堰市| 定陶县| 辽宁省| 广水市| 五峰| 鄱阳县| 冀州市| 平果县| 广西| 如东县| 县级市| 蛟河市| 津市市| 尼勒克县| 德兴市| 惠州市| 和田县| 伊通| 旺苍县| 伊宁县| 洛南县| 台南县| 马公市| 桂林市| 新蔡县| 寿光市| 余姚市| 调兵山市| 南投县| 黄骅市| 南和县| 五指山市| 依安县| 吉安市| 崇礼县|