问题:狐狸尼克每天背诵完一首古诗后,就在木棒上刻一条划痕,若连续刻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;
}