1.分支语句

解释:条件判断语句也被称为分支语句,就是满足一定的条件才执行的语句只要有if else语句 switch语句

1.1if else 语句

就是满足一定的条件才实行的语句 结构体就是 if(条件判断)+执行的语句,如果条件为真就执行语句

在这给大家举个简单的例子:就在昨天发生在我身上的一件事情

事情是这样的:昨天我和我准女朋友去玩,我俩就开玩笑说如果去抓娃娃,抓到了就在一起,就用抓到的这个娃娃记录我们的开始,结果在我们没啥希望的时候那个娃娃就突然被抓到了,所以我们就在一起了

那我们用一个简单的if语句来写出来我的这个事情哈

#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
int main() {
	int flag ;
	scanf("%d", &flag);//抓到娃娃了就输入1,没有抓到就输入0
	if (flag == 1) {
		printf("我和我女朋友抓到娃娃了,所以我们在一起了");
	}
	else {
		printf("我们没有抓到娃娃,所以我们的开始不能用这个娃娃记录了");
	}
	return 0;
}

显然我昨天出去是抓到娃娃了,所以我输入1 ,大家看返回值

再举个例子说明一下这个语句:比如说我们现在都是在学习呢,如果说你好好学习,那你将来可以拿到一个好的offer,如果说你直接摆烂,那么你就要去卖烤红薯养活自己(只是一个简单的例子,给自己的代码生活添点乐趣)那我们下面展示代码

int main() {
	int flag;//此时我们只是定义一个int型变量的flag并没有给它初始值
	scanf("%d", &flag);
	if (flag == 1) {
		printf("你好好学习了,你可以拿到一个好的offer");
	}
	else {
		printf("你没有好好学习,所以你只能卖烤红薯去养活自己");
	}
	return 0;
}

如果你今天看了我的博客,并且你自己也上手敲了代码,那就说明你今天学习了,你可以拿到一个好的offer,那就输入1

如果说你今天啥也没有干,睡了一天,那就输入0;

  

if else语句的多分支语句,上面只是讲解了两种情况那么三种或者三种以上呢:那我们就要用到

if (条件语句1) {
	执行的语句exp1
}
else if (条件语句2) {
	执行语句exp2
}
else if (条件语句3) {
	执行语句exp3
}
else {
	如果以上的条件语句都没有满足,就执行此语句
}

 那我们下面举个例子:

int main() {
	int age;
	scanf("%d", &age);
	if (age < 18) {
		printf("你还是一个未成年人");
	}
	else if (age == 18) {
		printf("你今年刚刚成年");
	}else if (age > 18 && age < 40) {
		printf("你已经中年了");
	}
	else if (age >= 40 && age < 70) {
		printf("你已经壮年了");
	}
	else {
		printf("你已经是老寿星了");
	}
	return 0;
}

当我们输入45时:

 在这还有一个要讲的如果说遇到下面的一种情况,拿应该会怎么输出呢:

int main() {
	int a = 1;
	int b = 2;
	if (a == 0)
		if (b == 2)
			printf("hh\n");
	else
		printf("hahah\n");
	return 0;
}

那么这个是怎么输出的,发现啥都没有打印出来.

 在这我们要强调一下:else和它最近的语句对齐,和它最近的if匹配;

上面代码加上括号就可以很清楚的看出来.

int main() {
	int a = 1;
	int b = 2;
	if (a == 0) {
		if (b == 2) {
			printf("hh\n");
		}
		else {
			printf("hahah\n");
		}
	}
	return 0;
}

1.2switch语句

switch语句:格式

int main() {
	int a = 1;
	switch (a) {
	case 1:
		语句1;
		break;
	case 2:
		语句2;
		break;
	case 3:
		语句三;
		break;
	default://上面情况都不满足的情况
		语句五;
		break;
	}

	return 0;
}

下面举个例子:

int main() {
	int a = 0;
	scanf("%d", &a);
	switch(a){
	case 1:
		printf("星期一");
		break;
	case 2:
		printf("星期二");
		break;
	case 3:
		printf("星期三");
		break;
	case 4:
		printf("星期四");
		break;
	case 5:
		printf("星期五");
		break;
	case 6:
		printf("星期六");
		break;
	case 7:
		printf("星期天");
		break;
	default:
		printf("啥也不是");
		break;
	}
	return 0;
}

此时我们输入3来看看效果:

那么为什么要switch语句:我们把上面的代码用if语句写一下,大家一看便知为什么有switch语句

int main() {
	int a = 0;
	scanf("%d", &a);
	if (a == 1) {
		printf("星期一");
	}
	else if (a == 2) {
		printf("星期二");
	}
	else if (a == 3) {
		printf("星期三");
	}
	else if (a == 4) {
		printf("星期四");
	}
	else if (a == 5) {
		printf("星期五");
	}
	else if (a == 6) {
		printf("星期六");
	}
	else if (a == 7) {
		printf("星期天");
	}
	else {
		printf("啥也不是");
	}
	return 0;
}

 此时我们很清楚的看到,当我们要输出这样的形势的时候,用if条件语句的时候,很明显的发现语句很乱,给我们的美观度太差了,而当我们使用switch语句的时候,明显很清晰;

在这switch语句还有这样的一个用法:当我们输入1,2,3,4,5,让打印"要上班,累",输入6,7的时候打印"放假了,开心"

int main() {
	int a = 0;
	scanf("%d", &a);
	switch (a) {
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("要上班,累");
		break;
	case 6:
	case 7:
		printf("放假了,开心");
		break;

	}
	return 0;
}

更多推荐

C语言条件判断语句