目录
运算符
定义
一种用于执行特定操作的符号或关键字,例如加法、减法、赋值、比较等操作。运算符定义了不同数据类型之间的操作规则和结果,执行代码的运算。
运算符种类
1.算数运算符
作用:用于四则运算。
源代码:
#include <iostream>
using namespace std;
int main()
// 除了cout那行代码外,所有C++程序都要写那些默认行 -endl进行换行
// 格式化代码 ctrl+k ctrl+f
{
int a = 11;
int b = 3;
int c = 0;
double d = 9.17;
// 加
cout << a + b << endl; // 14
// 减
cout << a - b << endl; // 8
// 乘
cout << a * b << endl; // 33
// 除
cout << a / b << endl; // 3 相除的为两个整数,结果仍为整数(去除小数部分)
// 验证除数为0 cout << a / c << endl; 抛出算数异常(Arithmetic exception)
// 小数与整数、小数与小数运算结果为小数(精度大的那个)
cout << d / b << endl; // 3.05667
// 取余 小数不可以进行取余运算 进行取模运算时是基于除法运算
cout << a % b << endl; // 2
// 验证除数为0 cout << b % c << endl; 抛出算数异常(Arithmetic exception)
// 前置递增
int e = ++a * 5;
cout << "preAdd a = " << a << endl; // preAdd a = 12 前置递增先进行+1操作后再运算
cout << "preAdd e = " << e << endl; // preAdd e = 60 由 e = 12 * 5计算得来
// 后置递增
int f = b++ * 3;
cout << "postAdd b = " << b << endl; // postAdd b= 4 后置递增是先进行运算操作后进行+1操作
cout << "postAdd f = " << f << endl; // postAdd f= 9 先进行f = b * 3 此时的b没有进行++运算
// 定义 g,h临时变量用于计算 递减原理相同
int g = 6;
int h = 2;
// 前置递减
int i = --g * 2;
cout << "preSub g = " << g << endl; // preSub g = 5
cout << "preSub i = " << i << endl; // preSub i = 10
// 后置递减
int j = h-- * 4;
cout << "postSub h = " << h << endl; // postSub h = 1
cout << "postSub j = " << j << endl; // postSub j = 8
system("pause");
return 0;
}
结果:
直接输出后置自增和前置
#include <iostream>
using namespace std;
int main()
{
int a = 11;
int b = 3;
cout << "preAdd a = " << a++ << endl; // preAdd a = 11
cout << "postAdd b = " << ++b << endl; // postAdd b = 4
system("pause");
return 0;
}
2.赋值运算符
作用:将表达式的值赋值给变量。
源代码:
#include <iostream>
using namespace std;
int main()
{
// =
int a = 10; // a = 10
a = 100; // 赋值
cout << "a = " << a << endl; // a = 100
// +=
a = 10; // a = 10
a += 2; // 赋值
cout << "a += " << a << endl; // a += 12
// -=
a = 10; // a = 10
a -= 2; // 赋值
cout << "a -= " << a << endl; // a -= 8
// *=
a = 10; // a = 10
a *= 2; // 赋值
cout << "a *= " << a << endl; // a *= 20
// /=
a = 10; // a = 10
a /= 2; // 赋值
cout << "a /= " << a << endl; // a /= 5
// %=
a = 10; // a = 10
a %= 2; // 赋值
cout << "a %= " << a << endl; // a %= 0
system("pause");
return 0;
}
结果:
3.比较运算符
作用:表达式的比较,比较结果为真/假。
源代码:
#include <iostream>
using namespace std;
int main()
{
// 定义两个变量用于比较
int a = 3;
int b = 4;
// == 这里存在运算优先级问题(移位运算<<),所以我们想要先运算a == b 需要用圆括号括起来a == b
cout << "a==b " << (a == b) << endl; // 0
// !=
cout << "a!=b " << (a != b) << endl; // 1
// <
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
system("pause");
return 0;
}
结果:
4.逻辑运算符
作用:根据表达式的值返回真/假
源代码:
#include <iostream>
using namespace std;
int main()
{
// 定义两个变量进行逻辑运算
int a = 3;
int b = 0;
// && 与 全真才为真
cout << "a && b = " << (a && b) << endl; // a && b = 0
// || 或 有真即为真
cout << "a || b = " << (a || b) << endl; // a || b = 1
// ! 非 真就是假
cout << "!a= " << (!a) << endl; // !a= 0
cout << "!b= " << (!b) << endl; // !b = 1
system("pause");
return 0;
}
结果:
总结
算术运算符:用于执行基本的数学运算,如加法、减法、乘法、除法等。示例:
+
、-
、*
、/
。关系运算符:用于比较两个值之间的关系,返回布尔值。示例:
==
、!=
、<
、>
、<=
、>=
。逻辑运算符:用于执行逻辑操作,通常用于布尔值之间的运算。示例:
&&
(逻辑与)、||
(逻辑或)、!
(逻辑非)。位运算符:用于对整数类型的数据进行位级操作。示例:
&
(按位与)、|
(按位或)、^
(按位异或)、~
(按位取反)。赋值运算符:用于将一个值赋给变量。示例:
=
、+=
、-=
等。自增和自减运算符:用于增加或减少变量的值。示例:
++
(自增)、--
(自减)。条件运算符:也称为三元运算符,用于根据条件选择不同的值。示例:
condition ? value1 : value2
。成员访问运算符:用于访问类的成员,包括点运算符
.
和箭头运算符->
。类型转换运算符:用于执行类型转换。示例:
(int)
、(double)
等。地址和指针运算符:包括地址运算符
&
和指针运算符*
,用于处理内存地址和指针。sizeof运算符:用于获取数据类型或对象的大小。
其他运算符:还包括位移运算符、按位赋值运算符等。