1

自从我开始学习编程以来,在我学习的每一种语言中,总是有一个while循环和for循环。

while可以做所有for循环可以做的事情。两者都执行相同的迭代功能。那么添加for循环的目的是什么?

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

4

4 回答 4

2

我假设您正在谈论for例如 C/C++ 中使用的典型循环。

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

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

可以在一行中捕获。如果您有一个较长的带有while循环的主体,则整个内容可能不适合您的屏幕尺寸,或者即使它适合您也必须直观地解析代码以查看发生了什么。

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

于 2013-03-10T20:14:14.253 回答
0

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

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

Ofc 你可以不用所有循环;一个 goto 就足够了

于 2013-03-10T20:26:48.250 回答
0

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

于 2013-03-10T20:14:15.187 回答
0

for当我们知道终止条件时使用循环。

while如果我们不知道终止条件或更好的情况,通常使用循环

于 2013-03-10T20:14:15.867 回答