C语言-----分支和循环语句(2)


    我们知道,C语言中有各种结构,通过各种结构的相互配合、相互嵌套才得以完成一个个冗长的代码程序。而循环结构就是其中不可或缺的一种结构,其中循环结构又分为三种,分别是for循环、while循环和do…while循环。下面来介绍这三种循环结构及 continuebreak的使用。

一、for循环

    for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:

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

  • 表达式1用于循环变量的初始化
  • 表达式2用于循环结束条件的判断
  • 表达式3用于循环变量的调整

for循环的执行流程图如下:
在这里插入图片描述

    表达式1作为初始化部分,不参与循环过程,接下来判断表达式2是否符合循环条件,如果满足条件则执行循环语句(不满足条件则循环结束)。接着执行表达式3后再返回表达式2继续判断,直至不满足循环条件后跳出循环,循环结束。
    整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。

for循环的实践:
在屏幕上打印1~100的值:

#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 100; i++)
	{
		printf("%d ", i);
	}
	return 0;
}

运行结果:
在这里插入图片描述
代码分析:
    开始进入循环时,i=1,此时满足i<=100,所以打印i的值为1;打印结束后,执行表达式3,即i++,此时i=2,继续返回进行判断,此时一样满足i<=100,所以打印i的值为2…如此循环反复,直至i不再满足i<=100,跳出循环,程序执行结束。

大部分的循环是符合for循环的流程的,所以for循环在循环结构中的使用是较为频繁的

二、while循环

    前面内容介绍了 for 循环,接下来再学习 while 循环就容易很多,因为它们的思想是一样的,只是在结构和执行顺序上有所不同。while循环的表达式相较于for循环的更简洁,其表达式如下:

while(表达式)
{
    语句;
}

  • 表达式用于判断是否要进入循环

while循环的执行流程图如下:
在这里插入图片描述

    可以看出,虽然for循环与while循环的思想是一样的,但是while循环的执行流程却比for循环的相对更简单了一些。
    下面对for和while循环作比较:
计算并在屏幕上打印出1~100之间3的倍数的数字之和:

#include<stdio.h>
//----for循环
int main()
{
	int i = 0;
	int sum = 0;
	for (i = 1; i <= 100; i++)
	{
		if (i % 3 == 0)
		{
			sum = sum + i;
		}
	}
	printf("%d\n", sum);
	return 0;
}

//----while循环
int main()
{
	int sum = 0;
	int i = 1;
	while (i <= 100)
	{
		if (i % 3 == 0)
		{
			sum = sum + i;
		}
		i++;
	}
	printf("%d\n", sum);
	return 0;
}

运行结果:
在这里插入图片描述
while循环代码分析:
    当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。这个就是 while 的执行顺序。
    通过对以上两个程序进行比较,我们可以看出,for循环其实和while循环的结构是差不多的,while循环相比于for循环只是少了括号里(执行流程里)的表达式3而已。

由前面两个循环结构相比较得知,两者的结构其实是相似的,所以while循环和for循环一样,在编写程序时while循环的使用也是比较多的

三、do…while循环

    相比于上面两种循环,do…while循环就显得没有这么重要了,但它的存在肯定有用到的时候,换句话说,其实就是使用的次数是少之又少,其主要用于人机交互,其表达式如下:

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

  • 表达式用于判断是否要再次进入循环体
  • 表达式后面的“ ;”不能省略

do…while循环的执行流程图如下:
在这里插入图片描述

    do…while 和 while 的执行过程非常相似,唯一的区别是:“do…while 是先执行一次循环体,然后再判别表达式”。当表达式为“真”时,返回重新执行循环体,如此反复,直到表达式为“假”为止,此时循环结束。

  • do...while循环与上面两个循环不同的地方就是:不论进不进入循环都必须先执行一次,也就是先执行后判断

    do…while循环实践:
    打印1~10的数:
    在这里插入图片描述
        上面这个程序如果把while右边括号里的表达式限制条件改为“i<=1”或者其他任何不能进入循环的条件,那么程序将只打印1,因为do…while循环必定要执行一次。

四、continue语句和break语句

    在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了breakcontinue两个关键字,就是行用到循环中的。

• break的作用是用于永久的终止循环,只要break 被执行,直接就会跳出循环,继续往后执行。
• continue 的作用是跳过本次循环continue 后边的代码,在for循环和while循环中是有所差异的。

下面用两个例子(while循环)来展示一下continue和break的运用:
break举例:

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;//当i=5时,循环就终止了,直接跳出循环
		printf("%d ", i);
		i++;
	}
	return 0;
}

执行结果如下:
在这里插入图片描述
代码分析:
    打印了1,2,3,4后,当i等于5的时候,循环在break 的地方终止,不再打印,不再循环。所以break 的作用就是永久的终止循环,只要break 被执行,break 外的第⼀层循环就终止了。那以后我们在循环中,想在某种条件下终止循环,则可以使用break 来完成我们想要的效果。

continue举例:

    continue 是继续的意思,在循环中的作用就是跳过本次循环中continue后面的代码,继续进行下一次循环的判断。

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;//当i等于5后,就执⾏continue,直接跳过continue后面的代码,继续返回判断
		printf("%d ", i);
		i++;
	}
	return 0;
}

代码分析:
    到这里我们就能分析出来,continue 可以帮助我们跳过某⼀次循环continue 后边的代码,直接到循环的判断部分,进行下⼀次循环的判断,如果循环的调整是在continue 后边的话,可能会造成死循环。

    好了,今天就分享到这了,想要了解得更深的朋友可以多去实践,实践是检验真理的唯一标准。感谢你的阅读,咱们下期再见!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值