c语言分支循环浅介绍(下)

《《二.循环》》

循环分为while循环   for循环     do  while 循环

(1.)while循环

while基本语句

while(表达式)

    语句

}

依旧是满足括号里的表达式为真才会去执行下面的语句,否则就不会进入循环

举个例子

打印0到10的数字

a++是改变a的初始值,如果不改变就会一直用a=0去判断,一直打印a=0死循环

#include <stdio.h>
int main()
{
	int a = 0;
	while (a < 11)
	{
		printf("%d ", a);
		a++;
	}
}

(2).for循环

for循环基本语句

for(表达式;表达式;表达式)

{

    语句
}

举个和while同样的例子

打印0到10的数字

for循环例子

int main()
{
	int a = 0;
	for (a = 0; a < 11; a++)
	{
		printf("%d ", a);
	}
}

while循环例子

#include <stdio.h>
int main()
{
	int a = 0;
	while (a < 11)
	{
		printf("%d ", a);
		a++;
	}
}

 从对比可以看出来,for循环是把影响语句判断条件的调整语句a++直接放到for旁边的小括号去了,for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,但是 for 循环的三个部
分⾮常集中,便于代码的维护,⽽如果代码较多的时候 while 循环的三个部分就⽐较分散,所以从形式上 for 循环要更优⼀些

(3)do  while 语句

基本语句

do

{

   执行语句

}while(表达式)

从基本语句形式上可以看出do while语句是先执行语句,然后放到while语句中去判断是否进行循环再来一遍。直接理解就是先做后循环

 同样的例子,打印0到10的数字

int main()
{
	int a = 0;
	do
	{
		printf("%d ", a);
		a++;
	} while (a < 11);
}

 结果都是一样的

(4).continue和break

     break在switch里已经介绍过了,break在循环里用的比较多。其实已经可以把它当闸机来看待,只不过switch是从上往下流正常的河,而循环是环形的河。

举个例子

while里打印0到10的数字,如果我要在a=5的时候安装break闸机,那么它在a=5的时候就会被截断跳出循环了,不会继续打印了

#include <stdio.h>
int main()
{
	int a = 0;
	while (a < 11)
	{
        if (a == 5)
			break;
		printf("%d ", a);
		a++;
		
	}
}

continue在英文里是继续的意思,在c语言中它是跳过本次循环以及continue的语句,因为a++在continue后面,所以被跳过了会一直拿a=5去做判断,最后陷入死循环,而break是直接就结束了

运行结果有个光标在闪是陷入死循环中,与上面break结果有差异

#include <stdio.h>
int main()
{
	int a = 0;
	while (a < 11)
	{
		
		if (a == 5)
			continue;
		printf("%d ", a);
		a++;
		
	}
}

for循环里面break与while差不多,但是continue有区别,因为for循环调整部分和判断部分集中在一块,所以continue的跳过后面的语句并不会影响for循环的调整,而仅仅只会跳过a=5,所以结果是0,1,2,3,4,6,7,8,9,10

int main()
{
	int a = 0;
	for (a = 0; a < 11; a++)
	{
		if (a == 5)
			continue;
		printf("%d ", a);
	}
}

do while break和continue和while语句几乎差不多,例子如下

break实例

int main()
{
   int a = 0;
   do
  {
	   if (a == 5)
		   break;
	printf("%d ", a);
	a++;
  } while (a < 11);
 }

continue示例

int main()
{
   int a = 0;
   do
  {
	   if (a == 5)
		   break;
	printf("%d ", a);
	a++;
  } while (a < 11);
 }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值