第 4 節

運算符

0瀏覽次數0訪問次數--跳出率--平均停留

運算符

**作用:**用於執行代碼的運算

本章我們主要講解以下幾類運算符:

運算符類型作用
算術運算符用於處理四則運算
賦值運算符用於將表達式的值賦給變量
比較運算符用於表達式的比較,並返回一個真值或假值
邏輯運算符用於根據表達式的值返回真值或假值

算術運算符

作用:用於處理四則運算

算術運算符包括以下符號:

運算符術語示例結果
+正號+33
-負號-3-3
+10 + 515
-10 - 55
*10 * 550
/10 / 52
%取模(取餘)10 % 31
++前置遞增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:

//加减乘除
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;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

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

示例2:

//取模
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;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

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

示例3:

//递增
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;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

總結:前置遞增先對變量進行++,再計算表達式,後置遞增相反

賦值運算符

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

賦值運算符包括以下幾個符號:

運算符術語示例結果
=賦值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;

示例:

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;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

比較運算符

**作用:**用於表達式的比較,並返回一個真值或假值

比較運算符有以下符號:

運算符術語示例結果
==相等於4 == 30
!=不等於4 != 31
<小於4 < 30
>大於4 > 31
<=小於等於4 <= 30
>=大於等於4 >= 11

示例:

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和C++ 語言的比較運算中, ==“真”用數字“1”來表示, “假”用數字“0”來表示。==

邏輯運算符

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

邏輯運算符有以下符號:

運算符術語示例結果
!!a如果a為假,則!a為真; 如果a為真,則!a為假。
&&a && b如果a和b都為真,則結果為真,否則為假。
||a || b如果a和b有一個為真,則結果為真,二者都為假時,結果為假。

**示例1:**邏輯非

//逻辑运算符  --- 非
int main() {

    int a = 10;

    cout << !a << endl; // 0

    cout << !!a << endl; // 1


    return 0;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

總結: 真變假,假變真

**示例2:**邏輯與

//逻辑运算符  --- 与
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;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

總結:邏輯==與==運算符總結: ==同真為真,其餘為假==

**示例3:**邏輯或

//逻辑运算符  --- 或
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;
}

運行/觀察結果: 運行後會按輸出語句打印對應內容,變量值可結合初始化、賦值和函數調用順序推導。

邏輯==或==運算符總結: ==同假為假,其餘為真==

音乐页