C语言中,switch可以做菜单选择,输入某个输入项,匹配一个入口后,就开始执行该入口的语句,一般写法如下:
- swtich (表达式)
- {
- case 常量表达式1: 表达式1;
- case 常量表达式2: 表达式2;
- ...
- default: 表达式n;
- }
- #include <stdio.h>
- int main(void)
- {
- int num;
- printf("请输入一个数值: ");
- scanf("%d",&num);
- switch (num)
- {
- case 1:
- printf("输入的是数值:1\n");
- break;
- case 2:
- printf("输入的是数值:2\n");
- break;
- default:
- printf("未识别的数值!\n");
- break;
- }
- }
在上面的程序里,当输入一个1,则输出“输入的是数值:1”,输入一个2,则输出“输入的是数值:2”,当输入其他数值的时候,输出“未识别的数值!”
这里需要注意的是,为什么每个case之后,要有break呢?
因为case是一个程序的入口,当程序找到一个入口之后,如果没有中断的话,在该入口里的 语句执行完毕之后,则会继续顺序的执行下面的程序,即会进入下一个程序入口,下面的例子是没有break的
- #include <stdio.h>
- int main(void)
- {
- int num;
- printf("请输入一个数值: ");
- scanf("%d",&num);
- switch (num)
- {
- case 1:
- printf("输入的是数值:1\n");
- //break;
- case 2:
- printf("输入的是数值:2\n");
- //break;
- default:
- printf("未识别的数值!\n");
- break;
- }
- }
执行结果:
所以,在使用switch的时候,要特别注意break不能忘记。