C语言程序设计-[9] do while语句循环结构

 1、do while语句循环结构定义

do while语句循环结构的一般形式、流程图和执行过程如下:

注1:与前面一样,表达式可以是任意的,只要有值就行,遵循非0即真的原则。

注2:一个循环结构由四个要素构成:循环初始条件、循环判定条件、循环体和循环修正条件。循环初始条件就是循环结构的一些变量定义和初始化值设置,在上图语句的前面。循环判定条件就是上图中的判定表达式。循环体就是循环执行部分,包含在上图中的语句中。循环修正条件就是为了进入下一轮循环,需要改变循环条件,包含在上图中的语句中。

注3:do while语句循环结构中while(表达式)后面有一个;号,而while语句循环结构中while(表达式)后面是没有这个;号的,这个初学者经常会弄错的。

2、do while语句循环结构示例

还是上面那个题目:求1+2+3+...+100的值。

根据上述定义和注解,我们对于这个问题,首先分析其个要素如下:

循环初始化条件:i=1, sum=0;  //从上面问题来看,主要有要加的数(第一个为1,即i=1)和加的结果(在加之前结果为0,即sum=0)。

循环判断条件:i<=100;  //从上面问题来看,要加的数是从1~100的,也就是小于等于100的数就要加起来,即i<=100。

循环体: sum+=i;  // 从上面问题来看,对于每一个从1开始且小于等于100的数都要加起来,即每个i都要加进sum中,即sum+=i。

循环修正条件: i++;   //从上面问题来看,每一个加进sum的数是变化的,所以i要+1,即i++。

有了这个四素,接下来就是套用do while语句循环结构的一般形式就行,具体代码如下:

#include "stdio.h"

int main()
{
	int i=1, sum=0; //循环初始条件 
	do{
		sum+=i;     //循环体 
		i++;        //循环修正条件 
	}while(i<=100);   //循环判定条件,另外这个;号不能少。
	printf("1+2+3+...+100=%d",sum);
	return 0;
}

https://i-blog.csdnimg.cn/direct/d22822d5998e4e21a873908cc2bd6589.png

3、与while语句循环结构的最大区别

从上面来看,do while语句循环结构除了形式上(把循环判定条件放在最后),好像与while语句循环结构没啥区别,输出结果也是一样的。

其实不然,do while语句循环结构在首次循环判定条件为假的情况下,至少执行一次循环体,而while语句循环结构不会。

还是上面那个问题,当i初始化值为101时,两个代码输出的结果就不一样。

(1)while语句循环结构

#include "stdio.h"

int main()
{
	int i=101, sum=0; //循环初始条件 
	while(i<=100)     //循环判定条件
	{
		sum+=i;     //循环体 
		i++;        //循环修正条件 
	}    
	printf("1+2+3+...+100=%d",sum);
	return 0;
}

(2)  do while语句循环结构

#include "stdio.h"

int main()
{
	int i=101, sum=0; //循环初始条件 
	do{
		sum+=i;     //循环体 
		i++;        //循环修正条件 
	}while(i<=100);   //循环判定条件 
	printf("1+2+3+...+100=%d",sum);
	return 0;
}

注:这个在有些至少需要执行一轮循环体的情况下适用。

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值