为什么编程语言中有两个循环?

时间:2013-03-10 20:09:35

标签: loops for-loop programming-languages while-loop

自从我开始学习编程以来,在我学习的每种语言中,始终存在while循环和for循环。

由于while可以执行for循环可以执行的所有操作。两者都具有相同的功能来迭代。那么添加for循环的目的是什么?

使用它们有什么性能差异吗?为什么每种语言都有两个循环?

4 个答案:

答案 0 :(得分:2)

我假设您在讨论C / C ++中使用的典型for循环。

虽然for循环总是可以重写为while循环,但它具有很大的可读性优势:所有与循环相关的属性

  • initalization
  • 测试
  • 后循环操作(通常是增加或遍历)

可以在一行中捕获。如果你有一个while循环的较长的主体,整个东西可能不适合你的屏幕大小,或者即使它适合你,你必须在视觉上解析代码,看看发生了什么。

从本质上讲,如果适用,for循环可以更好地捕获代码的意图。

答案 1 :(得分:0)

唯一的区别在于代码可读性,在编译时for循环在while循环中转换,并具有先前的初始化和后续增量。

答案 2 :(得分:0)

当我们知道终止条件时,会使用

for循环。

如果我们不知道终止条件或更好,我们可以说当我们不关心终止条件是什么时,通常会使用

while循环...并且性能明智两者都相同

答案 3 :(得分:0)

因为这是使循环成为“循环”的条件,并且在这两种情况下条件都是由用户提供的(并且它不是循环结构转换为机器代码的一部分)我怀疑它们存在于不同的风格中文档工具比什么都重要。但是,for循环使您能够声明仅在循环期间存在的局部变量:

for (Iterator it = c.begin(); it != c.end(); ++it) {
} // it destroyed here

你可以不用所有的循环; goto是足够的