【C语言】循环语句 while、for、do-while

文章目录

目录

前言:

1.   while循环

     1.1 break和continue在while循环中的使用

2.  for循环

     2.1 语法

     2.2  执行流程图

     2.3  break在for循环中的使用

     2.4  continue在for循环中的使用

     2.5   一些for循环的变种

 3.    do while循环

      3.1  dowhile语法

      3.2  执行流程图

      3.3  do-while循环中的break和continue

         4.总结


前言:

何为循环?

C语言的循环语句包括三种:while、for、do-while

接下来我将对其三种循环做出解释。

1.   while循环

while(循环条件)//条件为真,执行循环语句

{

//循环体

}

通过代码来了解

Q:使用while循环打印1~10


int main()
{
	int i = 1;//初始化
	while (i <= 10)//判断
	{
		printf("%d ", i);
		i++;//调整
	}
	return 0;
}

运行结果

这个例子很清晰明了的给我们展示了while循环的语法使用。

1.1 break和continue在while循环中的使用

通过代码来了解

Q:看这段代码,它的执行结果是什么呢?


int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
			break;
 
        
		printf("%d ", i);
		i++;
	}
	return 0;
}

答案是:

1 2 3 4  

原因是:我们看到在判断到i = 5时,就不会再循环了。所以,break在循环中被执行时会直接跳出循环。

了解了break,再了解continue就非常简单了。

我们来看continue的实际应用来加强对continue的理解

Q:看这段代码,它的执行结果是什么呢?

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
			continue;
 
        
		printf("%d ", i);
		i++;
	}
	return 0;
}

答案是:

 我们看到的结果是1~4死循环。

原因是:continue在循环中被执行不会跳出循环,只会跳过continue后面的代码,进入到while的判断部分,进入下一次循环。

2.  for循环

在实际写代码的时候,for循环使用次数要比while循环多
原因是:在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较远,这样查找修改就不够集中和方便。所以,for循环的风格更胜一筹;for循环使用的频率也最高。                                                                                                                 

 2.1 语法

for循环语法

for(表达式1; 表达式2; 表达式3)

接下来我们以例子来进一步了解for循环:

Q:使用for循环来打印1~10


int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)//i=1为初始化部分;i<=10为判断部分;i++为调整部分。 
	{
		printf("%d ", i);
	}
	return 0;
}

执行结果为打印出1 2 3 4 5 6 7 8 9 10

 2.2  执行流程图

 2.3  break在for循环中的使用

Q:看这段代码,它的执行结果是什么呢?

int main()
{
	int i = 0;
	for (i = 1; i <= 8; i++)
	{
		if (5 == i)
			break;


		printf("%d ", i);
	}
	return 0;
}

 运行结果:

实际上,我们知道了breakcontinuewhile中的作用后,我们就知道了其在for中的作用。二者作用是一样的。

 原因:break在for循环中是终止循环,直接将循环结束掉,在for循环和while循环里是一样的作用

2.4  continue在for循环中的使用

先看代码示例


int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (5 == i)
			continue;
 
        
		printf("%d ", i);
	}
	return 0;
}

运行结果:

1 2 3 4 6 7 8 9 10

 原因:continue在for循环中的作用也是跳过本次循环后面的部分,但在while循环和for循环中有点差异,主要原因是两种循环的调整放在不同的地方。while循环中i无法++;而for循环中continue后i还能继续++。

2.5   一些for循环的变种

1.  在for循环中初始化,判断,调整部分都可以省略,这样就会构成死循环。

这三个条件中最重要的是判断部分,如果不写判断部分就可以构成死循环,这是因为省略掉判断部分就意味着判断恒为真,因此就会变成死循环。


int main()
{
	for (; ;)
	{
		printf("hehe\n");
	}
	return 0;
}

建议:不要轻易省略,这样会导致意外的发生。

2.  循环嵌套



int main()
{
	int i = 0;
	int j = 0;
	for (; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("hehe\n");
		}
	}
	return 0;
}

内层循环加上 j = 0 初始化部分就可以实现 打印9 个hehe 。

 3.   循环控制变量可以是多个

Q:读这段代码,给出它的结果


int main()
{
	int i = 0;
	int j = 0;
	for (i = 0, j = 0; i < 3 && j < 5; i++, j++)
	{
		printf("hehe\n");
	}
	return 0;
}

运行结果:打印了三个hehe   

因为:循环条件是i < 3 && j < 5,当任意一个条件不满足都会跳出循环

 3.    do while循环

3.1  dowhile语法

do

循环语句;

while(表达式);

//  特点:do-while语句的特点循环至少执行一次

 举例:使用do while 循环打印1~10。


int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}

3.2  执行流程图

3.3  do-while循环中的break和continue

与前面while循环与for循环是一样的。

4.总结

上述三种循环语句的使用频率从大到小依次是:
for>while>do-while

结束语:如果觉得up主写的不错,不要忘了素质三连哦

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值