C 语言中的 While 循环

C 语言中的 while 循环用于重复执行一个语句块指定的次数,直到给定条件为 False。While 循环以条件开始,如果条件为 True,则执行其内部的语句。如果给定条件为 False,它将一次也不会执行。这意味着 while 循环可能运行零次或多次,其语法如下:

C 语言 While 循环语法

While 循环的语法如下:

While( Condition )
 {
   statement 1;
   statement 2;
    ………….
 }
This is the statement Outside the block but inside the main() Function

首先,编译器会检查 C 语言 While 循环内的条件。如果条件为 True,块下的语句或语句组将被执行。如果条件为 False,编译器将跳出循环并执行 while 循环外的其他语句。

对于 while 循环内只有单个语句的情况,不需要使用花括号。但是,如果我们对多个语句省略了花括号,编译器将只执行第一个语句。始终使用花括号是一个好习惯。

While 循环流程图

以下截图展示了 C 语言中 While 循环的流程图。

在开始时,While 循环会检查条件。

  1. 如果条件为 True,那么它将执行其内部的语句。
  2. 接下来,我们必须在循环内部使用递增和递减运算符来增加或减少值。请参考C 语言中的递增和递减运算符一文来理解其功能。
  3. 在值被递增后,它会再次检查条件。只要条件为 True,其内部的语句就会一直执行。
  4. 如果表达式的计算结果为 False,编译器将退出 While 循环。

让我们看一个例子以便更好地理解。

C 语言 While 循环示例

该程序允许用户输入一个小于 10 的整数值。编译器将使用这个值,将从这个值开始到 10 的所有数相加。

  1. 在这个 while 循环示例中,用户将输入任何小于 10 的值,并且 total 变量被初始化为 0。
  2. 接下来,用户输入的值将被赋给 number 变量。然后,给定的数字将与条件进行测试。
  3. 如果条件结果为 true,则该数字被加到 total 中。否则,它将退出迭代。
  4. 我们在下一行使用了 ++ 运算符来增加 number 的值。增加值后,该过程将重复进行,直到表达式结果为 False。
#include <stdio.h >

int main()
{
  int number, total=0;

  printf("\n Please Enter any integer below 10 \n ");
  scanf("%d", &number);

  while (number <= 10)
   {
     total = total+number;
     number++;
   }

  printf("\n Value of Total From the While  Loop is: %d \n", total); 
  return 0;
}

我们将要输入的数字是 number = 6。这意味着,total = 6+7+8+9+10 = 40

While Loop in C Programming Output

C 语言中的无限 While 循环

如果你忘记在 while 循环内部增加或减少值,它将无限次执行,这也被称为无限循环。例如:

#include<stdio.h> 

int main()
{
int x = 1;

while(x < 10)
{
printf("Value = %d\n", x);

}
return 0;
}
Infinite While Loop Output

这里 x 始终是 1,且 x 始终小于 10。因此,该语句将无限次执行(无穷)。现在,让我们在上面的例子中的 while 循环内添加一个递增运算符(x++)。

#include<stdio.h> 

int main()
{
int x = 1;

while(x < 10)
{
printf("Number = %d \n ", x);
x++;
}
return 0;
}

现在,当它达到 10 时,表达式将不成立。让我们看一下 C 语言编程的输出。