什么是 #while# #do-while# ?

循环语句

在不少实际问题中有许多具有规律性的重复操作,比如我们要算出1到10000之间所有数字加和。这个时候我们不能写一万行代码来逐一语句地实现相加运算,这个时候就需要在程序中重复地按一定规律地执行某些运算。

一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句有两种:while(包括do-while)语句与for语句。所有while(do-while)语句能表达的功能for语句全都能实现,反之亦然。while层次清晰,for方便灵活。老外多爱用while,中国人多爱用for。

while循环语句的特点

每个循环语句都由三个框架区域构成:初始化区,条件判断区,递增区。

如图4-4所示,while循环语句的流程结构都非常清晰,三个分区的位置排放非常明显:

图4-4 while语句的结构图

比如:输入任意两个整数(前面小,后面大),求2个整数之间所有整数的加和。

例4-14测试while语句的运行流程

int main()

{

int i = 90,sum = 0;

while(i<=100)

{

sum += i;

++i;//等价于i=i+1

}

printf("结果是:%d\n",sum);

return 0;

}

将以上代码输入到C语言编译器中进行编译、运行并查看打印结果:

a)先用可以先用笔算或数学家高斯的口算方法算出最终相加的结果,观察打印出来的结果是否完全一致;

b)最好能在调试模式下单步执行,观察程序进入循环体之后反复执行计算后两个变量的数值变化;

do-while循环语句的特点

do-while是while语句的一种特殊格式,特点是先执行再判断,核心运算区至少被无条件地执行一次。如图4-5所示,do-while与while语句有三点不同:

a) 上方有do关键字;

b) 条件判断区被移动到了尾部;

c)do-while循环尾部必须有分号,而while语句的尾部不需要有分号。

图4-5 do-while语句的结构

我们用do-while循环来实现上一节的思考题,实现输入任意两个整数给变量x和y,再计算出两个输入的整数之间所有整数的加和?

例4-15测试do-while语句的运行流程

#include <stdio.h>

int main()

{//包括数据录入过程都是循环的初始化区

int x,y,i,sum=0; //初始化区

printf("请输入两个整数:");

scanf("%d%d",&x,&y); //初始化区

i = x; //初始化区

do

{

sum += i;

++i;

}while(i<=y);

printf("从%d到%d所有整数的加和是:%d\n",x,y,sum);

return 0;

}

将以上代码输入到C语言编译器中进行编译、运行并查看打印结果:

a)输入数据之后,先用可以先用笔算或口算方法算出累加的结果,观察打印出来的结果是否完全一致;

b)最好能在调试模式下单步执行,观察程序进入循环体之后反复执行计算后两个变量的数值变化;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值