Bootstrap

自学第十四天----深入分支和循环语句下

目录

三.one  while循环

 关于while语句中的break

 关于whil语句e中的continue 

 三.two  for循环

 三.three   do...while()循环

四. goto语句


三.one  while循环

//while 语法结构
while(表达式)
循环语句;

比如我们打印1到100的数字,不可能直接用printf一个一个写出来

这时候就要用到while语句

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 100)
	{
		printf("%d  ", i);
		i = i + 1;
	}
	return 0;
}

 

 关于while语句中的break

break在while循环中的作用: 在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的。

 关于whil语句e中的continue 

continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,

而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

 三.two  for循环

先看看for语句的语法

for(表达式1; 表达式2; 表达式3)
循环语句;

表达式1 表达式1为初始化部分,用于初始化循环变量的。

表达式2 表达式2为条件判断部分,用于判断循环时候终止。

表达式3 表达式3为调整部分,用于循环条件的调整。

#include <stdio.h>
 int main()
 {
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
 }

那么for和while有什么区别吗

通过比较上面两个案例

可以发现在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较远,这样查找修改就不够集中和方便。

所以,for循环的风格更胜一筹;for循环使用的频率也最高。

ps:1.break和continue,他们的意义和在while循环中是一样的。 

       2. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。

 三.three   do...while()循环

语法如下

do
循环语句;
 while(表达式);

 do语句的特点: 循环至少执行一次,使用的场景有限,所以不是经常使用

循环到while结束

如:

#include <stdio.h>
 int main()
 {
 int i = 10;
 do
 {
 printf("%d\n", i);
 }while(i<10);
 return 0;
 }

四. goto语句

书上说滴:从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。

但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过 程。

例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。

goto语言真正适合的场景如下:

for(...)
 for(...)
    {
 for(...)
        {
 if(disaster)
 goto error;
        }
    }
 …
 error:
 if(disaster)
 // 处理错误情况

;