C语言中的选择语句
  ycXM1KBRvzdS 2023年11月18日 30 0

switch语句(一般使用在多分支的语句中,同时允许嵌套使用)

最简单的格式如下:

switch(整型表达式)
{
	语句项;
}

举个例子:

#include<stdio.h>
int main()
{ 
 int day=0;
 scanf("%d",&day)
 switch(day)
 { case 1:
			printf("星期一\n");
   case 2:
			printf("星期二\n");
   case 3:
			printf("星期三\n");
   case 4:
			printf("星期四\n");
   case 5:
			printf("星期五\n");
   case 6:
			printf("星期六\n");
   case 7:
			printf("星期日\n");
 }
 return 0;
}

一般该语句与case一同使用,case语句后应是整型常量表达式,结尾应有冒号。但如果代码像上面一样的话,结果没办法结束,所以我们应该在最后加上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语句中无法运行,应在后面加入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;
   default:
  			printf("输入错误\n");
  			break;
 }
 return 0;
}

当然,case后面不一定要break,如下所示:

#include<stdio.h>
int main()
{ 
 int day=0;
 scanf("%d",&day)
 switch(day)
 { case 1:
   case 2:
   case 3:
   case 4:
   case 5:
  			printf("工作日\n");
  			break;
   case 6:
   case 7:
			printf("休息日\n");
  			break;
   default:
  			printf("输入错误\n");
  			break;
 }
 return 0;
}

最后,switch语句还可以嵌套使用

#include<stdio.h>
int main()
{
  int n=1;
	int m=2;
	switch(n)
  {case 1:
   			n++;
   case 2:
   			m++;
   case 3:
   			switch(n)
        {case 1:
         			n++;
         case 2:
         			m++;
         			n++;
         			break;
        }
   case 4:
   			m++;
   			break;
   default:
   			break;   
   }   
  printf("m=%d\n,n=%d\n",m,n);
  return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月18日 0

暂无评论

ycXM1KBRvzdS
作者其他文章 更多