【C语言】循环语句详解

目录

前言

循环语句

while循环

while循环中的break

while循环中的continue

for循环

for循环中的break

 for循环中的continue

 do while循环:

do while循环中的break

do while循环中的continue


前言

        上一篇博客【C语言】分支语句详解中介绍了C语言的语句种类,详细讲解了C语言控制语句中的分支语句(也叫条件判断语句),这篇博客将带领大家学习C语言种另一种重要的语句即控制语句中的循环语句。

循环语句

        在C语言种一共有三种循环语句分别是:

        ⭐while循环

        ⭐for循环

        ⭐do while循环

        下面我们将逐个进行学习

 循环语句流程图:

【C语言】循环语句详解_第1张图片

while循环

 while循环的执行流程:While循环是先进入判断表达式判断为真,执行语句,然后循环变量加1,如果为假跳出循环,判断条件至少要执行一次

while循环的语法结构与分支语句中的if语句非常相似,下面我们看一下while循环的语法结构

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

 举一个例子:

#include 
int main()
{
	int i = 0;//定义一个初始变量


	while (i <= 10)//这是判断条件
	{
		printf("%d\n", i);
		i++;//调整部分
	}
	return 0;
}

初始i==0,进入while循环语句进行判断0<=10为真所以执行循环语句,打印0之后i++,进行下一次判断:1<=10为真,直到i==11,11<=10为假,不再执行循环语句。所以最终会打印0-10.

【C语言】循环语句详解_第2张图片

while循环中的break

break也可以用在while循环里,我们接下来学习一下break语句在while循环中的作用:

以代码为例:

#include 
int main()
{
	int i = 0;//定义一个初始变量
	while (i <= 10)//这是判断条件
	{
		if (i == 5)
			break;
		printf(" %d\n", i);
		i++;//调整部分
	}
	return 0;
}

我们将上面循环打印0-10的代码多加了一个if判断和break语句,即当i==5时跳出循环体,不在执行后面的循环。

运行结果如下:

【C语言】循环语句详解_第3张图片

 通过上述代码我们可以认识到break语句可以用于跳出循环

 break语句在while语句的作用是永久的终止循环,只要遇到break循环,循环就终止。

while循环中的continue

与break语句一样,continue语句也可以用在while循环中,我们接下来学习一下continue语句在while循环中的作用:

以代码为例:

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

【C语言】循环语句详解_第4张图片

        可以看到当打印到4的时候代码陷入死循环,这是因为continue的作用是跳过此次循环直接进入下一次循环,那么当i==5时编译器遇到了contiue语句,它就会直接跳出此次循环,因此并未执行i++操作,所以此时i还是等于5,继续下一次循环又会遇到continue语句,依然无法执行i++操作,所以i的值一直为5,代码循环执行,陷入死循环。

continue在while循环中的作用:

        跳过本次循环后续语句,直接进入下次循环。

for循环

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\n", i);
	}
	return 0;
}

运行结果如下:

【C语言】循环语句详解_第5张图片

我们对比一些for循环和while循环,可以明显看出for循环比while循环简单更高效。

for循环相对于while循环的优点:

        在while循环中也有for循环的三个表达式条件。但是由于代码风格的问题使得三个部分可能偏离较远,这样查找修改就不够集中和方便。所以for循环的风格更好,使用频率也最高。

for循环中的break

以下面的代码为例:

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

运行结果如下:

通过运行结果看出,break语句在for循环和while循环一样直接终止循环。

Break在for循环中的作用:

        永久的终止循环,只要遇到break循环,循环就终止

 for循环中的continue

以下面代码为例:

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

运行结果如下:

【C语言】循环语句详解_第6张图片

可以看到跳过了5的打印

根据运行结果来推断当i等于5时跳过了后面的语句,来到了调整部分。

得出结论:会跳过continue后面的语句,直接去调整部分

建议:

1.不要在for循环体内修改循环变量,防止for循环失去控制

2.不要在for循环体内修改循环变量,防止for循环失去控制建议for循环的循环控制变量采“前闭后开区间”的写法
注意:
        初始化,判断部分,调整部分都可以被省略,但是判断部分被省略的话意味判断部分恒为真,那么会进入死循环

 do while循环:

do while循环的执行流程:

先执行循环语句,之后在进入调整部分,最后进入判断语句,循环体至少要执行一次。循环体包括循环语句和调整部分。

依然用打印1-10为例:

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

运行结果如下:

【C语言】循环语句详解_第7张图片

do while循环中的break

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

结果如下:

【C语言】循环语句详解_第8张图片

根据运行结果可以看出breal语句在do while循环和前两种循环作用是一样的

break在do while循环中的作用:

        永久的终止循环,只要遇到break循环,循环就终止

do while循环中的continue

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

运行结果如下:

【C语言】循环语句详解_第9张图片

从运行结果看出continue语句在do while循环和while循环的作用是一样的。

continue在do while循环中的作用:

跳过本次循环后面的代码,直接去判断部分

 以上便是我为大家带来的循环语句的全部内容,若有不足,望各位大佬在评论区指出,谢谢大家!可以留下你们点赞、收藏和关注,这是对我极大的鼓励,我也会更加努力创作更优质的作品。再次感谢大家!

你可能感兴趣的:(c语言,开发语言)