循环结构的简单shiyong

本文介绍了编程中的三种循环结构——for、while和do-while,详细阐述了它们的工作原理和应用场景。for循环适用于已知循环次数的情况,while和do-while则用于未知循环结束条件,其中do-while保证循环体至少执行一次。
摘要由CSDN通过智能技术生成

3.1 循环结构
在现实中,我们往往会重复的做一件事,直到符合某个条件就会停止。如:周一到周五,我们每天都重复着起床、上班、午休、上班、下班、回家、睡觉这个流程,而当到了周六,我们就不会继续重复了。

循环结构:程序重复执行某一个代码块,直到符合特定条件,才会结束

循环结构有3条语句:do-while语句、while语句、for语句。

3.1.1 for语句
常见形式如下:

for(赋值表达式; 条件表达式; 循环变量表达式)

  {

         循环体;

  }

原理:

1.首先执行赋值表达式(1次for语句执行过程中,只执行1次)

2.计算出条件表达式的值,判断真假

3.如果为真,则执行循环体,然后执行循环变量表达式,然后再回到第2步

  4.如果为假,则 for 语句结束,执行其下一条语句

说明:

赋值表达式:为变量付初值

  条件表达式:能够让循环结束的条件,控制循环次数

  循环变量表达式:能够让循环结束的语句(自增减)

注意:

  for()后面不能有分号,否则循环体中的内容会默认成顺序结构只执行一次

for(表达式1;条件;表达式2),表达式1与表达式2以及条件都可以是多条语 句但是要用逗号隔开;注意条件部分的表示;

for(;;)死循环

示例程序:

#include <stdio.h>

int main()

{

    int  i;

    int  sum = 0;

    //1+2+3...100;  //1~100,1

    //  for(i = 1; i <= 100; i++)

    //  {

             //  sum = sum + i;

    //  }

    //  printf("sum = %d\n",sum);

    //  printf("i = %d\n",i);

//============================================

     i = 1;

     for(; i <= 100; )   //while(i<=100)

     {

              sum = sum + i;

              i++;

     }

     printf("sum = %d\n",sum);

     printf("i = %d\n",i);

   

    //for适合循环次数可知,范围要求,

    //只知道结束的条件,while,do-while适合

//=================================================

    //n!=  1*2*3*...n    Sn = 10+20+30....+n*10

    sum  = 1;

    int  s = 0;

    int  j ;

    int  n;

   

    printf("请输入一个十进制数据:");

    scanf("%d",&n);

    //如果赋值表达式和循环变量表达式是多条语句的时候,可以使用逗号隔开

    for(j  = 1,i = 10;j <= n; j++, i+=10)

    {

             sum  = sum *j;

             s  = s + i;

    }

    printf("%d!  = %d\n",n,sum);

    printf("s  = %d\n",s);

}

注意:

  1. 赋值表达式,可以省略,但是条件表达式中变量要有明确的值

  2. 条件表达式,可以省略,但是会变成死循环

  3. 循环体也可以省略,如果不加分号,也没有{},默认往下结合一条语句          
  1. 循环变量表达式可以省略,但对是否是无限循环没有影响

    1. for(; ;)中两个分号不能省略。for(; ;)也能表示无限循环,但不常用。

3.1.2 while语句
常见形式如下:

while(条件表达式)

{

循环体;

}

原理:

  1.计算出表达式的值,判断真假

  2.如果为真,则执行循环体,然后回到第1步,如果为假,则 while 语句结束

3.标准死循环,while(1)

示例程序:

int main()

{

    int  a;

   

    printf("请输入一个分数:");

   

    scanf("%d",&a);   //0~99

   

    while(a  < 0 || a > 99)

    {

             //1)当输入不符合程序要求,显示数据有误,直接结束程序,return;

             //printf("数据范围有误\n");

             //return  0;     //在主函数中一般返回0

                                         //结束程序

             

             //2)当输入的输入不符合要求,提示用户重新输入,--->重新比较,---重新输入。重新比较

             printf("数据范围有误,请重新输入:");

             scanf("%d",&a);

    }

    …….

}

示例2:

3.1.3 do-while语句
常见形式如下:

do

{

       循环体;                     // 重复执行的代码块

}while(条件表达式); // 这里有分号,表示语句的结束

原理:

  1.执行循环体

2.计算出表达式的值,判断真假

  3.如果为真,则回到第1步

  4.如果为假,则 do-while 语句结束

#include <stdio.h>

int main()

{

  int a;



  do

  {

         printf("请输入一个分数:");

         scanf("%d",&a);

  }while(a < 0 || a > 99);

}

总结:

for循环跟while语句:

for循环适合于循环次数可知的情况

while语句适合于循环次数不可知的情况,只知道最终结束的条件

标准的死循环:while(1)

while语句跟 do-while语句

while语句先判断条件是否成立,如果成立则执行循环体,循环体有可能一次也不执行

do-while语句,先执行循环体,然后在判断条件是否成立,循环体至少执行一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值