[C语言] #编程 学会使用switch语句 用switch语句求星期

本文介绍了一个简单的C语言程序,用户通过输入1-7选择星期,程序会输出对应的一天。遇到无效输入时,程序会提示错误。
#include <stdio.h>
int main()
{
	int day = 0;
	printf("请输入星期1~7\n");
	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;
}

每条语句后都要写break语句。

在C语言中,`switch`语句适用于多分支条件控制的场景,尤其是在需要根据某个表达式的值匹配多个固定常量的情况下。相较于`if-else`结构,`switch`语句能够使代码更清晰、简洁,并提高可读性和执行效率。 ### 适用场景 1. **处理多个离散值的选择** 当一个变量需要与多个整型或枚举常量进行比较时,使用`switch`语句更为高效。例如,判断用户输入字对应星期几的情况[^4]。 2. **菜单驱动程序的设计** 在实现用户交互式菜单时,例如命令行工具中的功能选择,每个选项可以对应一个`case`分支,便于维护和扩展。 3. **状态机的实现** `switch`语句非常适合用于状态机逻辑中,其中当前状态决定下一步行为,例如网络连接的状态切换(就绪、连接中、已断开等)。 4. **字符或枚举值的匹配** 如果需要根据不同的字符或枚举类型值执行不同操作,例如解析命令行参或处理协议字段,`switch`语句是一个理想选择。 5. **避免冗长的if-else if链** 当有多个连续的条件判断时,使用`switch`可以减少重复的条件表达式,提升代码可维护性。 6. **具有明确默认处理的情况** `switch`语句提供了一个`default`分支,用于处理未匹配到任何`case`的情况,确保所有可能输入都有对应的处理逻辑[^3]。 ### 注意事项 - `switch`语句的控制表达式只能是整类型(如`int`、`char`)或枚举类型。 - 每个`case`标签后通常应加上`break;`语句,以防止“贯穿”现象(fall-through),即执行完当前`case`后继续执行后续分支[^2]。 - 若有意利用贯穿特性实现多个`case`共享同一段代码,则需谨慎设计并加以注释说明。 ```c #include <stdio.h> int main() { int choice; printf("请输入选项 (1-3): "); scanf("%d", &choice); switch(choice) { case 1: printf("你选择了选项一。\n"); break; case 2: printf("你选择了选项二。\n"); break; case 3: printf("你选择了选项三。\n"); break; default: printf("无效的选项。\n"); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值