C语言——分支,循环语句

目录

分支语句:if--else语句,switch--case语句

循环语句:while循环,for循环,do--while循环


1.分支语句 

 话说小乐最近在表白一个女孩,他面临一个问题就是:1.那个女孩也喜欢他,他就能追到.2. 女孩没有回复他,说明还有可能3.那个女孩不喜欢他,他追不到.那么,我们怎么可以帮他实现呢?我们把女孩喜欢他为1,不喜欢他为0

看下面的代码!那个女孩的选择交给读者手中

#include <stdio.h>
int main()
{
	int x;
	printf("喜欢按1,不喜欢按0\n");
	printf("女孩做出选择:");
	scanf("%d", &x);
	if (x == 1)
	{
		printf("她们在一起了\n");
	}
	else if(x==0)
	{
		printf("小乐没有机会\n");
	}
	else
	{
		printf("小乐还有机会\n");
	}
	return 0;
}

上面的这个是用if-else语句实现的。兄弟们,学了吗?

知识知识来了(if里面包含多种语句的时候要用大括号,else只与上面与他最近的没有匹配的if 进行匹配,好的代码风格是每个if,else-if,else的后面的用大括号

下面用switch--case语句进行实现

#include <stdio.h>
int main()
{
	int x;
	printf("喜欢按1,不喜欢按0\n");
	printf("女孩做出选择:");
	scanf("%d", &x);
	switch (x)
	{
	case 0:
		printf("小乐没有机会\n");
		break;
	case 1:
		printf("她们在一起了\n");
		break;
	default:
		printf("小乐还有机会\n");
		break;
	}
	return 0;
}

它们的基本形式是switch(整型表达式),case后面的是也是整型表达式,整个的一个case为一个语句项。

switch 语句的形式是这样的:

switch (整型变量)
{//这是语句项
	case 整型变量表达式:
		语句;
}

执行完一个case最后要用break进行跳出,但有些时候就不需要(这里的break是跳出它所在的switch语句的)。看这个:

#include <stdio.h>
int main()
{
	int day;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日");
		break;
	case 6:
	case 7:
		printf("休息日");
		break;
	default:
		printf("非法输入");
		break;
	}

	return 0;
}

这个就不需要在每个case里面加上break,只需要在关键地方加上就可以。

2.循环语句

哎😒,女孩没有给小乐回复,小乐觉得还有机会,就对这个女孩发起了猛攻,天天缠着他。

但这最后还是有两个结果:1.女孩同意他了,2.女孩感觉他非常烦人,拒绝他了.

下面,我们用while循环来帮他实现追女神的代码:while(循环条件)

#include <stdio.h>
int main()
{
	int x;
	printf("喜欢按1,不喜欢按0\n");
	printf("女孩做出选择:");
	while(scanf("%d", &x)!=EOF)
	{
		switch (x)
		{
		case 0:
			printf("小乐没有机会\n");
			break;
		case 1:
			printf("她们在一起了\n");
			break;
		default:
			printf("小乐还有机会\n");
			break;
		}
		if (x == 1)
		{
			break;
		}
	}
	return 0;
}

但过程并不像我们想的这么简单,女孩只给了小乐10次机会(给的太少了),那我们如何实现呢?

这次我们用for循环实现,

它的形式for(初始化;判断条件;调整)

#include <stdio.h>

int main()
{
	int x = 0 , n = 0;
	printf("喜欢按1,不喜欢按0\n");
	printf("女孩做出选择:");
	for (n = 0; n < 10; n++)
	{
		scanf("%d", &x);
		switch (x)
		{
		case 0:
			printf("小乐没有机会\n");
			break;
		case 1:
			printf("她们在一起了\n");
			break;
		default:
			printf("小乐还有机会\n");
			break;
		}
		if (x == 1)
		{
			break;
		}
	}
	return 0;
}

我们发现这两处地方都有break语句 它的意思是跳出它所在的循环体。

小乐追女生追的很辛苦,在第五次的时候就放弃了一下,那该这么实现呢?

只需要在循环体里面加一个continue;——它的意思是终止此次循环,进入下一次循环(循环体中continue后面的语句不执行,程序进入循环体开头的地方

		if (n == 5)
		{
			continue;
		}

但是如果用while循环这样写,就只能女孩同意了,小乐才能跳出去。

看:

	while ( n <= 10)
	{
		scanf("%d", &x);
		switch (x)
		{
		case 0:
			printf("小乐没有机会\n");
			break;
		case 1:
			printf("她们在一起了\n");
			break;
		default:
			printf("小乐还有机会\n");
			break;
		}
		if (x == 1)
		{
			break;
		}
		if (n == 5)
		{
			continue;
		}
		n++;
	}

do--while和while差不多

do--while的形式为

do
{
循环体的部分
}while(条件判断部分);//注意这里有分号

  

  • 48
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 62
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

easy_understand-ML

你的支持是对我创作的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值