C-for循环

时间:2020-02-23 14:31:55  来源:igfitidea点击:

在本教程中,我们将学习C编程语言中的for循环。

For循环类似于while循环和do-while循环。
唯一的区别是for循环更紧凑,因为它在同一位置具有初始化,条件和更新部分。

for循环的语法如下。

for (initialise; condition; update) {
  //code...
}

我们使用for关键字创建一个for循环。
for循环包含四个部分,即初始化,条件,更新和主体。

for循环的初始化部分首先执行,并且仅执行一次。

初始化部分后,检查条件部分。
如果满足条件,则执行for循环的主体。

在执行主体之后,将执行更新部分。

然后我们在更新后重新检查条件。
如果条件仍然满足,则重新执行主体,否则,我们退出循环。

在下面的示例中,我们将使用for循环打印1到10。

#include <stdio.h>
int main(void)
{
  //variable
  int i;
  
  //loop
  for (i = 1; i <= 10; i++) {
    printf("%d\n", i);
  }
  
  printf("End of code\n");
  return 0;
}
1
2
3
4
5
6
7
8
9
10
End of code

在上面的代码中,我们使用变量" i",并在for循环的初始化部分将其初始化为1。

设置i = 1之后,我们要检查条件'i

接下来,我们移至for循环的更新部分,其中我们使用增量运算符将i的值增加1。

然后我们检查条件

嵌套循环

我们可以在另一个for循环中嵌套一个for循环,从而创建一个嵌套循环。

另一个for循环内嵌套的for循环的语法。

//1st for loop
for (initialise_1; condition_1; update_1) {
  //2nd for loop
  for (initialise_2; condition_2; update_2) {
    //code...
  }
}

在上面的嵌套循环中,首先执行initialize_1,然后检查condition_1。
如果条件满足,那么我们进入第一个循环的主体。

在for循环1的主体内部,我们首先执行initialize_2,然后检查条件condition_2,如果条件满足,我们将执行第二个for循环的主体。

在执行第二个for循环之后,我们运行update_2,然后重新检查condition_2。
如果满足条件,则重新运行for-loop-2,否则,退出第二个for循环。

以下流程图将说明嵌套的for循环如何工作。

在下面的示例中,我们将使用嵌套的for循环打印给定的模式。

Pattern
1 2 3
4 5 6
7 8 9

代码

#include <stdio.h>
int main(void)
{
  //variable
  int r, c, count;
  
  //loop
  for (r = 1, count = 1; r <= 3; r++) {
    for (c = 1; c <= 3; c++, count++) {
      printf("%d ", count);  //this will print the digit
    }
    printf("\n");  //this will take us to new line
  }
  
  printf("End of code\n");
  return 0;
}
1 2 3 
4 5 6 
7 8 9 
End of code

在上面的代码中,我们有3个变量" r"," c"和" count",其中r表示行,c表示列,count是从1到9的数字的计数。

看一下给定的模式,我们可以知道有3行3列,我们从1到9计数。
因此,r从1开始到3结束。
类似地,c从1开始到3结束。
计数从1开始到9结束。

因此,在initialize_1部分中,我们将设置" r = 1"和" count = 1"。

然后我们检查一下condition_1,即r<=3

然后我们进入第一个for循环的主体。
在它里面,我们有第二个for循环。

因此,在initalise_2部分中,我们设置c = 1,然后检查condition_2,即c <=3

在第二个for循环的主体内部,我们正在打印count的值。

然后我们执行update_2,即,将c的值增加1,并将其计数为1。

当不满足condition_2时,我们退出第二个for循环并执行update_1,即,将r的值增加1并重新检查condition_1。

仅当还不满足condition_1时,才退出1 for循环。