爱上C语言:分支与循环(循环篇)

前言
作者:阿辉不一般
你说呢:生活本来沉闷,但跑起来就有风
专栏:爱上C语言
作图工具:draw.io(免费开源的作图网站)
请添加图片描述

如果觉得文章对你有帮助的话,还请点赞,关注,收藏支持博主,如有不足还请指点,博主及时改正,感谢大家支持!!!

文章目录

  • 什么是语句?
  • 控制语句
    • while循环
      • ✈️while的语法结构
      • ✈️构成循环的条件
      • ✈️while中的break和continue
    • do while循环
      • ✈️do while的语法结构
    • for循环
      • ✈️for循环的语法结构
      • ✈️for循环中的break和continue
      • ✈️对于for循环的一些见解

什么是语句?

对于语句我的理解就是:对于计算机的指令
C语言的语句共有五类:

  • 空语句
  • 表达式语句
  • 控制语句
  • 函数调用语句
  • 复合语句

而今天咱们要聊的就是控制语句,接着往下看

控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言共有9种控制语句。
分为以下三类:

  • 条件判断语句也叫分支语句:if语句、switch语句
  • 循环执行语句:for语句、while语句、do while语句
  • 转向语句:break语句、continue语句、return语句、go to语句

博主的上一篇博客介绍了分支语句,这篇重点讲解循环执行语句且穿插着转向语句


while循环

取得成功不仅需要选择,同样需要重复,我们选择了编程,同样得大量复的练习
而C语言中就提供了分支语句去选择,循环执行语句去重复

✈️while的语法结构

while(表达式)//条件判断
{
	循环语句;
}

爱上C语言:分支与循环(循环篇)_第1张图片

来让我我们试试这个新玩意

#include
int main()
{
	int sum = 0;
	while(sum < 10)
	{
		printf("阿辉不一般\n");
		sum++;
	}
	return 0;
}

爱上C语言:分支与循环(循环篇)_第2张图片

❤️简单讲解一下,先判断sum<10的真假,显然sum初始化为0,sum<10为真进入循环打印阿辉不一般,同时sum++,循环10次后sum=10跳出循环,屏幕上也打印了10个阿辉不一般

✈️构成循环的条件

构成循环,一般需要三个条件:
1.循环变量初始化
2.循环的条件判断
3.循环变量的调整
这三个条件影响了循环的进行,一个不慎可能会造成死循环或者没能达到预期效果

✈️while中的break和continue

❤️咱直接上代码

#include
int main()
{
	int sum = 0;
	while(sum < 10)
	{
	    sum++;
		if(sum == 5)
		{
			break;
		}
		printf("%d ",sum)
	}
}

爱上C语言:分支与循环(循环篇)_第3张图片

屏幕上仅仅打印了1 2 3 4,这是因为当sum为5的时候执行break语句
而break语句会直接跳出循环终止循环

咱们再看看continue

#include
int main()
{
	int sum = 0;
	while(sum < 10)
	{
	    sum++;
		if(sum == 5)
		{
			continue;
		}
		printf("%d ",sum);
	}
}

爱上C语言:分支与循环(循环篇)_第4张图片

break不同的是,continue打印了1 2 3 4 6 7 8 9 10跳过了5没打印
continue会跳过本次循环continue后面的语句,直接进行下一次循环的判断


do while循环

✈️do while的语法结构

do
{
	循环体;
}while(表达式);

流程图奉上
爱上C语言:分支与循环(循环篇)_第5张图片

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

爱上C语言:分支与循环(循环篇)_第6张图片

do while循环while循环堪称一样,唯一的区别就在于不论如何do while的循环体都会执行一遍
breakcontinuedo while中和while的用法都是一样的


for循环

C语言中已经有while循环,为什么还要for循环呢?下面让我们一探究竟

✈️for循环的语法结构

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

上述的表达式分别是什么意思呢

  • 表达式1:初始化部分,给循环变量的初始化
  • 表达式2:条件判断部分,判断循环的终止
  • 表达式3:调整部分,调整循环变量

流程图展示
爱上C语言:分支与循环(循环篇)_第7张图片

下面我们直接上手实操一波

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

在这里插入图片描述

上述代码i先初始化为零,i<10为真进入循环打印i,然后i++
直到i=10停止循环,屏幕上打印 0 1 2 3 4 5 6 7 8 9
while相比for循环初始化部分、条件判断部分调整部分更加集中,用起来更加便利,同时for循环的使用频率也是更高的
但也不是说while就比for差,for的模式固定,while则更加自由,两者各有千秋

✈️for循环中的break和continue

for循环中同样可以使用break和continue,他们的意义和在while循环中是一样的

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

在这里插入图片描述

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

在这里插入图片描述

✈️对于for循环的一些见解

  • for循环的循环体内不要轻易改变循环变量,很容易造成死循环
  • for循环的初始化部分、条件判断部分以及调整部分都是可以省略的,也就是for循环可以这么写for( ; ; ),初学者不建议省略这些部分,容易出错

例:

#include
int main()
{
	int i = 0;
	int j = 0;
	for (; i < 5; i++)
	{
		for (; j < 5; j++)
		{
			printf("5 ");
		}
	}
	return 0;
}

在这里插入图片描述

上面这个代码太了,我一开始以为会打印25个5但是仅仅打印了5个5
因为当i为0时内层循环循环一遍j的值变成了5,而内循环没有初始化j,内循环(也就是第二层循环)就进不去了


❤️到这里分支与循环就全部介绍完了,铁子们咱们下期见!!!
爱上C语言:分支与循环(循环篇)_第8张图片

你可能感兴趣的:(爱上C语言,c语言)