1. 虽然if....else语句可以实现多分支结构,但是分支较多时,程序结构会十分复杂,降低了程序的可读性;C语句提供了另一种用于描述多分支选择的语句,switch语句,又称为开关语句;
2. 一般形式为:
switch(表达式)
{
case 常量表达式1;语句1;
case 常量表达式2;语句2;
case 常量表达式3;语句3;
..........
case 常量表达式n;语句n;
default: 语句n + 1;
}
3.该语句执行顺序:首先计算switch语句表达式的值,然后从case语句中寻找值相等的常量表达式,以此为入口,顺序执行;
4.如果未有系统的值,则寻找default语句,如果有执行后续操作;否则不做任何操作;
5.例题:
从键盘接收用户输入的整形值,按照值显示对应星期早餐内容;
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
printf("输入今天星期几: ");
scanf_s("%d", &a);
switch (a)
{
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");
}
system("pause");
return 0;
}
- 要跳出switch语句,需要使用break语句;
- break语句只有一个break 关键字;