C语言do…while语句

do…while语句是另一种循环结构,它和while语句的不同点在于,do…while语句先执行循环,然后判断循环条件是否成立。其一般形式如下:

        do
            循环语句
        while(表达式);

C语言do…while语句

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

  • 在C语言中do…while语句被称为直到型循环,它的执行特点是:先执行,后判断。
  • do…while语句执行过程:
    (1)先执行一次循环语句,然后判断表达式的值。
    (2)若表达式的值为非0,则返回(1);如果表达式的值为0,则直接退出循环语句,执行下一条语句。

示例:从键盘输入一个正整数n,计算该数的各位数之和并输出。例如,输入数是4569,则计算4+5+6+9=24并输出。
(1)求出输入正整数各位数字之和,首先要求出各位上的数字。
(2)使用do…while语句进行循环操作,循环体为:

  • n对10求余,得出个位上的数字。如:4569%10=9
  • n对10求商,使用n缩小一位,然后求高一位上面的数字,再赋值给n。
  • 每求出一个数位上的数字,使用s求和。
    如:4569/10=456,n=456。

(3)当n>0,再次执行循环体,直到n<0。

#include <stdio.h>
void main()
{
    int n, s = 0;
    printf("输入一个正整数:");
    scanf("%d", &n);
    do
    {
        s += n % 10;
        n /= 10;
    } while (n > 0);
    printf("各位数之和是:%d\n", s);
}

程序运行的结果为:

        输入一个正整数:4569
        各位数之和是:24

示例:某厂今年产量为100万元,假定该厂的产值每年增长10%,问几年后产值可以翻一番?用do…while语句计算。

#include <stdio.h>
void main()
{
    int year = 0;
    float sum = 100;
    //do…while循环
    do
    {
        sum = sum * (1 + 10.0 / 100);
        year += 1;
    } while (sum < 200);  /*如果sum的值小于100,执行do语句块*/
    printf("%d\n", year); /*输出最后的结果*/
}

运行结果为:

        8

do…while语句在表达式后面有一个分号“; ”,书写时一定要谨记。

do…while语句本身也是可以嵌套的,一般形式如下:

        do
        {
            …
            do
            {
                …
            }while();
        }while();
赞(0)

评论 抢沙发

评论前必须登录!