优秀的编程知识分享平台

网站首页 > 技术文章 正文

《和孩子一起学C++》运算符(c *运算符)

nanyue 2024-07-26 15:37:46 技术文章 16 ℃

计算机发明最早是为了辅助计算。那么我们今天开始学最基本的运算符。

之前已经说到,计算机程序语言的发明就是源自生活高于生活,所以运算符也类似于我们生活中的运算符。

数学中的+-×÷对照于+-*/。那么我们来进行一下简单计算。也复习一下之前的知识。

运算符也有先后顺序,等同于我们数学中的先乘除再加减。但是编程中的运算也有简便的写法,例如i++,++i,i*=2,这样的特殊形式。实际上i++和++i就等同于i=i+1;但是要注意运算符顺序。i=i++和i=++i就不一样,

#include <iostream>

using namespace std;

int main() {

int i;

int a=3;

i=a++;

cout << "i的值为:"<<i<<endl;

cout << "a的值为:"<<a<<endl;

return 0;

}

我们调整一下顺序:

#include <iostream>

using namespace std;

int main() {

int i;

int a=3;

i=a;

cout << "i的值为:"<<i<<endl;

cout << "a的值为:"<<a<<endl;

return 0;

}

i=a++,先把a赋值给i,然后a=a+1。

i=++a,先把a=a+1,然后i=a。

但是要注意一种特殊情况:自己赋值给自己的情况。i=i++的情况,并不是i=i,然后i=i+1两步,而是只有一步i=i。

#include <iostream>

using namespace std;

int main() {

int i=3;

i=i++;

cout << "i的值为:"<<i<<endl;

return 0;

}

而i=++i,才等同于i=i+1。

好了,就是这么简单,以上++这种方式又叫做累加器。

对于i*=2的情况,实际上是i=i*2,为什么能写成这种形式呢?因为运算符的操作结构是栈结构,在编译过程中将运算符按照一定顺序压入栈再进行操作。后期我们讲到高级数据结构的时候再详细讲解。这里大家只要记住这样的顺序即可。

我们来试一下这样的练习吧,心算一遍,看看与你思考的一样吗?

#include <iostream>

using namespace std;

int main() {

int i=0;

i=i+1;

cout << "i的值为:"<<i<<endl;

i=i*8;

cout << "i的值为:"<<i<<endl;

i=i-2;

cout << "i的值为:"<<i<<endl;

i=i/3;

cout << "i的值为:"<<i<<endl;

i++;

cout << "i的值为:"<<i<<endl;

i=i++;

cout << "i的值为:"<<i<<endl;

i=++i;

cout << "i的值为:"<<i<<endl;

i+=2;

cout << "i的值为:"<<i<<endl;

i*=2;

cout << "i的值为:"<<i<<endl;

return 0;

}

Tags:

最近发表
标签列表