目录
3 运算符
作用:用于执行代码的运算。
本章我们主要讲解以下几类运算符:
运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值
3.1 算术运算符
作用:用于处理四则运算。
算术运算符包括以下符号:
运算符 术语 示例 结果 + 正号 +3 3 - 负号 -3 -3 + 加 10 + 5 15 - 减 10 - 5 5 * 乘 10 * 5 50 / 除 10 / 5 2 % 取模(取余) 10 % 3 1 ++ 前置递增 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
#include <iostream>
using namespace std;
int main()
{
int a1 = 10;
int b1 = 3;
cout << a1 + b1 << endl; // 13
cout << a1 - b1 << endl; // 7
cout << a1 * b1 << endl; // 30
cout << a1 / b1 << endl; // 3 两个整数相除,结果依然是整数,将小数部分去除
int a2 = 10;
int b2 = 20;
cout << a2 / b2 << endl; // 0
int a3 = 10;
int b3 = 0;
//错误!两个数相除,除数不可以为0!
//cout << a3 / b3 << endl; //报错,除数不可以为0。
//两个小数可以相除
double d1 = 0.5;
double d2 = 0.25;
cout << d1 / d2 << endl; // 2 运算结果可以是整数
d1 = 0.5;
d2 = 0.22;
cout << d1 / d2 << endl; // 2.27273 运算结果可以是小数
system("pause");
return 0;
}
总结:在除法运算中,除数不能为0。
示例2
#include <iostream>
using namespace std;
int main()
{
int a1 = 10;
int b1 = 3;
cout << a1 % b1 << endl; // 1
int a2 = 10;
int b2 = 20;
cout << a2 % b2 << endl; // 10
int a3 = 10;
int b3 = 0;
//两个数相除,除数不可以为0,所以做不了取模运算
// cout << a3 % b3 << endl; // 报错。取模运算时,除数不能为0!
//两个小数是不可以做取模运算的
double d1 = 3.14;
double d2 = 1.1;
// cout << d1 % d2 << endl; // 报错
system("pause");
return 0;
}
总结:只有整型变量可以进行取模运算。
示例3
#include <iostream>
using namespace std;
int main() //递增
{
//1、前置递增
int a = 10;
++a; //让变量+1
cout << "a = " << a << endl; // 11
//2、后置递增
int b = 10;
b++; //让变量+1,等价于b = b + 1
cout << b << endl; // 11
//3、前值和后置的区别
//前置递增:先对变量进行++,再计算表达式
int a2 = 10;
int b2 = ++a2 * 10;
cout << "a2 = " << a2 << endl; // 11
cout << "b2 = " << b2 << endl; // 11 * 10 -> 110
//后置递增:先计算表达式,后对变量进行++
int a3 = 10;
int b3 = a3++ * 10;
cout << "a3 = " << a3 << endl; // 11
cout << "b3 = " << b3 << endl; // 100
system("pause");
return 0;
}
总结:前置递增先对变量进行++,再计算表达式,后置递增相反。
3.2 赋值运算符
作用:用于将表达式的值赋给变量。
赋值运算符包括以下几个符号:
运算符 术语 示例 结果 = 赋值 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;
示例
#include <iostream>
using namespace std;
int main() // 赋值运算符
{
// =
int a = 10;
a = 100;
cout << "a = " << a << endl; // a = 100
// +=
a = 10;
a += 2; // a = a + 2;
cout << "a = " << a << endl; // a = 12
// -=
a = 10;
a -= 2; // a = a - 2
cout << "a = " << a << endl; // a = 8
// *=
a = 10;
a *= 2; // a = a * 2
cout << "a = " << a << endl; // a = 20
// /=
a = 10;
a /= 2; // a = a / 2;
cout << "a = " << a << endl; // a = 5
// %=
a = 10;
a %= 2; // a = a % 2;
cout << "a = " << a << endl; // a = 0
return 0;
}
3.3 比较运算符
作用:用于表达式的比较,并返回一个真值或假值。
比较运算符有以下符号:
运算符 术语 示例 结果 == 相等于 4 == 3 0 != 不等于 4 != 3 1 < 小于 4 < 3 0 > 大于 4 > 3 1 <= 小于等于 4 <= 3 0 >= 大于等于 4 >= 1 1
示例
#include <iostream>
using namespace std;
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”来表示。
3.4 逻辑运算符
作用:用于根据表达式的值返回真值或假值。
逻辑运算符有以下符号:
运算符 术语 示例 结果 ! 非 !a 如果a为假,则!a为真; 如果a为真,则!a为假。 && 与 a && b 如果a和b都为真,则结果为真,否则为假。 || 或 a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
示例1:逻辑非
#include <iostream>
using namespace std;
int main()
{
//逻辑运算符 --- 逻辑非
int a = 10;
//在C++中,除了0都为真
cout << !a << endl; // 0
cout << !!a << endl; // 1
system("pause");
return 0;
}
总结: 真变假,假变真。
示例2:逻辑与
#include <iostream>
using namespace std;
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
//同真为真,其余为假!
system("pause");
return 0;
}
总结:逻辑与运算符总结:同真为真,其余为假。
示例3:逻辑或
#include <iostream>
using namespace std;
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
//逻辑或运算符总结:同假为假,其余为真!
system("pause");
return 0;
}
逻辑或运算符总结:同假为假,其余为真。