C语言中关于分支与循环的那些小知识------switch语句

分支与循环之—switch语句



前言

上篇文章介绍了分支与循环中的if语句,那么我们开始介绍选择结构里的另一个语句------switch语句。


什么是switch语句

switch语句是一种特殊的if......else......结构,用于判断多个结果的条件。它把if......else......结构中多重的else if,改成了更方便,可读性更高的形式。

1.switch语句形式

代码如下(示例):

1 switch (exp) {
   
2   case val1: statement
3   case val2: statement
4   default: statement
5 }

上⾯代码中,根据表达式 exp 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值,就执⾏ default 分⽀。

注意:
1、switch 后的 exp 必须是整型表达式
2、 case 后的值,必须是整形常量表达式

2.switch语句中的break

代码如下(示例):

#include <stdio.h>
//输入数字来计算除以5的余数是多少,并打印出来
int main()
{
   
	int i = 0;
	printf("请输入要计算的数字:");
	scanf("%d", &i);
	switch (i % 5) {
   
	case 0:
		printf("整除了\n");
		break;
	case 1:
		printf("余数是 1 \n");
		break;
	case 2:
		printf("余数是 2 \n");
		break;
	case 3:
		printf("余数是 3 \n");
		break;
	case 4:
		printf("余数是 4 \n");
		break;
	}
	return 0;
}

上面代码使用了break,只有使用了break,case语句执行完之后才能跳出switch语句,如果某一个case后面没有使用break那么代码将会一直执行下去直到遇到break,或者执行到switch语句结束。
这里注意:
case与后面的数字之间必须有空格。
所以breakswitch语句中非常重要,可以实现真正的分支效果。
当然也不是所有case后面都要有break,还是得根据实际情况来判断。

3.switch语句中的default

如果在switch语句中,匹配不到合适的case语句时是不是就不能输出了呢?当然不是,这里就要用到default这个语句了。
示例:

1 switch (exp) {
   
2   case val1: statement
3   case val2: statement
4   default: statement
5 }

如果exp的结果既不是val1也不是val2是,就会执行default后面的代码。
例如:

//输入月份来判断春夏秋冬(3--5月春天)(6--8月夏天)(9--11月秋天)(12--2月冬天)
int main()
{
   
	int month = 0;
	printf("请输入月份:");
	scanf("%d", &month);
	switch (month) {
   
	case 1:
	case 2:
	case 12:
		printf("是冬天\n");
		break;
	case 3:
	case 4:
	case 5:
		printf("是春天\n");
		break;
	case 6:
	case 7:
	case 8:
		printf("是夏天\n");
		break;
	case 9:
	case 10:
	case 11:
		printf("是秋天\n");
		break;
	default:
		printf("输入错误\n");
	}
	return 0;
}

上面代码中如果我输入13,那么就会执行default后面这个句子。
补充一点:
当我们多个case要输出一样的句子时,可以按照我上面这样可以省略掉很多代码,也更容易读这个代码。

下期我们接着介绍循环结构!!

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 23:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 23:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 23:28:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 23:28:01       20 阅读

热门阅读

  1. TS:子类型关系

    2024-01-29 23:28:01       32 阅读
  2. C#学习笔记_关键字ref、out

    2024-01-29 23:28:01       33 阅读
  3. leetCode 第十五天

    2024-01-29 23:28:01       39 阅读
  4. 聊聊 FTP、SFTP、FTPS

    2024-01-29 23:28:01       33 阅读
  5. 个人关于背包问题的·总结(三)

    2024-01-29 23:28:01       30 阅读
  6. git修改用户名与邮箱

    2024-01-29 23:28:01       41 阅读