分支和循环语句(2)

前言

上一篇文章介绍了分支语句,本篇文章来介绍循环语句:

 

三、循环语句

     上一篇文章我们了解了if语句可以用来进行选择,但是只能执行一次,

     当我们遇到多次选择时,难道有多少次选择就编写多少if语句吗?

      答案肯定是不是这样的。这个时候就要运用到循环语句了,

3.1while循环

      while语句的语法结构。:

while(表达式)
 循环语句;

举个例子,打印1~100中的单数

#include<stdio.h>

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

这样我们就可以直接得出结果,当i==101时,不符合while语句表达式,所以自动跳过while语句。

3.1.1while语句中的breakcontinue

下面直接上代码,看看它们两个的区别

//break 在while循环

#include<stdio.h>

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

//continue 在while循环

#include<stdio.h>

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

break运行结果

continue运行结果

我们可以看到  break是直接将下面的代码跳过,并结束循环。

                        continue则是跳过下面的代码,重新进入循环。(因为此处i==5,所以进入死循环)

   

 当我们将i++;前置时

#include<stdio.h>

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

	}
	return 0;
}

 运行结果:

 

 

3.2 for循环

当我们学会了while循环发现,它还是不够简单,这时侯for循环出现了。

for循环的语法结构

for(表达式1; 表达式2; 表达式3)
 循环语句;
表达式1
表达式 1 初始化部分 ,用于初始化循环变量的。
表达式 2
表达式 2 条件判断部分 ,用于判断循环时候终止。
表达式 3
表达式 3 调整部分 ,用于循环条件的调整。
下面用一个案例来实际了解一下
//打印1~10的数字

#include<stdio.h>

int main()                     
{                                     //i = 1是初始化循环变量
	int i = 1;                        //i <= 10 是循环判断部分,当i > 10时,循环终止。
	for (i = 1; i <= 10; i++)         //i++;调整部分
	{
		printf("%d\n", i);
	}

	return 0;
}

对比一下for循环和while循环

#include<stdio.h>

int main()
{
	int i = 0;   //初识化变量
	while (i <= 10)   //循环判断部分
	{

		printf("%d\n", i);
        i++;   //循环调整部分

	}
	return 0;
}

可以看到for循环和while循环的三个必须条件是相同的,但while循环的三个条件相对分散。容易出错,所以for循环常用一些。

3.2.2 breakcontinuefor循环中

//代码1
#include <stdio.h>
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            break;
        printf("%d ", i);
    }
    return 0;
}

//代码2
#include <stdio.h>
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            continue;
        printf("%d ", i);
    }
    return 0;
}

break和continue与在while循环中的意义是一样的,结果有点差异,

continue的运行不会进入死循环。 

3.2.3for循环变量的变种

#include <stdio.h>
int main()
{
	//代码1
	for (;;)
	{
		printf("hehe\n");
	}
	//for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题

		
    //代码2
	int i = 0;
	int j = 0;
	//这里打印多少个hehe?
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)       //打印100个hehe
		{
			printf("hehe\n");
		}
	}                                            



	//代码3
	int i = 0;
	int j = 0;
	//如果省略掉初始化部分,这里打印多少个hehe?
	for (; i < 10; i++)
	{
		for (; j < 10; j++)         //打印10个hehe,因为当j>10时,第二个for循环就不执行了
		{
			printf("hehe\n");
		}
	}

	//代码4-使用多余一个变量控制循环
	int x, y;
	for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
	{
		printf("hehe\n");
	}
	return 0;
}

3.3do  while ()循环

do while循环语法结构

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

我们来看一下,下面案例

#include <stdio.h>
int main()
{
	int i = 10;
	do
	{
		printf("%d\n", i);
	} while (i < 10);
	return 0;
}

运行结果 

可以看到任然运行出了结果。

这就是do while循环的特点:至少运行一次。

因此它的使用场景有限,所以不是经常使用。

总结

    以上就是循环语句的基础内容了,谢谢大家,求三连。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值