C语言分支语句

各位佬和未来的佬们:

大家好!

今天我们来聊聊C语言中的分支语句

在了解分支语句之前,我们得先了解什么是语句

C语言的语句主要分为以下五种:

1,表达式语句

2,函数调用语句

3,控制语句

4,复合语句

5,空语句

今天要聊得分支语句就属于控制语句之中,控制语句是用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持的结构方式:顺序结构、选择结构、循环结构)

C语言是一门结构化的程序设计语言,如果我们仔细观察周围,世界上的任何事情都可以由C语言的三种结构表示

现在我们了解了语句,那么我们正式开始探索分支语句的世界

分支语句也叫条件判断语句,他主要由if语句和Switch语句组成

1,if语句

if语句的结构是怎样的呢?

if语句分为以下三种结构

单分支

if(表达式)

      语句;

双分支

if(表达式)

     语句1;

else

     语句2;

多分支

if(表达式1)

      语句1;

else if(表达式2)

      语句2;

else 

       语句3;

了解了if语句的结构,那我们来实际操作一下吧!

单分支语句

比如说,这里我们想表达出一个人年龄大于18岁就算成年,我们可以这样写

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>;
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)
		printf("成年\n");
	return 0;
}

但是,我们这个时候,我们只能知道年龄大于18岁的人是成年人,那小于18的呢?当输入小于18的数字时就什么也不会打印,所以,我们又有了双分支语句,来表示大于18岁的人是成年人,小于18岁的是未成年人

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)
		printf("成年\n");
	else
		printf("未成年\n");

	return 0;
}

这样我们就能很好的看出,多少岁成年,多少岁未成年,但是,我们生活中难免会遇到更多的分类,如果只用双分支肯定是不够分的,所以我们还有多分支语句,我同样用年龄给大家举个例子

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 16)
		printf("少年\n");
	else if (age >= 16 && age < 30)
		printf("青年\n");
	else if (age >= 30 && age < 40)
		printf("中年\n");
	else if (age >= 40 && age < 56)
		printf("壮年\n");
	else if (age >= 56 && age < 80)
		printf("老年\n");
	else if (age >= 80 && age < 120)
		printf("人仙\n");
	else if (age >= 120 && age < 600)
		printf("地仙\n");
	else if (age >= 600 && age < 3000)
		printf("天仙\n");
	else
		printf("飞升仙界,羽化登仙\n");

	return 0;
}

这样是不是可以分的更细一点了,哈哈哈哈哈

if语句还有一个规范,就是if语句默认控制一条语句,若要两个语句被if控制,则要用{}

了解了这个规范,我们来看看下面这个代码是否有问题

​
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int age = 20;
	if (age >= 18)
		printf("成年\n");
		printf("谈恋爱\n");
	return 0;
}

​

看上去好像很正常,输入编译器系统也不会报错,当age大于18的时候打印出的也是成年和能够谈恋爱,可如果age<18时,他依旧显示可以谈恋爱,这多少有点早恋了哈哈

所以,为了规范,我们加上{},这样就会表述不清了

​
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int age = 20;
	if (age >= 18)
	{
		printf("成年\n");
		printf("谈恋爱\n");
	}
	return 0;
}

​

说完if语句,我们再来聊聊Switch语句吧

Switch语句常常用于多分支情况

比如表达星期几如果我们用if语句来表示,就会出现下面这种状况

看上去是不是很复杂

所以,我们就得有不一样的语法形式,就这样,Switch语句诞生了

当我们用Switch语句来表达星期几时就会简便很多

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期1\n");
	case 2:
		printf("星期2\n");
	case 3:
		printf("星期3\n");
	case 4:
		printf("星期4\n");
	case 5:
		printf("星期5\n");
	case 6:
		printf("星期6\n");
	case 7:
		printf("星期天\n");
	}
	return 0;
}

这样,我们就打好了一个Switch语句来表示星期几,我们输入3来运行一下.....

诶!等等,我们输入3只需要得到星期3这个结果呀!可为什么星期4,5,6...都蹦出来了

这里我再来了解一下case和break吧!

case在Switch语句中只决定入口,上面的代码我们只给了入口,没给他台阶下,所以,代码生气了,一口气跑到别人家,把别人也带出来了

为了不让代码生气,我们得给他个台阶,这个台阶就是break,break决定了出口,可以让代码不再连续下去

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期1\n");
		break;
	case 2:
		printf("星期2\n");
		break;
	case 3:
		printf("星期3\n");
		break;
	case 4:
		printf("星期4\n");
		break;
	case 5:
		printf("星期5\n");
		break;
	case 6:
		printf("星期6\n");
		break;
	case 7:
		printf("星期天\n");
		break;
	default:
		printf("选择错误\n");
		break;
	}
	return 0;
}

如此,我们再输入3时,他就只选择星期3打印了

那这里就有一个问题了,我们一定要惯着他吗?当然不是,宠坏了累的最后还是我们自己,所以,我们要视具体情况来看要不要给他台阶下,有时不给台阶下,反而能省很多事,比如

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>;
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日\n");
		break;
	case 6:
	case 7:
		printf("休息日\n");
	default:
		printf("输入错误\n");
		break;
	}
	return 0;
}

到这里,分支语句咱们就讲完了,下面给大家一个预告,一个简单的循环语句的代码(打印1~100的奇数)

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

以上就是本期的全部内容了,如果大家觉得有帮助的话帮我点个赞吧!

如果有问题的地方还望各位佬能够不吝赐教,今天就到这里了~我们下期再见

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
森林防火应急联动指挥系统是一个集成了北斗定位/GPS、GIS、RS遥感、无线网络通讯、4G网络等技术的现代化智能系统,旨在提高森林火灾的预防和扑救效率。该系统通过实时监控、地图服务、历史数据管理、调度语音等功能,实现了现场指挥调度、语音呼叫通讯、远程监控、现场直播、救火人员生命检测等工作的网络化、智能化、可视化。它能够在火灾发生后迅速组网,确保现场与指挥中心的通信畅通,同时,系统支持快速部署,适应各种极端环境,保障信息的实时传输和历史数据的安全存储。 系统的设计遵循先进性、实用性、标准性、开放性、安全性、可靠性和扩展性原则,确保了技术的领先地位和未来的发展空间。系统架构包括应急终端、无线专网、应用联动应用和服务组件,以及安全审计模块,以确保用户合法性和数据安全性。部署方案灵活,能够根据现场需求快速搭建应急指挥平台,支持高并发视频直播和大容量数据存储。 智能终端设备具备三防等级,能够在恶劣环境下稳定工作,支持北斗+GPS双模定位,提供精确的位置信息。设备搭载的操作系统和处理器能够处理复杂的任务,如高清视频拍摄和数据传输。此外,设备还配备了多种传感器和接口,以适应不同的使用场景。 自适应无线网络是系统的关键组成部分,它基于认知无线电技术,能够根据环境变化动态调整通讯参数,优化通讯效果。网络支持点对点和点对多点的组网模式,具有低功耗、长距离覆盖、强抗干扰能力等特点,易于部署和维护。 系统的售后服务保障包括安装实施服务、系统维护服务、系统完善服务、培训服务等,确保用户能够高效使用系统。提供7*24小时的实时故障响应,以及定期的系统优化和维护,确保系统的稳定运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值