有人可以用最简单的术语解释什么是“for”循环?

时间:2015-02-10 01:12:59

标签: c for-loop

我正在努力学习编码,但我无法理解#34; for"循环。

if / else if / else语句很简单。

if (this is true) {
do this.

else [otherwise, but] if (this is true) {
do that.

else
do this.

"而"和"做/同时"循环也很容易。

while (this is is true) {
do this.

do this {
}

while (this is true).

现在,我知道" for"的结构。循环:(开始,结束,增量)。我甚至可以制作一个适用于基本问题的工具。但是,我不知道计算机在想什么。"我不能像其他人一样把它用于基本的英语术语。任何帮助将不胜感激。

7 个答案:

答案 0 :(得分:4)

基本

For循环是数字上下文中的循环。

而不是写这个:

x = 0;
while (x < 5) {
  x++;
}

你可以这样写:

for (x = 0; x < 5; x++)

语法

哦,部分内容如下:

for (start; condition; increment)

它们的含义如下:

  1. 开始或初始化是初始变量。
  2. 条件的作用类似于while语句中括号中的部分; for的身体将继续执行,直到变为假。
  3. 增量或更新是变量的变化方式;没有它,循环无限期地运行。

答案 1 :(得分:1)

for循环只是意味着您指示程序重复执行操作。

行动是什么?无论你决定它是什么。

你做了多少次? for循环指定的次数相同。

你做什么的?这也是你指定的东西。

示例:

for(i in 1:nrow(x)){
  x[i,3] <- "A"
}

在R.中循环for循环。它表示对于第1行到名为x的对象的最后一行,使第3列成为字符&#34; A&#34;。

操作为<- "A",表示分配字符A的值。

多少次这样做? 1:nrow(x)

该怎么办? x[i,3]

另一个例子:

for(i in 1:10){
    a[i] <- TRUE
 }

此处的操作是指定值TRUE

这样做的次数是(对)1到10(即1,2,3,4,5,6,7,8,9,10)。

该怎么办?对象a的元素。

答案 2 :(得分:0)

基本上,计算机正在寻找一个值列表,并且正在说“无论你放入循环中,我都要对此列表中的每个项目执行一次”。就这样 “对”。

令人困惑的是,您经常看不到计算机正在使用的“列表”。 for循环的格式因编程语言而异,但在您的情况下,请考虑您正在使用的示例:

for (x = 0, x < 4, x ++){
    print(x)
} 

你可以想到有一个从0开始的数字列表,并且步长为1,运行到4。

因此,计算机正在考虑“对于值列表0,1,2,3中的每个值,我将在循环中执行操作”。

答案 3 :(得分:0)

for循环只是while循环的通用结构的便捷表示法。

考虑像这样构造的while循环(一个非常常见的用例):

int i = 0;
while (i < size) {
    float value = arrayOfValues[i];

    // do something with the value

    i = i + 1;
}


以下for循环执行相同的操作,但它只是简化了一些代码,并且在某些语言(如java)中缩小了i到循环的范围。

for(int i = 0; i < size; i = i + 1){
    float value = arrayOfValues[i];

    // do something with the value
}


在某些语言(例如java)中,符号的进一步简化如下:

for(float value:arrayOfValues){
    // do something with the value
}

答案 4 :(得分:0)

在C ++中,for构造非常有用。 for循环在()中有三个字段。它们是初始化,测试(这是暂时工作的部分)和增量字段。

首次遇到for循环时,会进行初始化,但只会发生一次;之后再也不会再执行了。

然后测试条件,如果是,则执行循环体。

最后执行增量字段。通常会有一个变量增量,如x ++或类似的东西,但它可以是有效的声明。

在while语法中执行与for循环相同的操作是可能的:

int index = 0;
while( index < count )
{
  do_stuff();
  index++;
}

在for循环中它看起来像这样:

for( int index = 0 ; index < count ; index++ )
{
  do_stuff();
}

答案 5 :(得分:0)

在许多编程语言中,for循环是各种常用循环场景的简写形式,可以通过变量if if语句和while循环的组合来完成,尽管更加冗长。

每种语言都定义了自己的循环语义(或者根本没有for循环),但是有许多语言实现了两种非常常见的类型:

“setup”,“condition”,“update”循环,它通常用于迭代一定次数,更新变量以跟踪迭代的位置。在C风格的语言(例如C / C ++,Java,Javascript)中,它看起来像这样:

for(setup; condition; update)statement;

这可以使用像这样的while循环来表示:

setup;
while (condition) {
    statement;
    update;
}

在英语中,你可以把它想象成:

Perform these { setup } steps.
While { condition } is true: perform { statement } and { update }. 

如上所述,这通常用于迭代一定次数:

for (int i=0; i<10; i++) doSomethingWith(i);

每个循环的迭代集合或用于对元素集合中的每个元素执行某些操作,例如列表,数组或映射/关联数组。这种循环风格的语法在不同语言中的一致性较低,但通常采用for (element in collection) statement;

之类的形式

例如,在Java中,迭代集合采用以下形式:

for (Type obj : collectionOfObj) statement;
用英语写的东西是这样的:

for each thing in { collectionOfObj }, assign the thing to a variable named { obj } of type { Type } and then execute { statement }.

许多语言对于for循环的功能有不同的语法或略有不同的规则。有些语言旨在允许程序员使用语言本身构建不同的循环结构。我建议你阅读你正在使用的语言的结构,如果你理解的话,你可以毫不费力地习惯各种形式的for,因为你需要使用它们。 / p>

答案 6 :(得分:0)

所有&#34;循环&#34;是一回事。 &#34;而&#34;循环可以替换为&#34; for&#34;循环。

int i = 0;
while (i < 10){
do something;
i++;

}

和&#34; for&#34;循环是     for(i = 0; i&lt; 10; i ++)     做点什么;