循环语句育的用法

在我们编写代码实现一定功能时,或许会遇到输入重复的指令的情况。如果我们将代码重复编写会太过麻烦,又或者是重复次数太多而不太现实。这时我们就需要运用循环语句,来实现在满足一定条件下时可重复运行的程序。在可实现重复的循环语句中有三大类:

1.while语句  2.for语句   3.do- while语句

下面我将对三种语句进行详细解释。

1.while语句

在while语句中包含循环条件与循环语句。循环条件是指在满足条件下,进而执行循环语句。其格式为:

while(循环条件)

{

循环语句

}

例:打印满足小于输入的数字的所有奇数(while语句)

#include <stdio.h>
int main()
{
    int x;
    printf("please input a number:  ");
    scanf("%d",&x);
    while(x>0)
        {
            if(x%2!=0)
                {
                    printf("%d",x);
                }
            x--;
        }    
    return 0;
}

注意:循环语句中一定要有如上图的循环变量 (x--),如果没有循环变量,则会导致循环条件一直在满足的状态下,从而导致循环体在无限循环(无限打印),我们称之为死循环。若需要使用死循环则可以在循环条件处写上1【while(1)】,意为始终为1(真),无限循环。

2.for语句

此语句与while语句功能完全相同,都是为了满足在满足一定条件下从而是循环体重复执行。不同的为,此语句更加方便观察循环变量和循环条件,因为此语句会将循环变量的初始值、循环条件、循环变量的变化值放在一起,逻辑结构清晰可见。其格式为:

for(循环变量的赋值或引用循环条件循环变量的变化条件

{

        循环语句

}

由此可见循环变量的初始值、循环条件、循环变量的变化值在for后的()全部都可以观察,因此这就是比while语句更加直观的优点。在()中的第一部分“循环变量的赋值或引用”中我们可以引用在for语句前就已经赋值的变量,也可以在这里对已经赋值的变量进行重新赋值(在循环体中会优先使用这个部分的变量赋值);第二部分的“循环条件”中与while语句中循环条件相同,在满足这个条件时,循环语句就会重复执行,也可以利用这里的循环条件进行有目的的死循环;第三部分的“”“循环变量的变化条件”与while语句中的循环变量相同,只不过这里会将循环变量从循环体中提出来放到这里的第三部分,可以更加直观的清楚for语句结构。

例:打印满足小于输入的数字的所有奇数(for 语句)

#include<stdio.h>
int main()
{
    int x;
    printf("please input a number:  ");
    scanf("%d",&x);
    for(x;x>0;x--)
        {
            if(x%2!=0)
                {
                    printf("%d",x);
                }
        }
    return 0;
}

注意:for语句中()中的循环变量的变化条件可以写在循环体中 ,但是()中的两个“;”不能省略,否则为格式错误。

3.do-while语句

此语句与while语句极其相似,都由循环条件与循环体构成,区别在于此语句的循环条件在循环体的后方,也就是说,此语句为先执行循环体在进行循环条件的判断(无论如何都会至少执行一次循环体),若不满足条件则不进行下一次循环。其格式为:

do{

循环体

}

while(循环条件)

例:打印满足小于输入的数字的所有奇数(do-while语句)

#include<>
int mian()
{
    int x;
    printf("please input a number:  ");
    scanf("%d",&x);
    do
    {
        if(x%2!=0)
            {
                printf("%d",x);
            }
    } 
    while(x>0)
    
    ruturn 0;
}

注意:因为此语句为先进行循环体后进行循环条件的判断(无论如何都至少会执行一次循环体),所以在我们与while做区分时需要注意二者在完成同一任务时,循环条件的判断有略微的差距。

  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值