当前位置: 首页 > 文档资料 > C++大学教程 >

2.13 计数器控制循环的要点

优质
小牛编辑
135浏览
2023-12-01

计数器控制循环要求:

1.控制变量(或循环计数器)的名称(name)。
2.控制变量的初始值(initial value)。
3.测试控制变量终值(final value)的条件(即是否继续循环)。
4.每次循环时控制变量修改的增量或减量(increment decrement)。

考虑图2.16所示的简单程序,打印1到10的数字。声明:

int counter = 1;

指定控制变量(counter)并声明为整数,在内存中为其保留空间并将初始值设置为1。需要初始化的声明实际上是可执行语句。在C++中,将需要分配内存的声明称为定义(definition)更准确。

// Fig. 2.16: fig02_16.cpp
// Counter-controlled repetition
#include 

int main(){
  int counter = 1;  // initialization
  while ( counter <= 10 ) { // repetition condition
    cout << counter << endl;
    ++counter; // increment
  }
}

输出结果:

2
4
5
0
8
9
10

图 2.16 计数器控制循环

counter 的声明和初始化也可以用下列语句完成:

int  counter;
counter = 1;

声明不是可执行语句,但赋值是可执行语句。我们用两种方法将变量初始化。

下列语句:

++counter;

在每次循环时将循环计数器的值加1。while结构中的循环条件测试控制变量的值是否小于或等于10(条件为true的终值)。注意,即使控制变量是10时,这个while结构体仍然执行。控制变量超过10时(即counter变成11时),循环终止。

图2.16 的程序也可以更加简化,将 counter 初始化为。并将 while 结构换成:

while (++counter <= lO)
cout << counter << endl;

这段代码减少了语句,直接在while条件中先增加计数器的值再测试条件。这段代码还消除了while 结构体的花括号,因为这时while只包含一条语句。

常见编程错误2.12

由于浮点值可能是近似值,用浮点变量控制计数循环可能导致不精确的计数器值,使测试的结果不准确。

编程技巧2.15

用整数值杜制计数循环。

编程技巧2.16

缩排每个控制结构体中的语句。

编程技巧2.17

在每个控制结构前后加上空行,使其在程序中一目了然。

编程技巧2.18

嵌套太多会使程序难以理解。一般来说,缩排不宜超过三层。

编程技巧2.19

在每个控制结构前后加上空行,并缩排每个控制结构体中的语句使程序产生二维效果,大大增加可读性。