C基础教程之 While 和 Do-While 循环

224 阅读1分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

C 中主要有三种类型的循环。在本教程中,我们将详细介绍前两种循环。

1. C 编程中的循环是什么?

为了执行特定任务或多次运行特定代码块,LOOP 的概念出现了。

循环是给计算机的指令,它必须运行代码的特定部分给定次数。

2.While 循环

while 循环首先检查终止条件,然后决定是否进入循环。

如果基础条件为真,则它继续执行循环中的代码块。在第一次迭代之后,它再次检查变量(条件操作数)的更改(增加/减少)值并决定进一步的执行过程。

2.1. 流程图

下面的流程图将帮助您了解 while 循环的功能。

图片.png

2.2. 语法

While (condition)
{
    //Statement block
    //Increment/Decrement operation
}

2.3. While 循环示例

这是一个while循环如何工作的简单示例?这个程序打印从 1 到 10 的数字,实际上并没有使用十个 printf 语句,而是一个 while 循环。

#include<stdio.h>
#include<conio.h>
void main(){
    int n = 1;
    while(n <= 10){
        printf("%d\n\n", n);
        n++;
    }
    getch();
}

这里,printf 调用中的“\n”用于移动到下一行。

它的输出应该是这样的——

图片.png

3.Do-While循环

在这个循环中,首先执行语句块,然后检查条件。

如果基础条件为真,则控制返回到循环,否则退出循环。

3.1. 流程图

下面的流程图将帮助您了解 do-while 循环的功能。

图片.png

3.2. 语法

do 
{ 
    //语句块
} 
While(condition);

3.3. C Do-While 循环示例

这是一个使用 do-while 循环求 1 到 10 之和的简单示例

#include<stdio.h>
#include<conio.h>

void main()
{
    int i = 1,a = 0;

    do
    {
        a = a + i;
        i++;
    }
    while(i <= 10);

    printf("Sum of 1 to 10 is %d",a);
    getch();
}

它的输出应该是这样的——

图片.png

通常,do-while 循环在应用程序中不是首选,因为它首先执行语句块,然后检查条件。它冒着安全风险,就像允许未经授权的人进入设施然后询问他的 ID 一样。

以上是对 while 和 do-while 循环的解释。我们将在下一章详细了解 for 循环。

您可以在下一页执行一个练习,它可以帮助您很好地理解这两个循环。

4. C 循环练习练习

用 C 编写一个程序来将两个数字相乘,而不实际使用 *** 运算符,** 但必须同时使用 while 和 do-while 循环。

4.1. 使用while循环编程

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
    int a, b, i = 0, c = 0; 

    printf("请输入两个要相乘的数字:"); 
    scanf("%d %d",&a, &b); 

    while(i < b) 
    { 
        c = c + a ; 
        我++; 
    } 

    printf("这些数的乘积是%d", c); 
    获取();
}

4.2. 使用 do-while 循环编程

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
    int a, b, i = 0, c = 0; 

    printf("请输入两个要相乘的数字:"); 
    scanf("%d %d",&a, &b); 

    做
    { 
        c = c + a ; 
        我++; 
    } 
    while(i < b); 

    printf("这些数字的乘积是 %d", c); 
    获取();
}

请记住,在 do-while 循环中,分号总是在 while 语句之后,而不是在 while 循环中。

输出:

请输入两个要相乘的数字:3 4
这些数字的乘积是 12