switch语句的基本知识

本文详细介绍了C语言中switch语句的基础知识,包括其包含的库函数、case、break和default的作用,以及简化语句和default与case的顺序规则。
摘要由CSDN通过智能技术生成


switch语句的基本知识

一、(switch)包括的库函数

switch中包括的关键字有(case)、(break)、(default)

   switch (expression) {
           case value1. statement
           case value2: statement
           default: statement
                    }

其中注意事项有:
1.switch后面的expression必须是整形表达式。
2.case后面的值,必须是常量整形表达式,并且case和后面的数字必须有一个空格。
3.每一个case语句中的代码执行完成后,必须加上break,才能跳出这个switch语句。
4.case结果不要写重复一样的,不然就会报错或者找不到自己想要的结果。

二、认识 case、break、default

代码如下:

#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;    //如果输入的是7那么程序就会重case进入再重break结束。
             
            
  default:    在程序把所有的case分支语句执行完都没有找到的话就会去执行default分支里面的内容。
  printf("输⼊错误\n");
      break;
 }
 return 0;
}

二(1)、简化语句

1.根据实际情况看,当case语句可以是一样时,可以选择break的位置,从而提高效率。
比如:

 int day = 0;
 scanf("%d", &day);
 
 switch(day)
 {
 case 1case 2:
 case 3:
 case 4:
 case 5:
 printf("⼯作⽇\n");
 break;
 case 6:
 case 7:
 printf("休息⽇\n");
 break;
 default:
 printf("输⼊错误\n");
 break;
 }
 return 0;
}

三、default和case顺序问题

default 没有要求说必须放在最后 也可以放在case前面,但是不能放在case分支语句中间。
比如; (错误示范)

  int day = 0;
 scanf("%d", &day);
 switch(day)
 {
 case 1case 2:
 case 3:
        default:
         printf("输⼊错误\n");
         break;
 break;
 case 4:
 case 5:
 printf("⼯作⽇\n");
 break;
 case 6:
 case 7:
 printf("休息⽇\n");
 break;
 }
 return 0;
}

比如(正确示范):

 int day = 0;
 scanf("%d", &day);
 
 switch(day)
 {
     default:
        printf("输⼊错误\n");
        break;
 case 1case 2:
 case 3:
 case 4:
 case 5:
 printf("⼯作⽇\n");
 break;
 case 6:
 case 7:
 printf("休息⽇\n");
 break;
 return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值