循环语句就类似于条件语句,通过判断控制表达式来判定是否继续做重复操作。C语言里面提供了以下几种循环语句:for语句 while语句 do-while语句 goto语句
for语句基本语法
for(初始条件;循环判断;其他操作)
{
待做事项;
}
while语句基本语法
while(循环判断)
{
待做事项;
}
do-while语句基本语法
do{
待做事项;
}while(循环判断)
goto语句基本语法(注意:这里的基本语法是指实现循环的基本语法)
标号: if(条件表达式)
{
待做事项;
goto 标号;
}
你可能要问:“只要一种语句不就够了吗?为何要弄出这么多”。这是个好问题,但每个人的喜好不太一样,你就当做这些语句是为了投其所好吧。其实,他们之间也是有细微的差别的。for语句一般用于这种需要初始化变量的循环操作,while则一般用于仅仅需要判断循环语句的循环操作,当然while也用于大部分的死循环操作,简单嘛如while(1),do-while则用于至少需要执行一次循环体的循环操作,if – goto语句则不太常用。这一讲的重点不在于这几种控制语句的基本语法形式而是下面要讲的如何适当的跳出循环体。
适当终止循环操作的三个关键字 break continue return
break;
在上一讲我们讲解switch时提到过break,在那里break则主要用于跳出switch语句体,而在循环语句中,break则主要用于跳出最近层的循环语句,就是当循环嵌套时,跳出break所在循环体。
continue;
continue则是初次相见,它主要是提前结束本次循环进入下一次循环。举个例子:
for( i = 0,temp = 0;i<10; i++)
{
if(temp > 10)
continue;
temp = temp + 2;
}
当temp == 12时,temp = temp + 2这条语句就不会执行,程序忽略它,继续下一次循环判断执行操作即执行i++并且判断i<10是否成立,实际上,这个例子中,temp的最终结果就是12
return;
return主要用于函数的返回,其实质就是根据条件相应的提前结束函数的执行,当然也就能结束循环体的执行。例如 :
for(i = 0,temp = 0;i<10;i++)
{
printf("%d\n",temp);
if(temp>10)
return 0;
temp += 2;
}
temp的最终结果任然是12;
还有最重要的一点要说明下:这一点本来是放在基本控制语句讲的,但考虑到这里还会涉及到这个概念,所以就调整至此。计算机中何为真?何为假?计算机的设计者们是这样回答这个问题的:0为假非0即为真!比如while(1),while(2)…这些都将致使while为死循环,而while(0)则致使其为假,循环体一次也不执行。while(2 >3)这个语句相当于while( 0 )。
其实循环语句也就这么多东西,举太多例子也并未见得有多大效果,把一些基本概念与大家讲明即可,难道一上来就要累加求和,递归运算吗?没必要,把最核心的东西用最简单明了的话说出来就好了。
有什么疑惑的地方留言或者叫QQ969722243都可