运算符用于执行代码的运算,其主要分为一下几类:
算术运算符: 用于处理四则运算
赋值运算符: 将表达式的值赋给变量
比较运算符: 用于表达式的比较,并返回一个真值或假值
逻辑运算符: 用于根据表达式的值返回真值或假值
算术运算符加减乘除:+ - * /
#includeusing namespace std; int main(){ int num1 = 20; int num2 = 7; cout << num1 + num2 << endl; cout << num1 - num2 << endl; cout << num1 * num2 << endl; cout << num1 / num2 << endl; // 输出结果为2,整数相除只保留商的整数部分 double num3 = 0.5; double num4 = 0.22; cout << num3 / num4 << endl; // 输出结果为2.27273 // 整型与实型数据间也可以进行算术计算,并默认返回一个double类型运算结果 system("pause"); return 0; }
取模(取余数):%
#includeusing namespace std; int main(){ int num1 = 10, num2 = 3, num3 = 20; cout << num1 % num2 << endl; // 输出结果为1 cout << num1 % num3 << endl; // 输出结果为10,除不尽 余下原数 cout << num3 % num1 << endl; // 输出结果为0 system("pause"); return 0; }
递增递减:++、–,表示每次执行就在原变量基础上加一或减一
递增递减又细分为前置递增(递减)和后置递增(递减)。二者区别在于,前置递增是先递增变量再参与表达式的运算,后置递增是先参与表达式的运算再递增变量;前置递减和后置递减同理
#include赋值运算符using namespace std; int main(){ // 表达式以外单独使用时,前置与后置结果无区别 int num1 = 10, num2 = 20; cout << "num1 = " << num1 << endl; cout << "num2 = " << num2 << endl; // 前置递增 ++num1; // 后置递增 num2++; cout << "num1 = " << num1 << endl; // 输出结果为11 cout << "num2 = " << num2 << endl; // 输出结果为21 // 前置递增用于表达式中,先递增 再计算 int num3 = 10; int num4 = ++num3 * 10; cout << "num3 = " << num3 << endl; // 输出结果为11 cout << "num4 = " << num4 << endl; // 输出结果为110 // 后置递增用于表达式中,先计算 再递增 int num5 = 10; int num6 = num5++ * 10; cout << "num5 = " << num5 << endl; // 输出结果为11 cout << "num6 = " << num6 << endl; // 输出结果为100 system("pause"); return 0; }
主要包括:=、+=、-=、*=、/=、%=
=是直接将右侧值赋值给左侧的变量;+=、-=、*=、/=、%=表示左侧的变量值先与右侧的值进行对应的算术运算再将结果重新赋值给左侧的变量
#include比较运算符using namespace std; int main(){ int a = 10; // 直接赋值 a = 3; cout << "a = " << a << endl; // 输出结果为3 // 先运算再赋值 int b = 5; b += 5; // 等同于b = b + 5; 其他同理 cout << "b = " << b << endl; // 输出结果为10 system("pause"); return 0; }
== 判断两侧的值是否相等
!= 判断两侧的值是否不相等
<、>、<=、>=,小于、大于、小于等于、大于等于
上述判断均返回布尔值,输出的结果是0或1
#include逻辑运算符using namespace std; int main(){ int a = 10, 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; // 输出1 cout << (a >= b) << endl; // 输出0 system("pause"); return 0; }
非:! 将表达式取反义,返回真假值
与:&& 连接两个表达式,两个表达式同时为真则结果为真
或:|| 连接两个表达式,二者任一为真则结果为真
#inckudeusing namespace std; int main(){ int a = 10, b = 20; cout << !(a == b) << endl; // 输出结果为1 cout << ((a > b) && (a % b == 10)) << endl; // 输出结果为0 cout << ((a < b) || (a == b)) << endl; // 输出结果为1 system("pause"); return 0; }



