loops - For 和 While 循环 : differences, 问题及原因

标签 loops for-loop while-loop

我试图找出一些问题的答案以及C++中While和For循环之间的一些区别以及原因?这是我到目前为止所想到的。根据http://www.cplusplus.com/doc/tutorial/control/

虽然是: while(表达式)语句

而 For 是: for(初始化;条件;增加)语句;

所以在 for 循环中,初始化是我们声明条件语句中要使用的变量的地方,对吗?

condition是在什么条件下,会循环。

然后增加是我们决定向变量添加或减去多少的地方。

在 while 循环中,表达式也是一个条件,对吗?或者在这种情况下它们是完全不同的术语?

我注意到,通过 for 循环,如果我愿意,我可以将增加部分移动到语句中,但我不能在 While 循环中在括号中添加增加或在括号中声明一个变量(在for 循环)。我有点好奇这是什么原因?

无论如何,我在谷歌的帮助下自学,并得到了人们的建议,我对编程几乎完全陌生,所以请放轻松,我不了解最新的行话或答案还很复杂。 :) 如果您需要更多信息或任何内容,请告诉我。

最佳答案

for循环比真正的语言构造更方便。例如,for循环可以轻松扩展为 while循环。

for ( c=0; c<10; c++ ) 相当于

c=0;
while ( c<10 ) {
  // some statements
  c++;
}

此外,for循环不限于简单的数字运算,您可以执行更复杂的操作,如下所示(C 语法):

// a very basic linked list node
struct node {
  struct node *next;
};
struct node; //declare our node

// iterate over all nodes from 'start' node (not declared in this sample)
for ( node=start; node; node=node->next ) {}

它将迭代一个简单的链接列表。

您还可以有多个初始值设定项、条件和语句(取决于语言),如下所示: for ( c=0, d=5; c<10, d<20; c++, d++ ) 。但我建议不要像这样疯狂的 for 循环,因为它们会变得相当困惑。

关于loops - For 和 While 循环 : differences, 问题及原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793012/

相关文章:

arrays - 如何在 React + Typescript 中检查数组中 javascript 对象的所有值是否为真?

loops - Playframework 2 java 在模板中迭代 map

python - 在Python中同时迭代2个不同的字典

Python:条件或

c - 寻找最大的 gcd while 循环问题

loops - 遍历 Capybara 中的项目

python - 创建一个函数来标准化分类变量 (python)

java - 如何遍历 Java 中函数返回的数组

javascript - 分离独特和非独特项目的功能出现意外结果

java - 试图用开关盒内的开关盒打破 while 循环