当前位置:嗨网首页>书籍在线阅读

05-修改步长

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.1.3 修改步长

到现在为止,循环示例每一轮循环都将循环计数加1或减1。可以通过修改更新表达式来修改步长。例如,程序清单5.5中的程序按照用户选择的步长值将循环计数递增。它没有将i++用作更新表达式,而是使用表达式i = i + by,其中by是用户选择的步长值。

程序清单5.5 bigstep.cpp

// bigstep.cpp -- count as directed
#include <iostream>
int main()
{
    using std::cout; // a using declaration
    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;
}

下面是该程序的运行情况:

Enter an integer: 17
Counting by 17s:
0
17
34
51
68
85

当i的值到达102时,循环终止。这里的重点是,更新表达式可以是任何有效的表达式。例如,如果要求每轮递增以i的平方加10,则可以使用表达式i = i * i + 10。

需要指出的另一点是,检测不等通常比检测相等好。例如,在这里使用条件i == 100不可行,因为i的取值不会为100。

最后,这个示例使用了using声明,而不是using编译指令。