C++运算符(算术、赋值、比较、逻辑运算符)


运算符的作用:执行代码的运算。

运算符类型作用
算术运算符处理四则运算
赋值运算符将表达式的值赋给变量
比较运算符表达式的比较,并返回一个真值(1)或假值(0)
逻辑运算符根据表达式的值返回真值(1)或假值(0)

1 算术运算符

作用:用于处理四则运算

算术运算符的种类:

运算符术语示例结果
+正号+33
-负号-3-3
+10 + 515
-10 - 55
*10 * 550
/10 / 52
%取模(取余)10 % 31
++前置递增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:除法运算或取模运算中,除数不能为0
注2:C++中,只有整型变量可以进行取模运算。浮点型变量不能进行取模运算。否则,提示错误:“表达式必须具有整数或未区分范围的枚举类型”。
注3:前置递增/递减先对变量进行++/–,再计算表达式;后置递增/递减先计算表达式,再对变量进行++/–。

示例1:

//加减乘除
int main() {
	int a1 = 10;
	int b1 = 3;

	cout << a1 + b1 << endl;
	cout << a1 - b1 << endl;
	cout << a1 * b1 << endl;
	cout << a1 / b1 << endl;  //3  //整数除:两个整数相除,结果仍为整数,会去除小数部分

	int a2 = 10;
	int b2 = 20;
	cout << a2 / b2 << endl;  //0

	//两个小数相除
	double d1 = 0.5;
	double d2 = 0.25;
	cout << d1 / d2 << endl;  //2   //运算结果可为小数,如 0.5 / 0.15

	return 0;
}

示例2:

//取模
int main() {
	cout << 10 % 3 << endl;		//1
	cout << 10 % 20 << endl;	//10
	//cout << 10 % 0 << endl; //取模运算时,除数不能为0

	//两个小数不可以取模
	double d1 = 3.14;
	double d2 = 1.1;
	//cout << d1 % d2 << endl;

	return 0;
}

示例3:

//递增
int main() {
	//后置递增
	int a = 5;
	a++; //等价于a = a + 1
	cout << a << endl; //6

	//前置递增
	int b = 10;
	++b;
	cout << b << endl; //6

	//区别
	//前置递增:先对变量进行++,再计算表达式
	int a1 = 5;
	int b1 = ++a1 * 10;
	cout << a1 << endl;	//6
	cout << b1 << endl;	//60

	//后置递增:先计算表达式,后对变量进行++
	int a2 = 5;
	int b2 = a2++ * 10;
	cout << a2 << endl;	//6
	cout << b2 << endl;	//50

	return 0;
}

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;

3 比较运算符

作用:用于表达式的比较,并返回一个真值(1)假值(0)

比较运算符的种类:

运算符术语示例结果
==相等于4 == 30
!=不等于4 != 31
<小于4 < 30
>大于4 > 31
<=小于等于4 <= 30
>=大于等于4 >= 31

注:C和C++ 语言的比较运算中, “真”使用数字“1”表示, “假”使用数字“0”表示


4 逻辑运算符

作用:根据表达式的值返回真值(1)假值(0)

逻辑运算符的种类:

运算符术语示例结果
!!a若a为假,则!a为真; 若a为真,则!a为假。
&&a && b若a和b都为真,则结果为真;否则为假。
||a || b若a和b至少一个为真,则结果为真;当二者均为假时,结果为假。

示例1:逻辑非

//逻辑运算符  --- 非
int main() {
	int a = 5;
	//C++中,所有非0值均为真 
	cout << !a << endl; // 0
	cout << !!a << endl; // 1
	return 0;
}

注:逻辑非运算符总结:真变假,假变真

示例2:逻辑与

//逻辑运算符  --- 与
int main() {
	int a = 5;
	int b = 5;
	cout << (a && b) << endl;	// 1

	a = 5;
	b = 0;
	cout << (a && b) << endl;	// 0 

	a = 0;
	b = 0;
	cout << (a && b) << endl;	// 0
	return 0;
}

注:逻辑与运算符总结:同真为真,其余为假

示例3:逻辑或

//逻辑运算符  --- 或
int main() {
	int a = 5;
	int b = 5;
	cout << (a || b) << endl;// 1

	a = 5;
	b = 0;
	cout << (a || b) << endl;// 1 

	a = 0;
	b = 0;
	cout << (a || b) << endl;// 0
	return 0;
}

注:逻辑或运算符总结:同假为假,其余为真

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值