C语言 do-while语句
1.do-while循环的一般形式
do-while循环同while循环一样,也适合于循环次数不确定的情况,do-while循环的特点是先执行循环体,再测试条件是否成立。 do-while循环的一般形式为:
do
{
循环语句
}while(表达式);
又分为以下几种情况:
①表达式为循环控制条件,通常是关系表达式或逻辑表达式的形式,也可以是任意合法的C语言表达式。
②虽然在do-while循环中,当循环语句是一条简单语句,可以不加大括号,但还是建议不论是单条语句还是多条语句,尽量都以复合语句的形式出现,以保证程序的结构清晰。
③循环语句也可以是空语句,例如:
do
{
;
}while(i<10);
④do-while循环中while后面的“;”不可以省略。
2.do-while循环的执行过程
do-While循环的执行过程为:先执行一次循环体,遇到循环条件,计算并判断循环表达式是否为非0,如果为非0,继续执行循环体,否则结束循环。do-while循环的执行流程图如图所示。
do-while循环有三个方面需要注意:
①从流程图中可以看出,do-while循环中,哪怕从最开始时循环表达式就不成立,循环语句也至少被执行一次,例如:
int i=21;
do
{
printf ("%d\n",i);
i++;
}while(i<20);
程序中,变量i的初值为21,遇到do-while循环,先执行循环体,输出i,并使i增1。之后判断循环条件i<20是否成立,i的值此时已是22,循环条件不成立,退出循环。虽然i的值最开始就不小于20,但也执行了一次循环体。
②和while循环一样,do-while循环也在出现下列情况时退出循环:
•条件表达式不成立(为0)时。
•在循环体中遇到break语句、return语句时。
③避免程序中出现死循环,循环体中应该有使循环趋近于结束的语句,或者设置能够结束循环的循环条件。例如:
int x=0;
do
{
if (x%2==0)
printf ("%d is even number\n",x);
else
printf ("%d is not even number\n",x);
scanf ("%d",&x);
}while(x>0 && x<=100);
程序需要判断输入的0〜100之间的一组整数,哪个是偶数,哪个奇数。因循环体实现的功能是输入数据并判断奇偶数,要想结束循环,只要输入一个0〜100之外的数字即可。所以本程序的循环结束是由用户自己控制的,输入一个不符合条件的值即可结束循环。
点击加载更多评论>>