• 【C++】C++基础知识(三)---运算符


    1. 算术运算符

    算术运算符用于执行代码的运算,C++支持的算术运算符如下所示:
    假设a = 6,b = 3

    运算符描述实例
    +两个操作数相加a + b = 9
    -两个操作数相减a - b = 3
    *两个操作数相乘a * b = 18
    /两个操作数相除a / b = 2
    %取模运算符a % b = 0
    ++自增运算符a++后为7
    自减运算符a–后为5

    运算符使用注意事项:

    1. / 除法运算符
      1)两个整数操作数相除,结果依然为整数,小数部分去除;
      2)除数不能为0,否则会报错;
    2. %取模运算符
      1)取模运算是基于整数操作数的,小数不能进行取模运算;
      2)除数不能为0,否则会报错;
    3. ++(–)递增(递减)运算符
      1)分为前置递增(递减)与后置递增(递减),如:++a 、a++ 、–a 、a-- ;
      2)前置递增(递减)与后置递增(递减)都是让变量+(-)1;但是前置递增(递减)是变量先+(-)1,然后再进行表达式的运算;而后置递增(递减)是变量先参与表达式的运算,再+(-)1;
    • 代码演示
    #include 
    using namespace std;
    
    int main() {
    
    	//1、加减乘数运算(+ - * /)
    	int a1 = 10;
    	int b1 = 8;
    	int b = 0;
    	cout << a1 + b1 << endl;
    	cout << a1 - b1 << endl;
    	cout << a1 * b1 << endl;
    	cout << a1 / b1 << endl; //两个整数相除,结果依然是整数,小数部分将去除
    	//cout << a1 / b << endl; //报错,两个数相除,除数不能为0
    
    	double a2 = 5.2;
    	double b2 = 2.1;
    	cout << a2 + b2 << endl;
    	cout << a2 - b2 << endl;
    	cout << a2 * b2 << endl;
    	cout << a2 / b2 << endl; 
    
    	//2、取模运算(%)基于整数
    	cout << a1 % b1 << endl;
    	cout << b1 % a1 << endl;
    	//cout << a2 % b2 << endl; //两个小数是不能进行取模运算的
    	//cout << a1 % b << endl; //报错,取模运算时,除数不能为0
    
    	//3、递增(前置递增、后置递增)、递减(前置递减、后置递减)
    	int A = 10;
    	int B = 10;
    	int C = 10;
    	int D = 10;
    	++A; //让变量+1
    	B++; //让变量+1
    	--C; //让变量-1
    	D--; //让变量-1
    	cout << "前置递增后为: " << A << endl;
    	cout << "后置递增后为: " << B << endl;
    	cout << "前置递减后为: " << C << endl;
    	cout << "后置递减后为: " << D << endl;
    	
    	//前置递增/递减 和 后置递增/递减的区别
    	int add1 = ++A * 10; //变量先+1后,再进行表达式的运算
    	int add2 = B++ * 10; //先进行表达式的运算,再将变量+1
    	int sub1 = --C * 10;
    	int sub2 = D-- * 10;
    	cout << "add1 = " << add1 << endl;
    	cout << "add2 = " << add2 << endl;
    	cout << "sub1 = " << sub1 << endl;
    	cout << "sub2 = " << sub2 << endl;
    
    	cout << "---前置递增后为: " << A << endl;
    	cout << "---后置递增后为: " << B << endl;
    	cout << "---前置递减后为: " << C << endl;
    	cout << "---后置递减后为: " << D << endl;
    
    	system("pause");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60

    输出结果:
    在这里插入图片描述

    2. 赋值运算符

    赋值运算符用于将表达式的值赋给变量,C++支持的赋值运算符如下所示:

    运算符描述实例
    =赋值运算符,将右边的操作数的值赋给左边操作数c = a + b
    +=加等于赋值运算符,将左边的操作数加上右边操作数的结果赋值给左边的操作数c += a <—> c = c + a
    -=减等于赋值运算符,将左边的操作数减去右边操作数的结果赋值给左边的操作数c -= a <—> c = c - a
    *=乘等于赋值运算符,将左边的操作数乘以右边操作数的结果赋值给左边的操作数c *= a <—> c = c * a
    /=除等于赋值运算符,将左边的操作数除以右边操作数的结果赋值给左边的操作数c /= a <—> c = c / a
    %=模等于赋值运算符,将左边的操作数对右边操作数取模的结果赋值给左边的操作数c %= a <—> c = c % a
    • 代码演示
    #include 
    using namespace std;
    
    int main() {
    
    	//等于=
    	int a = 10;
    	a = 100;
    	cout << a << endl;
    
    	//加等于+=
    	a = 10;
    	a += 2;
    	cout << a << endl;
    
    	//减等于-=
    	a = 10;
    	a -= 2;
    	cout << a << endl;
    
    	//乘等于*=
    	a = 10;
    	a *= 2;
    	cout << a << endl;
    
    	//除等于/=
    	a = 10;
    	a /= 2;
    	cout << a << endl;
    
    	//模等于%=
    	a = 10;
    	a %= 2;
    	cout << a << endl;
    
    	system("pause");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    输出结果:
    在这里插入图片描述

    3. 关系(比较)运算符

    关系运算符用于表达式的比较,返回一个真值或者假值,C++支持的关系运算符如下:
    假如:a = 3,b = 6

    运算符描述实例
    ==比较两个操作数的值是否相等,相等则为真,否则为假a == b为假
    !=比较两个操作数的值是否相等,不等为真,否则为假a != b为真
    大于>比较两个操作数的值的大小,左值大为真,否则为假a > b 为假
    <比较两个操作数的值的大小,左值大为假,否则为真a < b为真
    大于等于>=比较两个操作数的值的大小,左值大于等于右值为真,否则为假a >= b为假
    <=比较两个操作数的值的大小,左值小于等于右值为真,否则为假a <= b为真
    • 代码演示
    #include 
    using namespace std;
    
    int main() {
    
    	// ==
    	int a = 10;
    	int b = 12;
    	cout << (a == b) << endl;
    
    	// !=
    	cout << (a != b) << endl;
    
    	// <
    	cout << (a < b) << endl;
    
    	// >
    	cout << (a > b) << endl;
    
    	// <=
    	cout << (a <= b) << endl;
    
    	// >=
    	cout << (a >= b) << endl;
    
    	system("pause");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    输出结果:
    在这里插入图片描述

    4. 逻辑运算符

    逻辑运算符用于根据表达式的值返回真值或假值,C++支持的逻辑运算符如下所示:
    假设a = 1,b = 0

    运算符描述实例
    &&逻辑与运算符,若两个操作符都为1,则条件为1a && b为0
    ll逻辑或运算符,若两个操作符中任意一个位1,则条件为1a ll b为1
    !逻辑非运算符,用来逆转操作数的逻辑状态,若条件为1,则逻辑非运算将使其为0!a 为0
    • 代码演示
    #include 
    using namespace std;
    
    int main() {
    
    	// 非!
    	int a = 10;
    	int b = 0;
    	cout << !a << endl << !b << endl;
    
    	// 与&&
    	cout << (a && b) << endl;
    
    	// 或||
    	cout << (a || b) << endl;
    	
    	system("pause");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    输出结果:
    在这里插入图片描述

    5. 杂项运算符

    C++支持的其他一些重要的运算符如下所示:

    运算符描述
    sizeof返回变量占用内存的长度
    condition ? x : y三目操作符(条件运算符),若条件满足,值为x,否则值为y
    ,逗号运算符,会执行一系列运算,整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值
    .(点)和->(箭头)成员运算符,用于引用类、结构体和共用体的成员
    cast强制转换运算符,把一种数据类型转换为另一种数据类型,如int(3.14159),将返回3
    &指针运算符&,返回变量的地址。如&a;将会给出变量的实际地址
    *指针运算符指向一个变量。如p;指向变量p

    6.运算符的优先级

    运算符的优先级确定表达式中项的组合,这会影响到一个表达式如何计算。运算符的优先级见:

    C++运算符优先级表

  • 相关阅读:
    ifconfig
    lssvm聚类研究(Matlab代码实现)
    【2023云栖】陈守元:阿里云开源大数据产品年度发布
    制作一个简单HTML公司官网网页设计(HTML+CSS)
    奥地利博士联培申请签证经验(奥地利签证)
    QIngScan使用
    Windows主机信息收集
    Laravel框架 - 中间件篇
    软件测试中如何测试算法?
    tomcat注册为服务
  • 原文地址:https://blog.csdn.net/qq_43723025/article/details/127845389