C语言-流程控制2——goto语句、while语句、do…while语句、for语句以及break 语句和 continue 语句

今天?p>

饕哪谌菔莋oto语句、while语句、do…while语句、for语句以及break 语句和 continue 语句

goto语句

格式:
   goto 语句的标号; //标签 

//构成循环的要素
初始条件 
使循环趋于结束的语句(操作) 
循环体 //重复被执行到的代码 
结束条件

在结构化程序设计方法主张限制使用 goto 语句,因为滥用 goto 语句将使程
序流程无规律、可读性差。
但也不是绝对禁止使用 goto 语句。一般来说,有两种用途:
(1) if 语句一起构成循环结构。
(2) 从循环体中跳转到循环体外,但在C语言中可以用 break 语句和 continue 
语句跳出本层循环和结束本次循环。goto 语句的使用机会已大大减少,只是需要
从多层循环的内层循环跳到外层循环外时才用到 goto 语句。但是这种用法不符
合结构化原则,一般不宜采用只有在不得已时(例如能大大提高效率)才使用。

while语句

格式:
	while (表达式)
	{
		语句;
	} 

含义:
判断"表达式" //条件
   真
   执行"语句"
   "语句"执行完,继续判断"表达式"  
   直到,"表达式"为假,while结束,程序继续往下   
 假 
   "表达式"为假,while结束,程序继续往下 

do…while语句

格式:
do
{
  循环体语句;
}while(表达式); //注意: 这块有分号 
含义:
 先,执行"循环体语句",
 之后,判断"表达式"
 真,继续 执行"循环体语句",
 假,while结束,程序继续往下

for语句

形式:
for (表达式1;表达式2;表达式3)
{
   循环体语句;
}   
 
含义:
step1:求解 "表达式1",
step2:判断 "表达式2",
   		真
  		step3:执行 "循环体语句"
   		step4:求解 "表达式3" 
    		继续 判断"表达式2"
   	    假 
     	for 循环结束,程序继续往下
for (1;2;4)
{
   3;
}   
1-->[2-->3-->4]-->[2-->3-->4]-->2
//表达式1 只会被执行一次 

循环的嵌套

一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。
3种循环 (while 循环、 do while 循环和 for 循环)可以互相嵌套。
(1) while() 
	{···
		while() 
			{···} 
	}
	
(2) do 
	{···
		do 
		{···} 
		while(); 
	}
	while();
	
(3) for(;;) 
	{ 
		for(;;) 
			{···} 
	}

(4) while() 
	{···
		do 
		{···}
		while();
		···
	}
	
(5) for(;;) 
	{···
		while() 
			{···} 
		···
	}

(6) do 
	{ 
		···
		for(;;) 
			{···} 
	}
while();

break 语句和 continue 语句

break 语句:
在switch中:
break 语句可以使流程跳出 switch 结构继续执行
switch 语句下面的一个语句。
break 语句的一般形式为:
		break; 
break 语句不能用于循环语句和 switch 语句之外的任何其他语句中。

continue 语句:
一般形式为
		continue; 
其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,
接着进行下一次是否执行循环的判定。


continue 语句和 break 语句的区别是: 
continue 语句只结束本次循环,而不是终止整个循环的执行。
break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。