• 作者:老汪软件技巧
  • 发表时间:2024-10-06 21:01
  • 浏览量:

typora-root-url: C:\Users\吴嘉裕\Pictures\Screenshots

循环语句1.介绍

循环语句用于重复执行一段代码,当达成特定条件时,才会停止循环,而在编程中有着不可估量的作用,它可以帮助我们减少手动一个一个的计算而带来的时间消耗

循环语句包括了3种:

1.while

2.for

3.do while

2.while语句

while的基本使用是

while(条件)
{
  语句块;
}

下面就为大家举个例子

通过输入两个数字,寻找该两个数字的最大公约数

例如:

输入:16 24

输出:8

为了实现这个功能,就需要我们使用循环(达到辗转相除法的目的)

#include int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    int c;
    while(c=a%b)//因为在编程中,当循环为假时便会停止,所以当c为0,也就是a%b为零时,便找到了最大公约数:b
    {
        a=b;//通过交换达到辗转相除
        b=c;
    }
    printf("%d\n",b);
    return 0;
}

再举一个简单的例子:

寻找1~100间3的倍数

#include int main()
{
    int i=1;
    while(i<=100)
    {
        if(i%3==0)
        {
            printf("%d\n",i);
        }
        i++;
    }
    return 0;
}

从上面的两个例子,我们也能大致了解while的用法了

除此之外,我们得了解其作用机理

那么就可能存在下面的问题:

导致这种差别的主要原因是while循环的运行机理

3.for语句

for循环语句是编程中最常用的循环语句,它的用法简单,且能很好地做到嵌套式的循环

c语言中循环语句的语法格式_c语言循环语句实例解释_

for的使用方法:

for(初始化及数据类型;判断范围;每次循环是增加还是减少)
{
    语句块;//语句块中可以继续增加循环
}

接下来举一个例子:

判断一个数字是否为质数

#include int main()
{
    int num;
    scanf("%d",&num);
    for(int i=2;iif(num % i != 0)
        {
            printf("%d是质数\n",num);
        }
    }
    return 0;
}

再举一个例子:

列出100~200间的质数

#include
#includeint main()
{
    for (int a = 100; a <= 200; a++)
    {
        for (int b = 2; b <= sqrt(a); b++)
        {
            if (a % b == 0)
            {
                break;
            }
            else
            {
                printf("%d", a);
                break;
            }
        }
    }
    return 0;
}

对此我们可进行拓展:

计算1!+......10!

#include 
​
int main()
{
    int ret=1;//阶乘
    int sum=0;//总和
    for(int i=1;i<=10;i++)
    {
        ret=1;
        for(int j=1;j<=i;j++)
        {
            ret*=j;
        }
          sum+=ret;
    }
    printf("%d\n",sum);
    return 0;
}

当然上面判断质数的方法可以进行一次优化,但在这里就不进行更进一步的说明了

接下来,我先为大家展示一下for的运行机理

这个可以证明运行机理:

由此可见,在for循环中,初始化只进行了一次,之后全是判断和之后的增加

所以就有了下面:

这更加证明了for的运行机理

4.do while语句

do while语句是循环语句中最不常见的,它的基本用法是:

do
{
    语句块;
}
while(判断条件);

从上面很清楚的知道,无论判断条件如何,该循环至少会进行一次,这也是为什么比较罕见的原因,因为其余的两个循环能覆盖的范围和做的事更多

下面我简单的举一个例子:

#include int main()
{
    int i=1;
    do
        printf("%d\n",i);
    while(0);
    return 0;
}

这也就能看出即使为假,但也会进行一次循环

正因为其工作原理,也出现了这种情况:

总结:循环语句能够重复执行某段代码,应用得当能够为我们节约大量时间,并且每个代码都有自己独特的工作机理和特性