C语言学习笔记之(switch的case枚举)

一、书写格式

switch(表达式)
{
case 常量表达式1:[语句1]
case 常量表达式2:[语句2]
…
case 常量表达式n:[语句n]
[default:语句n+1]
}

二、示例代码

输入相应的数字输出相对应的月份

#include <stdio.h>
int main()
{
	int a;					/*定义整型变量a表示月份数*/
	printf("Please enter an integer :");		/*输出提示信息*/
	scanf("%d",&a);				/*输入月份的值*/
	switch(a)				/*switch语句判断*/
	{
	case 1:printf("January\n");break;		/*a值为1时输出January并跳出switch*/
	case 2:printf("February\n");break;		/*a值为2时输出February并跳出switch*/
	case 3:printf("March\n");break;		/*a值为3时输出March并跳出switch*/
	case 4:printf("April \n");break;		/*a值为4时输出April并跳出switch*/
	case 5:printf("May\n");break;		    /*a值为5时输出May并跳出switch*/
	case 6:printf("June\n");break;		    /*a值为6时输出June并跳出switch*/
	case 7:printf("July\n");break;		    /*a值为7时输出July并跳出switch*/
	case 8:printf("August\n");break;		    /*a值为8时输出August并跳出switch*/
	case 9:printf("September\n");break;	                  /*a值为9时输出September并跳出switch*/
	case 10:printf("October\n");break;		    /*a值为10时输出October并跳出switch*/
	case 11:printf("November\n");break;   	    /*a值为11时输出November并跳出switch*/
	case 12:printf("December\n");break;	                  /*a值为12时输出December并跳出switch*/
	default:printf("Error!\n"); break;		    /*提示错误*/
	}

三、示例代码2

输入相应的数字,输出相对应的月份

#include <stdio.h>
int main()
{
	int score;
	printf("Please enter score:");			/*屏幕提示语*/
	scanf("%d",&score);				/*输入百分制的分数*/
	if(score>100||score<0)
		printf("输入数据无意义!\n");		/*分数值不合理时显示出错信息*/
	else
	switch(score/10)
	{
		case 10:
		case 9:printf("优\n");break;			/*score/10等于10和9均执行此分支*/
		case 8:printf("良\n");break;			/*score/10等于8执行此分支*/
		case 7:printf("中\n");break;			/*score/10等于7执行此分支*/
		case 6:printf("及格\n");break;		/*score/10等于6执行此分支*/
		case 5:
		case 4:
		case 3:
		case 2:
		case 1:
		case 0:printf("不及格\n");break;		/*score/10等于0~5均执行此分支*/
	}
	return 0;
}

//或者以下格式
#include <stdio.h>
int main()
{
	int score;
	printf("Please enter score:");			/*屏幕提示语*/
	scanf("%d",&score);				/*输入百分制的分数*/
	if(score>100||score<0)
		printf("输入数据无意义!\n");		/*分数值不合理时显示出错信息*/
	else
	switch(score/10)
	{
		case 10:
		case 9:printf("优\n");break;			/*score/10等于10和9均执行此分支*/
		case 8:printf("良\n");break;			/*score/10等于8执行此分支*/
		case 7:printf("中\n");break;			/*score/10等于7执行此分支*/
		case 6:printf("及格\n");break;		/*score/10等于6执行此分支*/
        default: printf("不及格\n");break;	/*score/10等于0~5均执行此分支*/
	}
	return 0;
}