Menu Close

C语言的Do-While 循环语句

do-while循环与while循环类似,除了条件始终在循环主体之后执行。 也称为出口控制循环。

正如我们在while循环中看到的那样,当且仅当条件为true时,才执行主体。

在某些情况下,即使条件为假,我们也必须至少执行一次循环主体。 这种类型的操作可以通过使用do-while循环来实现。

 

do-while循环与while循环类似,除了条件始终在循环主体之后执行。 也称为出口控制循环。

正如我们在while循环中看到的那样,当且仅当条件为true时,才执行主体。 在某些情况下,即使条件为假,我们也必须至少执行一次循环主体。

这种类型的操作可以通过使用do-while循环来实现。

do while循环的基本格式如下:

do {
statements
} while (expression);

在do-while循环中,循环主体始终至少执行一次。 执行主体后,将检查条件。 如果条件为真,则它将再次执行循环的主体,否则控制权将移出循环。

与while循环类似,一旦控件退出循环,将立即执行循环之后的语句。

如果利用do-while语句计算一到一百的和,算法为:

例1.计算1到100的和

main()
{
    int i,sum=0;
    i=1;
   do
   {
      sum=sum+i;
      i++;
    }
   while(i<=100);
   printf("%d\n",sum);
}

while和do-while循环之间的关键区别在于,在while循环中,while是在开始时写入的。

在do-while循环中,while条件写在最后,并以分号(;)终止

下面的程序说明了do-while循环的工作方式. 我们将使用do while循环打印偶数数字。

例2:打印出20以内的偶数

#include<stdio.h>
#include<conio.h>
int main()
{
    int num=1;    //initializing the variable
    do    //do-while loop 
    {
        printf("%d\n",2*num);
        num++;        //incrementing operation
    }while(num<=10);
    return 0;
}

在上面的示例中,我们使用do-while循环语句打印出了偶数表。 让我们看看该程序是如何运行的。

以上程序是如何工作的?

  • 首先,初始化变量’num’为1。然后,我们编写了一个do-while循环;
  • 在每一个循环中,我们有一个打印功能,打印出num的值乘以2;
  • 每次增加后,num的值将增加1,并将该数乘于2打印在屏幕上;
  • 当num的值变为10以后,该循环将终止,并在循环之后立即执行一条语句。

例3.

// Program to add numbers until the user enters zero

#include <stdio.h>
int main() {
  double number, sum = 0;

  // the body of the loop is executed at least once
  do {
    printf("Enter a number: ");
    scanf("%lf", &number);
    sum += number;
  }
  while(number != 0.0);

  printf("Sum = %.2lf",sum);

  return 0;
}

在这里,我们使用了一个 do…while 循环来提示用户输入一个数字。只要输入数字不为 0,循环就会起作用。

do…while 循环至少执行一次,即第一次迭代运行时不检查条件。仅在执行第一次迭代后检查条件。

结果

Enter a number: 1.5
Enter a number: 2.4
Enter a number: -3.4
Enter a number: 4.2
Enter a number: 0
Sum = 4.70
do {
    printf("Enter a number: ");
    scanf("%lf", &number);
    sum += number;
}
while(number != 0.0);

因此,如果第一个输入是一个非零数字,则将该数字添加到 sum 变量中,并且循环继续到下一次迭代。重复此过程,直到用户输入 0。

但如果第一个输入为 0,则循环不会进行第二次迭代,并且 sum 变为 0.0。

在循环之外,我们打印 sum 的值。

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in C语言教程

Related Posts