问题:狐狸尼克每天背诵完一首古诗后,就在木棒上刻一条划痕,若连续刻5天,一共有多少道划痕?

程序

#include <iostream>
using namespace std;

int main()
{
    int i;
    i = 0;
    i = i + 1;//第1天,尼克背一首古诗,在木棒上刻一条划痕
    i = i + 1;//第2天,尼克背一首古诗,在木棒上刻一条划痕
    i = i + 1;//第3天,尼克背一首古诗,在木棒上刻一条划痕
    i = i + 1;//第4天,尼克背一首古诗,在木棒上刻一条划痕
    i = i + 1;//第5天,尼克背一首古诗,在木棒上刻一条划痕
    cout << i;

    return 0; 
}

通常,我们把具有计数功能的变量,成为“计数器”。

自加运算符++

赋值语句 i=i+1 可以写成 i++
++ 被叫做 自加运算符或者自增运算符

这个运算符有两种用法,i++这种用法,我们已经学过了,
还有一种用法,叫++i;

这两种方法,都可以是变量的值加1,但他们还是有一些区别,下面我们用程序来展示他们的区别:

单独使用自增符号时 n++和++n,结果是一样的

#include <iostream>
using namespace std;

int main()
{
    int n;


    n = 100;
    cout << n << endl;
    n++;
    cout << n << endl;
    cout << "-----分割线-----" << endl;

    n = 100;
    cout << n << endl;
    ++n;
    cout << n << endl;
    cout << "-----分割线-----" << endl;

    return 0;
}

但当我们把自增号用到赋值语句中,结果就不一样了

#include <iostream>
using namespace std;

int main()
{
    int a,b,x,y;


    a = 100;
    cout << "a = " << a << endl;
    x = a++;
    cout << "x = " << x << endl;
    cout  << endl;

    b = 100;
    cout << "b = " << b << endl;
    y = ++b;
    cout << "y = " << y << endl;
    cout <<  endl;

    return 0;
}

执行结果:

y = ++b; 执行的是b加1后的结果赋值给y

x = a++; 执行的是把a的值赋值给x,并没有把a加1的结果赋值给x!

请一定要注意这个区别!

下面让我们看一下,x = a++ 后,x 和 a 的值

#include <iostream>
using namespace std;

int main()
{
    int a,b,x,y;


    a = 100;
    cout << "a = " << a << endl;
    x = a++;
    cout << "x = " << x << endl;
    cout << "执行x=a++后,a = " << a << endl;
    cout  << endl;



    return 0;
}