《斗破CPP》 第叁章(中) ---- 左值右值问题

16 篇文章 1 订阅
15 篇文章 0 订阅

《斗破CPP》第叁章将会分成上中下三部分分享给大家,(上)偏向于讲述循环;(中)讲1个中级难度的运算符;(下)偏向于讲解具有强大功能的语句以及控制符。不管有基础还是没基础的小伙伴,都可以重点看看(上)后半部分、(中)前半部分、(下)后半部分小总结

目录

递增运算符和递减运算符

后置递增(减)运算符

前置递增(减)运算符

 在for循环中作为条件的前置与后置

左值和右值

未完待续


递增运算符和递减运算符

我们在上一篇chap0302运用到了 -- 运算符。

后置递增(减)运算符

我们以后置递减运算符有关的程序作为本篇开端:

//chap0308

#include <iostream>

using namespace std;

int main()

{
	int x;

	cout << "倒数。\n";
	do {
		cout << "正整数值:";
		cin >> x;
	} while (x <= 0);

	while (x >= 0)
		cout << x-- << endl;	// 显示x的值并递减
}

对表达式x--进行求值,得到的是递增前的值。如示例,x的值为5,则cout << x-- << endl; 显示的是递增前的值5(当然,显示之后x的值将递减为4)。后置递增运算符的操作跟后置递减运算符一样就不多说了。

前置递增(减)运算符

对表达式--x进行求值,得到的是递增前的值。如示例,x的值为4,则cout << --x << endl; 显示的是递增前的值5(当然,显示之后x的值也为4)。

//chap0309

#include <iostream>

using namespace std;

int main()

{
	int x;

	cout << "倒数。\n";
	do {
		cout << "正整数值:";
		cin >> x;
	} while (x <= 0);

	while (x >= 0)
		cout << --x << endl;	// 显示x的值并递减
}

总结一下:

x++将x的值加1,最终生成的是增加前的值
x - -将x的值减1,最终生成的是减小前的值
++x将x的值加1,最终生成的是增加后的值。

- -x

将x的值减1,最终生成的是减小后的值。

 在for循环中作为条件的前置与后置

我们来看看下面2个例子,其实它们的作用是完全一样的,跟前置后置没有啥太大关系

for (int i = 0;i < 10;i++)

for (int i = 0;i < 10;++i)

左值和右值

终于来到本篇博客的主要内容啦。在赋值表达式中,既可以放在左边也可以放在右边的表达式称为左值表达式不可以放在左边的表达式称为右值表达式。例如,变量n是左值表达式,而使用二元 + 运算符进行加法运算的n + 2是右值表达式,不可以放在左边。我们通过代码来理解:

//chap0309

#include <iostream>

using namespace std;

int main()
{
	int x = 0;

	++x = 5;				// true:前置形式可以放在左边
	cout << "x的值是" << x << "。\n";

	x++ = 10;				// false:因为后置形式不可以放在左边
	cout << "x的值是" << x << "。\n";
}

我们ctrl+f5一下会发现编译错误,无法运行。通过这个chap0309 我们知道使用前置的++或--运算符的表达式是左值表达式,使用后置的++或--运算符的表达式是右值表达式。

未完待续

很感激阅读到这里的你,《斗破CPP》的精彩并不止于这些,学有余力的小伙伴可以看看下面这些博客,都是有着极多的技巧与干货❤

《斗破CPP》 第壹章 ---- 初窥CPP_施律.的博客-CSDN博客

《斗破CPP》 第贰章(上) ---- 初识分支句_施律.的博客-CSDN博客

《斗破CPP》 第贰章(下) ---- 拿捏运算符与标识符_施律.的博客-CSDN博客

关于时间的函数,让你成为掌控时间的强者:(极力推荐!)关于时间的函数,让你成为掌控时间的强者_施律.的博客-CSDN博客

如果觉得本篇博客对正在学习编程的你有帮助的话,请给施律.多一点的支持与关注!未来的一段时间里施律.将和小伙伴们一起斗破CPP,希望下次的我能为大家奉上更好的博客内容,也希望下次的博客有你
 

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

施律.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值