For/while循环使用

问题描述:

我对编程颇为陌生。我已经了解了一段时间的循环(约1个月哈哈)。我做了一些练习,到目前为止,我主要用于循环。我认为他们是一样的,因为最终,你可以用任何循环获得相同的结果。任何人都可以让我知道这件事吗?我们什么时候应该使用for循环,何时应该使用while循环。哪一个更可能陷入无限循环?谢谢For/while循环使用

for环路和while环路生成差不多下面的代码完全相同。

使用for背后的想法是当你需要某种索引或迭代器时。 A while通常用于检查简单的布尔条件。

更具体地说,如果您要循环使用for集合(数组,列表等)。如果您正在检查以查看某事物的状态何时发生变化,请使用while

最基本的循环类型是while循环;直到运行时才知道它要循环的迭代次数。 A for实际上只是一个while循环,内置了“便捷”功能。当迭代次数为可预测的常量或变量时,请使用for

通常情况下,由于您认为会终止但实际上没有的循环条件,您很可能会永久陷入while循环中。但我会根据上面指定的标准选择循环的类型。

A while循环将始终首先评估条件。

while (condition) { 
    //gets executed after condition is checked 
} 

一个for循环允许您启动计数器变量,检查条件和方式来增加您的柜台都在一行。

for (int x = 0; x < 100; x++) { 
    //executed until x >= 100 
} 
+1

这并没有真正回答楼主的问题更加清晰:“我们什么时候应该使用一个for循环,我们何时应该使用while循环哪一个更可能陷入无限循环?“ –

+0

http://rswary.hubpages.com/hub/LOOPS-in-C-Language ....此链接可能会提供一些关于循环的信息.... –

for(;expression;){/*code*/}while(expression){/*code*/}在此diguise都只是转到:

if (expression is false) goto END; 
BEGIN: 
    //code here 
if (expression is true) goto BEGIN; 
END: 

do{/*code here*/}while(expression);更像是这样的:

BEGIN: 
    //code here 
if (expression is true) goto BEGIN; 

在组装这些都会包括跳跃和标签。一个主要区别是for循环如何通过将循环的所有重要控制特性分组在一起来帮助代码的简洁性和可读性,特别是初始化,条件和增量全部组合在一起,使得像这样的一个while循环:

i=0; 
j=size; 
while(i < j){ 
    //possibly lots of code in between 
    i++; 
    j--; 
} 

将成为

for(i=0,j=size; i<j; i++,j--){ 
    //code 
} 

每当你的循环需要一个不断变化的状态变量来表达的条件使用for -loop。该语法允许声明一个变量,该变量对于循环来说是本地的,并且在每次迭代之后都可以明确地操作它。

for (unsigned i = k; i < 100; ++i) { 
    ... 
} 

比同等

{ 
unsigned i = k; 
if (i < 100) do { 
    ... 
    if (i < 100) ++i; 
    else break; 
} while(1); 
}