C语言中的switch语句基本用法
导语:switch语句是一个多分支选择语句,并且可以支持嵌套
switch语句的基本格式
switch语句通过将表达式的值与常量值进行比对,如果相等则执行后面的语句,如果不相等则跳到下一个case语句,当表达式和常量值相等,switch语句会将当前case语句以及后面所有的case语句全部输出。假如我们要实现用户输入一个数字来判断今天是星期几,那么就可以用下面的代码实现
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()switch的用法c语言
//{
// int day = 0;
// printf("请输入一个数字\n");
// 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;
//}
这里我们加上一个break语句会有意想不到的结果,当语句运行到break时就不再运行了,接下来剩下的case语句也不会再执行,switch语句结束,看下面的代码的运行结果
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
// int day = 0;
// printf("请输入一个数字\n");
// 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就可以解决问题,请看下面代码将会体现出default的作用
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
// //实现1-5都为工作日,6,7为休息日,可以看出当case语句后没有执行语句且没有break时代码会从条件判断成立进入,直到遇到break
// int day = 0;
// scanf_s("%d", &day);
// switch (day)
// {
// case 1:
// case 2:
// case 3:
// case 4:
// case 5:printf("工作日\n");
// break;
// case 6:printf("休息日\n");
// break;
// case 7:printf("休息日\n");
// break;
// default:printf("请重新输入\n");
// break;
// }
//
// return 0;
//}
switch的嵌套语句,这就需要你们自己去尝试的领悟,得出代码的结果
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
// int n = 1;
// int m = 2;
// switch (n)
// {
// case 1:m++;
// case 2:n++;
// case 3:
// switch (n) //switch语句可以支持嵌套
// {
// case 1:n++;
// case 2:m++; n++;
// break;
// default:
// break;
// }
// case 4:m++;
// break;
// default:
// break;
// }
// printf("m=%d,n=%d\n", m, n);
// return 0;
//}
本章终,谢谢大家支持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论