第三课 运算

程序已经存储好了数据,接下来就是运算出我们想要的结果。C++中的运算分为算术运算、关系运算、逻辑运算、位运算等。

一、算术运算

  • + 加法:求两个数的和
  • – 减法 :求两个数的差
  • * 乘法 :求两个数的积
  • / 除法:求两个数的商(整数除法取整)
  • % 取余 (模运算):求余数
#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;

    cout << "a + b = " << (a + b) << endl;  // 输出13
    cout << "a - b = " << (a - b) << endl;  // 输出7
    cout << "a * b = " << (a * b) << endl;  // 输出30
    cout << "a / b = " << (a / b) << endl;  // 输出3(整数除法)
    cout << "a % b = " << (a % b) << endl;  // 输出1(余数)

    // 浮点除法
    double x = 10.0, y = 3.0;
    cout << "x / y = " << (x / y) << endl;  // 输出3.33333

    return 0;
}

二、关系运算(返回bool值,结果为0或1)

  • == 等于:判断两边是否相等
  • != 不等于:判断两边是否不相等
  • > 大于:判断左边是否大于右边
  • < 小于:判断左边是否小于右边
  • >= 大于等于:判断左边是否大于或等于右边
  • <= 小于等于:判断左边是否小于或等于右边
#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 10;

    cout << "a == b: " << (a == b) << endl;  // 0(假)
    cout << "a != b: " << (a != b) << endl;  // 1(真)
    cout << "a > b: " << (a > b) << endl;    // 0(假)
    cout << "a < b: " << (a < b) << endl;    // 1(真)
    cout << "a >= b: " << (a >= b) << endl;  // 0(假)
    cout << "a <= b: " << (a <= b) << endl;  // 1(真)

    return 0;
}

三、逻辑运算

  • && 逻辑与(并且):两边都为真才为真
  • || 逻辑或(或者):两边有一边为真就为真
  • ! 逻辑非(取反):真变假,假变真
#include <iostream>
using namespace std;

int main() {
    bool a = true, b = false;

    cout << "true && false: " << (a && b) << endl;  // 0
    cout << "true || false: " << (a || b) << endl;  // 1
    cout << "!true: " << (!a) << endl;              // 0
    cout << "!false: " << (!b) << endl;             // 1

    // 组合逻辑
    int x = 5;
    cout << "(x > 0 && x < 10): " << (x > 0 && x < 10) << endl;  // 1

    return 0;
}

四、位运算(操作二进制位)

  • & 按位与:对应位都为1才为1
  • | 按位或:对应位有一个为1就为1
  • ^ 按位异或:对应位不同为1,相同为0
  • ~ 按位取反:0变1,1变0
  • << 左移:二进制位向左移动
  • >>右移:二进制位向右移动
#include <iostream>
using namespace std;

int main() {
    int a = 5;   // 二进制:0101
    int b = 3;   // 二进制:0011

    cout << "5 & 3 = " << (a & b) << endl;  // 1 (0001)
    cout << "5 | 3 = " << (a | b) << endl;  // 7 (0111)
    cout << "5 ^ 3 = " << (a ^ b) << endl;  // 6 (0110)
    cout << "~5 = " << (~a) << endl;        // -6

    int c = 1;   // 二进制:0001
    cout << "1 << 2 = " << (c << 2) << endl;  // 4 (0100)
    cout << "8 >> 1 = " << (8 >> 1) << endl;  // 4

    return 0;
}

五、自增自减运算

  • ++i:先自增再使用
  • i++:先使用再自增
  • –i:先自减再使用
  • i–:先使用再自减
#include <iostream>
using namespace std;

int main() {
    int i = 5, j = 5;

    cout << "i++ = " << i++ << endl;  // 输出5,然后i变成6
    cout << "i = " << i << endl;      // 输出6

    cout << "++j = " << ++j << endl;  // j先变成6,然后输出6
    cout << "j = " << j << endl;      // 输出6

    return 0;
}

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注