C语言中的循环控制语句
在C语言中,一共有三种程序结构:顺序结构、选择结构(分支结构)和循环结构。顺序结构,从头到尾一句接着一句的执行下来,直到执行完最后一句;选择结构,到某个节点后,会根据一次判断的结果来决定之后向哪一个分支结构执行;循环结构,是指在程序中需要反复执行某个功能而设置的一种程序结构。循环变量、循环体和循环终止条件组成。
本片文章主要讲述循环结构。
循环结构由循环变量、循环体和循环终止条件组成。对于循环结构说,关键在于根据判断的结果,来决定循环体执行多少次,或是根据循环体中的条件,判断是继续执行某个功能还是退出循环。循环结构主要有while循环语句、do-while循环语句和for循环语句。
一、while循环语句
1.while 循环语法结构
while(表达式)
循环语句;
2.while循环举例
#include
int main()
{
int i=1;
while(i<10)
{
printf("%d\n",i);
i++;
}
return 0;
}
3.while循环运行结果
4.while循环执行过程
(1)计算while后面括号里表达式的值,若其结果非0,则进入循环体,否则直接执行循环体下面的语句;
(2)如果表达式结果非0,执行循环结束后,继续判断表达式的值;
(3)退出循环,执行循环体下面的语句。
注:while循环由于是先执行判断后再执行循环体,所以循环体可能一次都不执行。循环体可为空语句“ ; ”。
二、do-while循环语句
1.do-while 循环语法结构
do
循环语句;
while(表达式);
2.do-while循环举例
#include
int main()
{
int i=10;
do
{
printf("%d\n",i);
}while(i<10);
return 0;
}
3.do-while循环运行结果
4.do-while循环执行过程
(1)执行循环体;
(2)计算while后面括号里表达式的值,若其结果非0,则继续执行循环体,否则退出循环;
(3)退出循环,执行循环体下面的语句。
注:do-while循环语句最后的分号( ; )不可少,负责提示出错。循环体至少执行一次。
三、for循环语句
1.for循环语法结构
for([表达式1];[表达式2];[表达式3])
循环语句;
注:
表达式1:一般为赋值表达式,给控制变量初始化赋值;
表达式2:关系表达式或逻辑表达式,判断循环终止条件;
表达式3:一般为赋值表达式,调整控制变量的增减;
循环语句:循环体,当有多条循环语句时,必须使用复合语句。
2.for循环举例
#include
int main()
{
int i=0;
//for(i=1/*初始化*/;i<=10/*判断部分*/;i++/*调整部分*/)
for(i=1;i<=10;i++)
{
pritnf("%d\n",i);
}
return 0;
}
3.for循环运行结果
4.for循环执行过程
(1)首先计算表达式1,然后计算表达式2。
(2)若表达式2的值为真,则执行循环体;否则退出for循环,执行for循环后的语句。
(3)如果执行了循环体,则循环体梅执行一次,都要计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的值为假,退出循环。
注:for循环语句的三个表达式都是可以省略的,但分号“ ; ”绝对不能省略。
5.for循环的其他语法结构
(1)for( ; ; )
循环语句;
(2)for( ;表达式2;表达式3)
循环语句;
(3)for(表达式1;表达式2; )
循环语句;
(4)for(i=1,j=10;i
循环语句;
四、while循环语句、do-while循环语句和for循环语句的比较
同一个问题,往往既可以用while循环语句解决,也可以用do-while或者for循环语句来解决,但在实际应用中,应该根据具体情况来选择用不同的循环语句。选用的一般原则是:
(1)如果循环次数在执行循环体之前就已确定,一般用for循环语句。如果循环次数是由循环体的执行情况来确定的,一般用while循环语句或者do-while循环语句;
(2)当循环体至少执行一次时,用do-while循环语句,反之,如果循环体可能一次也不执行,则用while循环语句;
(3)三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的时,各循环必须完整,相互之间绝不允许交叉。