c++:算术运算符、赋值运算符、比较运算符、逻辑运算符

c++:算术运算符、赋值运算符、比较运算符、逻辑运算符

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,


c++运算符

在这里插入图片描述

算术运算符:加减乘除

取模a%b求余数
++递增
–递减
在这里插入图片描述
整除,整数部分,不保留小数
a/b保留整数部分

在这里插入图片描述
在这里插入图片描述
除数b不能为0
常识
在这里插入图片描述
俩小数能除吗
可以double就行

在这里插入图片描述

#include<iostream>
using namespace std;


//算术运算
void calc1() {
	int a = 10;
	int b = 20;
	cout << "a+b=" << a + b << endl;
	cout << "a-b=" << a - b << endl;
	cout << "a*b=" << a * b << endl;
	cout << "a/b=" << a / b << endl;//整除,整数部分,不保留小数

	//Python2也是这样,Python3就是有小数了
	//java也是整除的

	//俩小数
	double d1 = 0.5;
	double d2 = 0.25;
	cout << "d1/d2=" << d1 / d2 << endl;//2不?
	d2 = 0.2;
	cout << "d1/d2=" << d1 / d2 << endl;//2不?

	//你想看余数就%,这通用的
	cout << "5%3=" << 5 % 3 << endl;//取余
}

int main() {

	calc1();//算术运算

	system("pause");
	return 0;
}

取模运算%,取余数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

void yushu() {
	//
	int a = 10;
	int b = 3;
	cout << a % b << endl;

	int a2 = 10;
	int b2 = 20;
	cout << a2 % b2 << endl;
}

int main() {

	//calc1();//算术运算
	yushu();//算术运算

	system("pause");
	return 0;
}

老样子,除数不可为0

否则程序就会炸

double是不可以取模的哦

在这里插入图片描述

递增++,递减–

前置:先操作,让变量加1,再进行赋值操作
在这里插入图片描述

后置,先玩表达式赋值操作,后再进行+1的操作【经常在数据结构与算法中用的,典型的用处就是归并排序】
在这里插入图片描述


void dizengdijian() {

	//前置,和后置--区别是啥呢??
	int a = 10;
	int a2 = ++a;//让a先加1,这叫前置
	cout << a2 << endl;
	cout << a << endl;


	int b = 10;
	int c = b++;//先玩表达式,再执行加1操作,这叫后置
	cout << c << endl;
	cout << b << endl;

}

int main() {

	//calc1();//算术运算
	//yushu();//算术运算
	dizengdijian();//算术运算

	system("pause");
	return 0;
}

赋值运算符

在这里插入图片描述
a += x
等价于
a = a + x
其余的加减乘除,取模啥的都一样

在这里插入图片描述

void fuzhi() {
	int a = 10;
	a = 100;//常规赋值
	cout << a << endl;

	a = 10;
	a += 2;//a=a+2,简写了而已
	cout << a << endl;

	a = 10;
	a -= 2;//a=a-2,简写了而已
	cout << a << endl;

	a = 10;
	a *= 2;//a=a*2,简写了而已
	cout << a << endl;

	a = 10;
	a /= 2;//a=a/2,简写了而已
	cout << a << endl;

	a = 10;
	a %= 2;//a=a%2,简写了而已
	cout << a << endl;
}

int main() {

	//calc1();//算术运算
	//yushu();//算术运算
	//dizengdijian();//算术运算
	fuzhi();//算术运算

	system("pause");
	return 0;
}

比较运算符

在这里插入图片描述
=是赋值操作
==判断相等的操作

在这里插入图片描述
注意这里运算符的优先级,后续我们还会讲
现在你需要知道
比较运算的优先级是低于算术运算符的
()的与优先级最高的

void compare1() {
	//true 1;false 0

	int a = 10;
	int b = 20;
	cout << (a == b) << endl;//优先级,比较运算是低于算术运算符的
	cout << (a != b) << endl;//优先级,比较运算是低于算术运算符的
	cout << (a > b) << endl;//优先级,比较运算是低于算术运算符的
	cout << (a < b) << endl;//优先级,比较运算是低于算术运算符的
	cout << (a <= b) << endl;//优先级,比较运算是低于算术运算符的
	cout << (a >= b) << endl;//优先级,比较运算是低于算术运算符的


}

int main() {

	//calc1();//算术运算
	//yushu();//算术运算
	//dizengdijian();//算术运算
	//fuzhi();//算术运算
	compare1();//算术运算

	system("pause");
	return 0;
}

逻辑运算符

在这里插入图片描述
你得清楚逻辑运算的计算速度远高于算术运算符
有时候经常用这种操作【加速运算】

逻辑与
在这里插入图片描述
在这里插入图片描述

void luoji() {
	int a = 10;//非0,就是1逻辑,真
	cout << !a << endl;//这个优先级挺高啊,!比右移左移操作高
	cout << !!a << endl;//取反操作

	int b = 0;
	cout << (a && b) << endl;
	cout << (a || b) << endl;//这里优先级又不如取非了
}

int main() {

	//calc1();//算术运算
	//yushu();//算术运算
	//dizengdijian();//算术运算
	//fuzhi();//算术运算
	//compare1();//算术运算
	luoji();//算术运算

	system("pause");
	return 0;
}

逻辑或
在这里插入图片描述
在这里插入图片描述

void luoji() {
	int a = 10;//非0,就是1逻辑,真
	cout << !a << endl;//这个优先级挺高啊,!比右移左移操作高
	cout << !!a << endl;//取反操作

	cout << endl;
	cout << (1 && 1) << endl;
	cout << (1 && 0) << endl;
	cout << (0 && 1) << endl;
	cout << (0 && 0) << endl;//全1才1

	cout << endl;
	cout << (1 || 1) << endl;
	cout << (1 || 0) << endl;
	cout << (0 || 1) << endl;
	cout << (0 || 0) << endl;//有1就1
							 //这里优先级又不如取非了
}


总结

提示:重要经验:

1)各种操作,慢慢搞
2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值