C循环种类
goto语句与if构成循环
while
do~while
for
1,goto语句: 无条件跳转语句
goto 语句标号;
"语句标号":在C语言中,把一个名字(标识符)与某一行的地址相关联。
格式为在一行的开始处定义一个名字,然后加一个':'
loop:
n++;
goto loop;
作用:
(1)与if语句向上跳转构成循环结构
(2)向后跳转可以跳出多重循环体等结构
注意:goto语句本身是没有问题的,但是goto语句是无条件跳转,应用太灵活,
会使程序的可读性变差,应限制使用goto语句来实现循环。
2,while
while(表达式)
语句
当表达式的值为真(非0),就执行"语句",否则跳过while循环体,当进入循环体
执行完语句后,再重复判断表达式的值,...
"表达式":C语言任意合法的表达式都可以
"语句":while的循环体语句,重复执行的语句。
单语句: 只有一个分号
复合语句: {}
3,do~while
do
语句
while(表达式);
先执行一次循环体语句,然后再判断表达式的值,如果表达式的值为真(非0),
就再执行循环体语句,...直到表达式的值为0,那么结束do~while循环体。
"表达式":C语言任意合法的表达式都可以
"语句":while的循环体语句,重复执行的语句。
单语句: 只有一个分号
复合语句: {}
4, for
for(表达式1;表达式2;表达式3)
语句
★执行过程:首次进入for循环体先执行表达式1,再判断表达式2的值,若值为真,
执行循环体语句,最后执行表达式3,一个循环结束。从第二次循环起就不再执行
表达式1了,直接判断表达式2的值,若值为真继续循环,若为假,则跳出for循环。
for循环体完全等效于如下的while循环体
表达式1;
while(表达式2)
{
语句;
表达式3;
}
唯一的区别是for循环体中的表达式123都可以为空,其中表达式2为真,则表示判断条件
永远为真,而while里的表达式2不能为空。
eg:
int i;
for(i=0;i<5;i++)
{
printf("%d ",i);
}
★while循环与for循环的区别:一般来说,while更注重循环条件,for更注重于循环次数,
当然他们时可以相互替换的。
★循环的嵌套
int i,j;
int a=0;
for(i=0;i<5;i++)//外循环
{
for(j=0;j<4;j++)//内循环
{
printf("i=%d,j=%d,a=%d\n",i,j,a++);
}
}
5,break语句
(1)用于switch语句中,用于提前跳出switch语句
(2)用于循环体中(while/do~while/for),用于跳出它所属的循环
6,continue
continue语句只能用于循环体中(while/do~while/for),用于提前结束本次循环,
继续下一次循环。