首页 理论教育 C语言程序设计:do-while循环效果详解

C语言程序设计:do-while循环效果详解

时间:2023-10-29 理论教育 版权反馈
【摘要】:do-while语句的特点是首先无条件地执行一次循环体,然后判断条件是否成立,即“先执行,后判断”,因此do-while语句的循环体至少会被执行一次。do-while语句由do关键字开始,在“while(表达式)”后必须有分号,圆括号中的表达式是循环条件,语句是循环体。n是do-while语句的循环变量,需要在do-while语句前使用语句“n=1;”对n赋初值。用while语句求n!。

C语言程序设计:do-while循环效果详解

do-while语句的特点是首先无条件地执行一次循环体,然后判断条件是否成立,即“先执行,后判断”,因此do-while语句的循环体至少会被执行一次。

1.do-while语句的一般形式

do

 语句

while(表达式);

(1)“do”是C语言的关键字,在此语句中必须和“while”一起使用。

(2)do-while语句由do关键字开始,在“while(表达式)”后必须有分号,圆括号中的表达式是循环条件,语句是循环体。

例如:

实现1~100求和的do-while语句为:

i=1;sum=0;

do

 sum=sum+i;

 i++;

while(i<=100);

2.do-while语句的执行过程

do-while语句的执行过程如图4.7所示:

Step1:执行循环体中的语句。

Step2:求解“表达式”的值并判断。若值为非0(真),执行Step1,否则执行Step3。

Step3:结束循环,执行do-while语句下面的语句。

图4.7 do-while语句的执行过程

从do-while语句的执行过程可以看出,即使第一次求解作为循环条件的表达式的值为假,do-while语句的循环体语句也会执行一次。

2.do-while语句的使用

do-while语句在使用上与while语句十分相似,二者的区别在于while语句是先判断后执行,而do-while语句是先执行后判断。

程序内容如下:

1 #include<stdio.h>

2 int main()

3 {

4  int n,sum=0;

5  n=1;

6  do

7  {

8   sum+=n;

9   n++;(www.xing528.com)

10  }while(n<=100);

11  printf("%d\n",sum);

12  return 0;

13 }

程序结果如图4.8所示:

图4.8 例4.5程序结果图

【例题中关键问题说明】

(1)sum作为存放累加结果的变量,使用前要清零。

(2)n是do-while语句的循环变量,需要在do-while语句前使用语句“n=1;”对n赋初值。

(3)“while(n<=100)”后的分号注意不要漏掉。

(4)程序中的“n++;”是在程序的执行过程中使循环条件趋向不成立的语句,应该作为循环体中的内容,所以需要和反复执行的语句“sum+=n;”放在一对花括号内组成一条复合语句。

【例4.6】用while语句求n!。

程序内容如下:

1 #include<stdio.h>

2 int main()

3 {

4  int i,n,s=1;

5  scanf("%d",&n);

6  i=1;

7  do

8  {

9   s=s*i;

10   i++;

11  }while(i<=n);

12  printf("s=%d\n",s);

13  return 0;

14 }

程序结果如图4.9所示:

图4.9 例4.6程序结果图

【例题中关键问题说明】

(1)变量i是本程序中的循环变量,需要在do-while语句前使用“i=1;”语句对i赋初值,循环结束时i的值为“n+1”。

(2)s作为存放结果的变量,使用前要置1,因为s是定义的整型变量,存储数值的范围有限,若n的值较大,将不能输出正确的结果,要解决这个问题,可以将s定义为存储数值范围较大的类型的变量。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈