【C语言】分支语句

发布于:2023-02-02 ⋅ 阅读:(369) ⋅ 点赞:(0)


前言

C语言是一门结构化的语言,它可分为顺序结构,选择结构和循环结构。

本文就介绍了C语言中的选择结构的部分也就是分支语句的基础内容

一、分支语句是什么?

分支语句就是选择结构,它可以根据你所设置的不同的选项,输出对应你所设置的结果。例如:

你选择好好学习C语言,你就能有更好的前程,

你选择三天打鱼两天晒网的学,你就会碌碌无为。

这就是选择。

而语句就是用分号(英文的;)隔开的就是一条语句。

二、使用的方式

1.if else

if else是C语言中分支语句的一种,从字面意思也好理解,如果()~~其他~~

这里,我们用年龄举例,代码如下:

#include<stdio.h>

int main()//建立主函数
{
	int i = 16;//先整型变量i给一个初始数值
	if (i <= 17)//如果i小于等于17的话
	{
		printf("未成年\n");//打印未成年(\n)代表回车到下一行
	}
	else//如果没满足上面的条件i<=17的话顺序到这里,也就是其余的情况的意思
	{
		printf("成年\n");//打印成年
	}
	return 0;
}

{}是可以包含多条语句,用来区分出函数的作用范围。

else 是和它最近的那个if匹配,所以一般使用{}来确定范围


如果表达式为真就执行

在C语言中:0表示假,1表示为真

当我们判断事情是真假时可以使用==,例如

int main ()
{
int i = 3;
	if (i == 5)
	{
		printf("yes");
	}
	return  0;
}

这个函数由于i的初始数值是3不等于5,结果就是不输出。实际操作过程中可能会少漏了一个等号从而变成赋值,结果就是输出错误结果打印出了yes

int main ()
{
int i = 3;
	if (i = 5)//这时i=5了
	{
		printf("yes");
	}
	return  0;
}

所以,在整型变量与常量进行比较时,我们可以把常量放在前面 ,这样即使你少打了一个=号,也不会输出错误结果,而是会报警

 所以,在与常量比较中,我推荐把常量放在比较的前面。

这时你就可以练习一下这个函数了,如

判断一个数是不是奇数

打印1-100之间的奇数

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

 if else 不仅仅只能做两个选项的选择也可以进行多个选项的选择结构是

if(){}

else if(){}

else if(){}

else {}

其中else if 可以一直加,还是拿刚刚的年龄举例

int main()            
{
	int i = 16;         
	if (i<14)         
	{
		printf("小孩\n");
	}
	else if (i < 18)
	{
		printf("青少年\n");
	}
	else if (i<30)
	{
		printf("青壮年\n");
	}
	else if (i < 60)
	{
		printf("壮年\n");
	}
	else if (i < 80)
	{
		printf("老年\n");
	}
	else if (i < 100)
	{
		printf("老寿星\n");
	}
	return 0;
}

其实你们也发现了,这样写其实有些麻烦,这种情况,我们就一般使用switch来解决。 

2.switch

switch语句也是一种分支语句。它常常用于多分支的情况。

例如你想输出数字几就出星期几

1:星期一

2:星期二

3:星期三等

代码如下(示例):

int main()
{	
int day = 0;
	scanf("%d", &day);
	switch(day)
	{
		case 1 :
		{
			printf("星期一\n"); 
		    break;
		}
		case 2:
		{
			printf("星期二\n");
			break;
		}
		case 3:
		{
			printf("星期三\n");
			break;
		}
		case 4:
		{
			printf("星期四\n");
			break;
		}
		case 5:
		{
			printf("星期五\n");
			break;
		}
		case 6:
		{
			printf("星期六\n");
			break;
		}
		case 7:
		{
			printf("星期天\n");
			break;
		}
		default:
			printf("输入错误\n");
            break;
	}
	return 0;

}

switch的运算逻辑是一直往下走的,如果每个选项中不加break,它将会执行包括它对应的选项之后的每一个选项。

switch中如果不加break就没办法实现分支,必须搭配break来使用才能真正做到分支。

break的实际效果就是把语句列表分割给不同的分支部分。

default的作用是除了选项中的输入,其他的输入就到这个分支中来。default的位置可以任意,只要它能满足你的需求的前提下,不过我们一般把它放在后面,如果不加函数也不会报错,这也不是一个错误,只是会忽略这个值,结果就是所有语句被跳过。

因此根据这个特性,我们如果想输入工作日和周末之分的话就可以输入成

	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");
			break;
		}
		default:
			printf("输入错误\n");
            break;
	}
	return 0;
}

编程好习惯


在每一个switch语句中都放一个default子句,里面还可加个break。


最后我在这里放一串代码,你们可以解一下结果是多少

总结

以上就是今天要讲的内容,本文只是简单的介绍了if else和switch 的分支语句的使用方法,实际编程中将会经常结合多种函数来使用。希望这篇文章能够帮你理解分支语句的结构和使用。
 


网站公告

今日签到

点亮在社区的每一天
去签到