分支语句及其应用

个人主页:点我进入主页

专栏分类:C语言初阶      C语言程序设计————KTV       C语言小游戏     C语言进阶

欢迎大家点赞,评论,收藏。

一起努力,一起奔赴大厂。

目录

1.if语句

1.1单分支语句

1.2多分支语句

1.3注意

2.switch语句 

        在之前我给大家讲解了关于循环语句及其应用,想要学习的小伙伴可以点击循环语句及其应用_steventom的博客-CSDN博客,进行学习。今天我们主要学习的是另外一种语法——分支循环及其应用,它主要包括if语句switch语句。分支语句是我们常用的语句,因此学会它非常重要。

1.if语句

1.1单分支语句

单分支语句主要就是if...else,我们可以写一个代码来感受一下,代码如下:

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

        这个代码就是我们的单分支语句,我们先输入一个n,然后对n进行判断如果n大于等于18执行

printf(“成年\n”)语句,否则执行printf(“未成年\n”)语句。

1.2多分支语句

        当我们面对一个问题时,有时候会出现多个解决方案,这时候就需要多分支语句,它主要就是if...else if...else if...else(else if),我们可以写一个代码来感受一下,代码如下:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	if (n < 18)
		printf("未成年");
	else if (n >= 18 && n <= 25)
		printf("青年");
	else if (n > 25 && n <= 35)
		printf("壮年");
	else if (n > 35 && n <= 50)
		printf("中年");
	else if (n > 50 && n <= 80)
		printf("老年");
	else if (n > 80)
		printf("老寿星");
}

首先,通过scanf("%d", &n)获取用户输入的年龄。

然后,使用一系列的if else语句来判断年龄范围并输出相应的信息。其中:

  • 如果年龄小于18岁,则输出“未成年”;
  • 如果年龄在18岁到25岁之间,则输出“青年”;
  • 如果年龄在25岁到35岁之间,则输出“壮年”;
  • 如果年龄在35岁到50岁之间,则输出“中年”;
  • 如果年龄在50岁到80岁之间,则输出“老年”;
  • 如果年龄大于80岁,则输出“老寿星”。

最终,使用printf()函数将输出信息显示在屏幕上。

1.3注意

对于if语句我们有几点需要注意:

1.不管是if还是else还是else if它的后面只能跟一条语句,如果想过很多条语句就必须用大括号括起来,形成一个语句块,例如代码如下:

#include <stdio.h>
int main()
{
	int n = 10;
	if (n == 10)
	{
		printf("%d\n", n);
		n++;
		printf("%d\n", n);
	}
}

当我们运行后我们可以看到:

 2.else语句遵循就近原则,它也总是和距离最近的没有和else组队的if进行结合,代码如下:

#include <stdio.h>
int main()
{
	int n = 10;
	if (n > 20)
		if (n > 30)
			printf("hehe");
	else
		printf("haha");
	return 0;
}

        其中的else和他的上一个if组合也就是说它和if(n>30)进行组合,对于输出结果,由于n等于10不满足n大于20,故不会进入分支中,什么也不会输出。

注意非常重要,希望各位小伙伴们可以仔细阅读。

2.switch语句 

有时候我们需要写一个程序,但是if语句会很复杂,这时候我们可以使用switch语句,而在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支。例如代码:

#include <stdio.h>
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;
	}
	return 0;
}

当我们使用switch语句时会变得很简单。注意在switch(day)中day必须是整形,否则不能执行如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签
default:
写在任何一个 case 标签可以出现的位置。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。

我们只需要再增加一条语句

 今天的讲解到此结束,希望大家可以一键三连。

猜你喜欢

转载自blog.csdn.net/Infernal_Puppet/article/details/132188184