所在的位置: C++ >> C++发展 >> 和孩子一起学C运算符

和孩子一起学C运算符

治白癜风的医院哪里好 http://baidianfeng.39.net/

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

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

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

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

#includeiostreamusingnamespacestd;intmain(){inti;  inta=3;  i=a++;  couti的值为:iendl;  couta的值为:aendl;  return0;}

我们调整一下顺序:

#includeiostreamusingnamespacestd;intmain(){inti;inta=3;i=a;couti的值为:iendl;couta的值为:aendl;return0;}

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

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

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

#includeiostreamusingnamespacestd;intmain(){inti=3;i=i++;couti的值为:iendl;return0;}

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

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

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

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

#includeiostreamusingnamespacestd;intmain(){inti=0;  i=i+1;  couti的值为:iendl;  i=i*8;  couti的值为:iendl;  i=i-2;  couti的值为:iendl;  i=i/3;  couti的值为:iendl;  i++;  couti的值为:iendl;  i=i++;  couti的值为:iendl;  i=++i;  couti的值为:iendl;  i+=2;  couti的值为:iendl;  i*=2;  couti的值为:iendl;  return0;}

赶快运算来看看效果吧




转载请注明:http://www.aierlanlan.com/tzrz/7815.html