zoukankan      html  css  js  c++  java
  • do-while语句及for语句(初学者)

    1、do-while语句的一般形式为:

    do

      语句

    while(表达式);

    这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断这个表达式是否为真,如果为真则继续循环;如果为假,则中止循环。因此do-while语句至少要执行一次循环语句。

    例:

    #include<stdio.h>
    
    void main()
    {
        int i,sum=0;
        i=1;
        do 
        {
            sum=sum+i;
            i++;
        }
        while(i<=100);
        printf("%d",sum);
    }

    区分while语句与do-while语句

    #include<stdio.h>
    
    void main()
    {
        int i,sum=0;
        scanf("%d",&i);
        while(i<=10)
        {
            sum=sum+i;
            i++;
        }
        printf("%d",sum);
    }
    #include<stdio.h>
    
    void main()
    {
        int i,sum=0;
        scanf("%d",&i);
        do
        {
            sum=sum+i;
            i++;
        }
        while(i<=10);
        printf("%d",sum);
    }

    注:一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始为“假(0)”时,两种循环的结果不同。这是因为此时while循环的循环体不被执行,而do-while循环的循环体被执行一次。

    2、for语句

    在C语言中,for语句使用最为灵活,它完全可以取代while语句。它的一般形式为:for(表达式1;表达式2;表达式3)

    过程如下:

    (1)先求解表达式1;

    (2)求解表达式2,若值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3步;若值为假(0),则循环结束,转到第5步;

    (3)求解表达式3;

    (4)转回上面第二步继续执行。

    (5)循环结束,执行for语句下面的一个语句。

    理解:for(循环变量赋初值;循环条件;循环变量增量)语句

    #include<stdio.h>
    
    void main()
    {
        int i,sum=0;
        for(i=1;i<=100;i++)
        {
            sum=sum+i;
        }
        printf("%d",sum);
    }

     注意:(1)for循环中的“表达式1(循环变量赋初值)“、”表达式2(循环条件)“、”表达式3(循环变量增量)“都是选择项,即可以缺省,但”;“不能缺省。

    (2)省略了”表达式1(循环变量赋初值)“,表示不对循环控制变量赋初值。

    (3)省略了”表达式2(循环条件)“,则不做其他处理时便成为死循环。

    例:for(i=1;;i++)

      {

        sum=sum+i;

      }

    (4)省略了”表达式3(循环变量增量)“,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。

    例:for(i=1;i<=100;)

      {

        sum=sum+i;

        i++;

      }

    (5)3个表达式都可以省略。

    例:for(;;)语句相当于while(1)语句(死循环)

    (6)表达式1可以是设置循环变量的初值的赋值表达式额,也可以是其他表达式。

    例:for(sum=0;i<=100;i++)

        sum=sum+i;

    (7)表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。

    例:for(sum=0,i=1;i<=100;i++)

        sum=sum+i;

      for(i=0,j=100;i<=100;i++,j--) 

        k=i+j;

    (8)表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非0,就执行循环体。

    例:for(;(c=getchar())!=' ';)

      {

        printf("%c",c);

      }

  • 相关阅读:
    基础DP(初级版)
    UVA-816.Abbott's Tevenge (BFS + 打印路径)
    1044: 数圈
    1049: 打牌
    1047: 小A的计算器
    1046: 最小的K个数
    1045: 愚人节的礼物
    1044: 数圈
    1043: 绩点计算
    1042: 小丑排序
  • 原文地址:https://www.cnblogs.com/lvfengkun/p/10269065.html
Copyright © 2011-2022 走看看