C语言while语句

while语句的一般形式如下:

C语言while语句

        while(表达式)
        {
            循环语句
        }

对于while语句说明以下几点:

  • 在C语言中while语句也被称为当型循环语句,它的执行特点是:先判断,后执行。
  • while语句的执行过程:
    (1)先判断循环条件是否成立,即判断表达式是否为0。
    (2)当表达式为0时,循环不执行,跳到下一个语句。当表达式不为0时,执行循环语句,然后再转到(1)继续执行。

示例:计算100以内正整数的和。

求100以内正整数的和,就是求表达式1+2+3+…+100结果,使用while循环语句,控制循环的条件是变量i的值不大于100,只要i不大于100,就继续执行,每循环一次i的值就增加1,当i>100时,循环条件不满足,循环结束,输出结果。

#include <stdio.h>
void main()
{
    int i, sum = 0;
    i = 1;
    while (i <= 100) /*while循环语句*/
    {
        sum += i; /*依次加入*/
        i++;      /*循环一次i的值就增加1*/
    }
    printf("1+2+3+...+100=%d\n", sum); /*输出结果*/
}

程序运行的结果为:

        1+2+3+…+100=5050

在本例中,程序执行到while语句时,首先判断while语句中的条件是否满足,即i是否小于或等于100,如果条件为真,则执行循环体,否则结束循环。

示例:编一个程序,求费波那契(Fibonacci)序列:1,1,2,3,5,8,……请输出前20项。
序列满足关系式:Fn=Fn-1+Fn-2

程序分析:
(1) 通过观察费波那契(Fibonacci)序列,F=1,F2=1,以后各项都等于前两项之和,序列满足关系式:Fn=Fn-1+Fn-2。
(2) 使用程序要求输出前20 项之和,前两项已知,需要从第三项开始,因此,使用while循环,计数i从3开始,判断条件是i<=20。
(2) while循环体中,求出t=F1+F2的和为费波那契(Fibonacci)序列的第三项,然后将第二项和第三项作为第四项的前两项,计数i加1,依此类推。

#include <stdio.h>
void main()
{
    int i, t, f1 = 1, f2 = 1;
    printf("%d %d ", f1, f2);
    while (i <= 20)
    {
        t = f1 + f2;
        printf("%d ", t); /* 求出新的数 */
        if (i % 5 == 0)   /*每五项为一列输出*/
            printf("\n");
        f1 = f2;
        f2 = t; /* 对f1和f2更新 */
        i++;
    }
}

运行结果如下:

1 1 2
3 5 8 13 21
34 55 89 144 233
377 610 987 1597 2584
4181 6765 10946 17711 28657
赞(0)

评论 抢沙发

评论前必须登录!