分支和循环(下:循环)

目录

1.while循环

2.do-while循环

3.for循环

4.break,continue和goto语句

1:break:

2:continue:

3:goto语句:


1.while循环

while循环的形式:while(表达式)

                                 语句;

先对while内的表达式进行判断,再决定是否执行语句;

当while内表达式的值为0时,循环直接结束;反之如果表达式非0,则进行循环。如果一直为非0,则无限循环whlie内的语句。

例:打印1~10内的整数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

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

输出结果如左图。

而如果将while(i <= 10)改为while(i > 0),则将会输出1~∞的数。

2.do-while循环

形式为:do
                    语句;
              while ( 表达式 )
形式与while循环类似,但do-while是 先执行do后面的语句再对while内的表达式进行判断,表达式为非0则继续循环,为0则停止循环。所以do-while一般至少执行一次。

3.for循环

是三种循环中使用最多的,形式如下:

for(表达式1;表达式2;表达式3)

     语句;

  • 表达式1:循环变量的初始化,也可以直接定义并初始化
  • 表达式2:循环结束条件的判定(为真则继续执行,假则终止)
  • 表达式3:改变循环变量

判断流程:先执行表达式1初始化循环变量,而后判定表达式2,为假则直接结束循环,为真则进行循环执行语句,执行完后再执行表达式3改变循环变量,再判定表达式2......如此循环往复,直到表达2为假时停止循环。

例:打印1~10的值

#include <stdio.h>

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

运行结果:

4.break,continue和goto语句

1:break:

用于永久的终止循环,只要break被执行,直接跳出循环,继续往后执行。

但当循环嵌套时break只会跳出最里面的循环,如图:
for (...)
{
    for (...)
	{
		for (...)//只有这层for循环会终止循环
		{
			...;
			break;
		}
	}
}

while (...)
{
	while (...)
	{
		while (...)//只有这层while循环会终止循环
		{
			...;
			break;
		}
	}
}

2:continue:

跳出本次循环中continue后的代码,类似于break,但break是直接终止循环,continue只是跳出本次循环中continue后的代码。

3:goto语句:

可以实现在同一个函数内跳转到设计好的标号处

在刚才讲break时,我们发现break在多层嵌套中只能跳出单层循环,那么我们如果想要直接跳出多层循环的话该怎么办呢?——这时候当然就要用上我们的goto语句了,以刚刚在break处的代码为例,如图:

for (...)
{
    for (...)
	{
		for (...)
		{
			...;
			goto next;//设置了一个标号next,也可以设置其他的如again,into等,跳出所有循环,当程序运行到此处时将跳转到next后面的语句
		}
	}
}
 
next:
...//程序从这里开始执行语句

注:goto虽然在跳出多层嵌套时嘎嘎好用,但也尽量少用哦,否则容易使程序跳来跳去,逻辑混乱。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值