我试图找出一些问题的答案,以及C ++中的While和For循环之间的一些区别以及原因?这是我到目前为止所提出的。根据{{3}}
虽然是: 而(表达)陈述
和For是: for(initialization; condition; increase)statement;
所以在for循环中,初始化是我们声明要在条件语句中使用的变量的权利吗?
条件是在什么条件下,它会循环。
然后增加是我们决定向变量添加或减去多少的地方。
在while循环中,表达式也是一个条件吗?或者在这种情况下,它们是完全不同的术语吗?
我注意到使用for循环我可以将增加部分移动到语句中,如果我想,但我不能在While循环中增加括号或在括号中声明一个变量(该初始化的东西在一个for loop)。我有点好奇是什么原因?
无论如何,我有点在google的帮助下教自己,以及人们的建议,我对编程几乎是全新的,所以请放轻松对我,我不及时与Jargon或复杂的答案。 :)如果您需要更多信息或其他任何信息,请告诉我。
答案 0 :(得分:6)
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++ )
。但我建议不要像这样疯狂的循环,因为它们变得相当混乱。
答案 1 :(得分:0)
在for
循环中,初始化可以声明变量或为它们赋值,或者两者都有。
根据您的编译器,这些变量的范围会有所不同。例如,VC ++ 6.0会将变量的范围扩展到循环之外,并且绕过它的常用方法是可怕的:
#define for if(0){} else for
实际上,for语法是:
for(初始化;循环条件expr;循环时要运行的语句)
所有这些都可以留空。
答案 2 :(得分:0)
通常,for语句用于counter-controlled repetition
的sentinel-controlled repetition
和while语句。
•大多数for statements
可以使用等效while statements
表示,如下所示: