循环语句和循环语句中的break,continue:

循环语句和循环语句中的break,continue:

本节主要讲的是while,do...while,for循环和if,switch分支结构。若有总结不恰当的地方欢迎指正。

顺带介绍一下循环结构中的break,continue。

 

  • while语句

//while的语法结构:

while(条件语句)

循环语句;

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ5MTA3MTI3,size_16,color_FFFFFF,t_70

while语句在程序中的运用,例:while循环实现1到10的打印输出:

//打印输出1到10
#include <stdio.h>
#include<windows.h>
int main()
{
	int i = 1;
	while (i<=10)
	{
		printf("%d\n", i);
		i++;
	}

	system("pause");
	return 0;
}

 

while中的break语句:思考一下下面这个程序的输出结果


#include <stdio.h>
#include<windows.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
		break;//跳出循环
		printf("%d\n", i);
		i++;
	}
	system("pause");
	return 0;
}

 答案是:1,2,3,4  在循环中只要遇到break,就直接跳出循环,终止循环

while循环中的continue:思考一下下面这个程序的输出结果

#include <stdio.h>
#include<windows.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;
		printf("%d\n", i);
		i++;
	}
	system("pause");
	return 0;

答案:1,2,3,4,5,5,,, continue用于停止本此循环,所以当i=5时,continue结束本次循环之后直接转跳到while判定,然后再一次执行if语句,i=5,此时程序就陷入了死循环,那这个死循环可以被解决吗?答案坑定是可以的,只需要这样写就可以了:

while (i <10)
    {

        i++;
        if (i == 5)
            continue;
        printf("%d\n", i);    输出结果:1,2,3,4,6,7,8,9,10

 

  • do .....while语句

20201017172810657.png

do

循环体语句

while(表达式)//执行循环体,后执行表达式,所以说do...while循环至少循环一次

 

do....while语句实现1到10的打印:

//打印输出1到10
#include <stdio.h>
#include<windows.h>
int main()
{
	int i = 1;
	do {
		printf("%d\n", i);
		i++;
	} while (i <= 10);
	system("pause");
	return 0;
}

do...while循环中的break和continue

思考下面程序的运行结果:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 1;
	do
	{
		if (i == 5)
		break;
		printf("%d\n", i);
		i++;
	} while(i<=10);
	system("pause");
}

结果为1,2,3,4  遇到break,跳出循环,循环结束,输出结果。

continue 例:分析下面程序的输出结果:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 1;
	do
	{
		if (i == 5)
			continue;
		printf("%d\n", i);
		i++;
	} while(i<=10);
	system("pause");
}

答案为1,2,3,4,5 ,5......因为当=5时,循环遇到continue,结束本次循环,然后执行条件判断,5<10条件满足, 继续执行下一次的循环,此时i还是等于5所以就形成了死循环,若是想将5后面的数字继续输出怎末办呢,方法和while中的一样只需要把条件更新语句(i++)提到if语句之前就可以了。

 

  • for语句 

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

for循环打印1-10

#include<stdio.h>
#include<windows.h>
int main()
{

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

for循环中的break和continue

思考一下下面程序的输出结果:

#include<stdio.h>
#include<windows.h>
int main()
{

		for (int i = 1; i<=10; i++)
		{
			if (5 == i)
				break;
		printf("%d\n", i);
	}
		system("pause");
		return 0;
}

输出结果为1,2,3,4  循环中遇到break,就结束循环,输出结果

思考一下下面程序的输出结果:

#include<stdio.h>
#include<windows.h>
int main()
{

		for (int i = 1; i<=10; i++)
		{
			if (5 == i)
				continue;
		printf("%d\n", i);
	}
		system("pause");
		return 0;
}

输出结果为:1,2,3,4,6,7,8,9,10     continue结束本次循环,之后跳转到了条件更新(i++),不会像前两种循环一样陷入死循环。

  • 逗号表达式

用多个逗号隔开的表达式,叫做都好表达式。

逗号表达式的特性是:1,从左向右都会被执行。2,表达式的结果以最后一个表达式的结果为准

思考一下下面这个程序的运行结果:

#include<stdio.h>
#include<windows.h>
int main()
{
	int i = 0;
	int k = 0;
	for (i = 0, k = 0; k = 0; i++, k++)
		k++;
	printf("%d\n%d\n", i, k);
	system("pause");
	return 0;

}

答案是0,0     因为k=0,所以逗号表达式的值为假,跳出循环,所以k=0,i=0。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值