C语言:分支与循环语句(2)


前言🙌

在上一节课当中,我们主要了解了分支语句和putchar函数与getchar函数,所以,在这一节当中,我们主要是了解循环语句的用法。

1、循环语句😊

在前面我们已经了解了C语言基本上有三大结构,分别是顺序结构、分支结构、与循环结构。其中,循环结构可以大概分为三大类

  • while循环语句
  • for循环语句
  • do…while循环语句

下面我们将依次了解这三大循环结构。

2、while循环语句✌️

首先我们已经了解到了if语句的使用方法,if语句的使用方法简单来讲就是当条件满足的时候,语句会执行,当条件不满足的时候,语句则就不会执行。这个语句只会执行一次

if(表达式)
{
	语句;
	.....
}

因此我们可以用类比的方法来类比while循环语句,while循环语句的语法结构与if语句基本上类似,唯一的区别在于while语句可以判断并且执行多次,具体如下所示:

while(表达式)
{
	循环语句;
	.......
}

在具体的应用当中,比如我们想要打印数字1~10应该怎么打印呢?那么我们就可以使用while循环语句:

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

在这里插入图片描述

简单来说,while语句的执行逻辑还是比较简单的,以上面的这段代码为例子,首先我们是定义一个变量i并且把它初始化为1,其次我们进行判断,如果i小于或者等于10,便进行循环输出,最后在i输出以后在后面加1,最后进行下一次的循环,直到不满足循环条件为止,则跳出循环,程序结束。


下面呢,我们来看一下while循环语句当中的break和continue,具体的代码如下所示:

#include<stdio.h>
int main()
{
	int i = 1;//初始化
	while (i <= 10)//判断
	{
		if (i == 5)
		{
			printf("END!\n");
			break;
		}
		printf("%d ", i);
		i++;//调整
	}
	return 0;
}

接下来看一下运行结果:
在这里插入图片描述

这里呢,我们来说一下break的作用,当程序运行起来的时候,运行到“i == 5”的时候,执行break语句,实现了跳出跳出循环的功能。因此break语句在while循环当中的作用主要是:

1.在循环语句当中遇到break的时候,就停止break语句后的全部循环,实现了跳出循环的功能。
2.while语句当中的break是用于永久终止循环。


当我们了解到了break的作用之后,我们就来看一看continue的作用:

#include<stdio.h>
int main()
{
	int i = 1;//初始化
	while (i <= 10)//判断
	{
		if (i == 5)
		{
			printf("END!\n");
			continue;
		}
		printf("%d ", i);
		i++;//调整
	}
	return 0;
}

在这里插入图片描述

在这段代码当中我们可以看到,continue语句同样可以跳出循环,但是和break语句不同之处在于,continue语句只能用于跳出并且终止本次循环,也就是本次循环当中continue语句后面的代码不再执行,而是直接跳转到while语句的判断部分,进入到下一次循环的入口判断,因此,这段代码的运行结果是一个死循环。

3、 for循环语句👍

  1. 我们已经了解到了while语句的用法,接下来我们讲解一下for循环语句的用法,for循环语句相对于while语句来讲用法相对来说比较简单,三个必要的条件部分(初始化、判断、调整部分)更加明了清晰,查找和修改的时候比较方便
    for循环的语法结构:
for(表达式1;表达式2;表达式3)
{
	循环语句;
	...
}

表达式1
表达式1为初始化部分,用于初始化循环变量。
表达式2
表达式2为条件判断部分,用于判断循环时候终止。
表达式3
表达式3为调整部分,用于循环条件的调整。

同样地,我们来使用for循环语句在屏幕上面打印1~10的数字:

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

	return 0;
}

在这里插入图片描述


2.for循环当中的break和continue

在for循环当中的break和continue语句的用法基本和while循环相同,在continue当中只有一小点区别,主要在在于后面的调整部分的差异,以代码为例子来看:

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

	return 0;
}

在这里插入图片描述


3.for循环的循环控制变量
对于for循环当中的变量控制,有以下几点的建议:

1. 不可以在for循环体当中修改循环变量,以防止for循环失去控制;
2. 建议for循环语句的循环控制变量的取值采用“前闭后开的写法”

以上的两条建议,都是为了我们以后可以形成一个良好的代码风格,可以大大减少我们后期维护的工作量。

4、 do…while循环语句❤️

1.do…while循环语句的语法结构:

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

2.语句的特点:

do…while语句的特点跟while语句十分类似,但是还是有一点点不相同,不同的地方在于do…while语句是先执行后判断,因此循环语句当中的内容至少会执行一次。因此也导致其使用场景很有限,并不是很常用。

3.do…while语句当中的break和continue

在do…while语句当中也一样可以使用break和continue语句它们的意义和用法和在while循环语句当中基本相同。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值