前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言初阶——循环语句(while,for,do while)

C语言初阶——循环语句(while,for,do while)

作者头像
YIN_尹
发布2024-01-23 15:31:06
1370
发布2024-01-23 15:31:06
举报
文章被收录于专栏:YIN_尹的博客YIN_尹的博客
生活中有些事情需要我们重复、反复的去做,这时我们就可以说我们循环的去做这件事。
在这里插入图片描述
在这里插入图片描述

要学习循环语句,首先我们介绍一下程序设计语言中的循环是什么意思: 循环是程序设计语言中反复执行某些代码的一种计算机处理过程,常见的有按照次数循环和按照条件循环。

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,取决于循环的终止条件。循环语句是由循环体及循环的终止条件两部分组成的。 那么接下来我们就来介绍一下C语言中的3中循环:

一.while循环

我们已经掌握了,if语句: if(条件) 语句; 当条件满足的情况下,if语句后的语句执行,否则不执行。 但是这个语句只会执行一次。 由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。 那我们怎么做呢? C语言中给我们引入了: while 语句,可以实现循环。

1.语法介绍和基本使用

首先我们来学习while循环,那什么是while循环呢? 我们知道,while有当…的时候的意思,所以while循环就是当满足一个特定条件是执行循环体,一旦不满足,就结束循环。 while的语法结构:

代码语言:javascript
复制
//while 语法结构
while (表达式)
	循环语句;
在这里插入图片描述
在这里插入图片描述

举个例子,我们想要在屏幕上打印数字1——10,就可以使用while循环:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}
在这里插入图片描述
在这里插入图片描述

当i的值加到10 的时候,满足i<=10,再执行一次循环,i再加1,变为11,再进行判断,不满足i<=10,循环结束

上面的代码已经帮我了解了 while 语句的基本语法,那我们再继续向下学习:

2. while循环中的break的作用

break有终止,中断,逃脱的意思,那么在循环中break的作用是啥呢? 我们通过一段代码来学习break的作用:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}

大家思考一下,输出的结果是啥:

在这里插入图片描述
在这里插入图片描述

答案是是的!!!,循环中遇到break循环就直接结束了。

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

在这里插入图片描述
在这里插入图片描述

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

3.while循环中continue的作用

介绍了break在在while中的作用,那我们再来介绍一下continue再while循环中的作用: 还是通过几个实例来解释,上代码: 先看第一个:

代码语言:javascript
复制
//continue 代码实例1
#include <stdio.h>
int main()
{
 	int i = 1;
 	while(i<=10)
 {
 	if(i == 5)
 	continue;
 	printf("%d ", i);
 	i = i+1;
 }
 return 0; 
 }

思考一下,结果是什么?

在这里插入图片描述
在这里插入图片描述

为什么出现这样的情况呢?别急,我们再来看一个代码:

代码语言:javascript
复制
//continue 代码实例2
#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		i = i + 1;
		if (i == 5)
			continue;
		printf("%d ", i);
	}
	return 0;
}

大家先看一下这个代码与上一个有啥区别,再思考结果是啥: 我们发现,这段代码与上一个相比,只是把i=i+1这句代码放在了if语句前面,那结果会有什么不同呢?

在这里插入图片描述
在这里插入图片描述

是这样吗?确实是的。 现在我们就可以很好的解释上一个代码的结果了:

在这里插入图片描述
在这里插入图片描述

总结: continue在while循环中的作用就是: continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断

在这里插入图片描述
在这里插入图片描述

二.for循环

1.语法介绍和基本使用

我们已经知道了while循环,但是我们为什么还要一个for循环呢? 首先来看看for循环的语法:

代码语言:javascript
复制
for(表达式1; 表达式2; 表达式3)
 循环语句;
在这里插入图片描述
在这里插入图片描述

看一个实际的问题: 使用for循环 在屏幕上打印1-10的数字

代码语言:javascript
复制
#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循环的基本使用已经了解了。

2.for循环和while循环的对比

我们使用for循环和while循环实现一个相同的功能,进行一下对比: 实现相同的功能,使用while

代码语言:javascript
复制
int i = 0;
i=1;//初始化部分
while(i<=10)//判断部分
{
 printf("hehe\n");
 i = i+1;//调整部分
}

实现相同的功能,使用for

代码语言:javascript
复制
for(i=1; i<=10; i++) {
 printf("hehe\n");
}

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

3. break和continue在for循环中的作用

在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。 代码1:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			break;
		printf("%d ", i);
	}
	return 0;
}
在这里插入图片描述
在这里插入图片描述

代码2:

代码语言:javascript
复制
//代码2
#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 continue;
 printf("%d ",i);
 }
 return 0; }
在这里插入图片描述
在这里插入图片描述

好的一点时我们在for循环中这样写不会像while那样出现死循环。因为continue不能跳过调整部分 所以在for循环中,break和Continue的作用也是如此: 1.遇到break,就停止后期的所有的循环,直接终止循环,执行循环后面的部分。 2.遇到continue,直接跳到调整部分,然后进行条件判断。

4.for语句的循环控制变量

这里给大家提一些建议: 1.不可在for 循环体内修改循环变量,防止 for 循环失去控制。

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		i = 3;
		if (i == 5)
			continue;
		printf("%d ", i);
	}
	return 0;
}
在这里插入图片描述
在这里插入图片描述

2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。(只是建议,这样写不合适的话也不必强求)

在这里插入图片描述
在这里插入图片描述
5. 一些for循环的变种

for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题 1. 举个例子:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	//代码1
	for (;;)
	{
		printf("hehe\n");
	}
}

死循环了,为啥呢?

在这里插入图片描述
在这里插入图片描述

2.在看一个例子:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	//代码2
	int i = 0;
	int j = 0;
	int count = 0;
	//这里打印多少个hehe?
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)
		{
			count++;
			printf("hehe\n");
		}
	}
	printf("count=%d\n", count);
}

打印多少次hehe呢? 这个比较容易,打印100次。

在这里插入图片描述
在这里插入图片描述

那还是这段代码,如果省略掉初始化部分,这里打印多少个hehe?

代码语言:javascript
复制
 //代码3
    int i = 0;
    int j = 0;
    //如果省略掉初始化部分,这里打印多少个hehe?
    for(; i<10; i++)
   {
        for(; j<10; j++)
       {
 printf("hehe\n");
       }
   }
在这里插入图片描述
在这里插入图片描述

去掉初始化部分后,值打印10次:

在这里插入图片描述
在这里插入图片描述

3.for循环中的循环控制变量可以有多个 举个例子:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	//代码4-使用多个变量控制循环
	int x, y;
	for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
	{
		printf("hehe\n");
	}
	return 0;	
}
在这里插入图片描述
在这里插入图片描述

好了,for循环就介绍完了。

三.do while循环

接下来介绍do while循环

1.语法介绍和基本使用
代码语言:javascript
复制
do
	循环语句;
while (表达式);
在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
 return 0; }
在这里插入图片描述
在这里插入图片描述
2. break和continue在do while循环中的作用

break和continue在do while循环中的作用也和在while循环中一样。 演示一下: 代码1:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
        if(5 == i)
            break;
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
    
 return 0; }
在这里插入图片描述
在这里插入图片描述

代码2:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int i = 1;
    
 do
 {
        if(5 == i)
            continue;
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
    
 return 0; }
在这里插入图片描述
在这里插入图片描述

以上就是对C语言中循环语句的介绍了。 欢迎大家指正!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生活中有些事情需要我们重复、反复的去做,这时我们就可以说我们循环的去做这件事。
  • 一.while循环
    • 1.语法介绍和基本使用
      • 2. while循环中的break的作用
        • 3.while循环中continue的作用
        • 二.for循环
          • 1.语法介绍和基本使用
            • 2.for循环和while循环的对比
              • 3. break和continue在for循环中的作用
                • 4.for语句的循环控制变量
                  • 5. 一些for循环的变种
                  • 三.do while循环
                    • 1.语法介绍和基本使用
                      • 2. break和continue在do while循环中的作用
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档