到现在为止,循环示例每一轮循环都将循环计数加1或减1。可以通过修改更新表达式来修改步长。例如,下列程序中的程序按照用户选择的步长值将循环计数递增。它没有将i++用作更新表达式,而是使用表达式 i = i+by ,其中by是用户选择的步长值。
//bigstep.cpp —— count as directed
#include<iostream>
int main()
{
using std::cout;
using std::cin;
using std::endl;
cout<<"Enter an integer : ";
int by;
cin >> by;
cout<<"Counting by "<<by<<"s:\n";
for(int i=0;i<100;i=i+by)
cout<<i<<endl;
return 0;
}
下面是该程序的运行情况:
当i的值达到102时,循环终止。这里的重点是,更新表达式可以是任何有效的表达式。例如,如果要求每轮递增以i的平方加10。则可以使用表达式i=i*i+10。
需要指出的另一点是,检测不等通常比检测相等好。例如,在这里使用条件i==100可不行,因为i的取值不会为100。
最后,这个示例使用了using声明,而不是using编译指令。