位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 do-while语句

提问人:刘团圆发布时间:2020-11-30

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循环的执行流程图如图所示。

image.png

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之外的数字即可。所以本程序的循环结束是由用户自己控制的,输入一个不符合条件的值即可结束循环。 


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部