“开关”的中文翻译是“开关”。顾名思义,开关的作用就是控制接通或中断。C语言中switch语句的作用类似。下面文章主要介绍C语言中switch语句基本用法的相关信息。有需要的朋友可以参考一下。
目录
switch语句:switch语句的基本格式C语言switch语句用法补充:用switch总结成绩。
switch语句:
在现实生活中,我们需要做出很多选择。大家都知道在做选择的时候可以使用if语句,但是如果选择太多,if语句使用起来会比较繁琐。这时候我们就需要一个可以简化代码的语句,也就是我们今天的主角switch语句。
switch语句是一个多分支选择语句,可以支持嵌套。
switch语句的基本格式
开关(表达式)
{
案例1:陈述1
案例常数2:陈述2
默认值:语句n
打破;
}
switch语句将表达式的值与常数值进行比较。如果它们相等,将执行下面的语句。如果它们不相等,switch语句将跳转到下一个case语句。当表达式和常量值相等时,switch语句将输出当前的case语句和所有后续的case语句。
C语言switch语句用法
如果我们希望用户输入一个数字来确定今天是星期几,那么我们可以使用下面的代码。
# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含stdio.h
int main()
{
int day=0;//定义一个整数变量day,并将其赋值为0
Printf('请输入一个数字\ n ');//让用户输入一个数字
scanf('%d ',天);//接收用户输入的号码
开关(日)
{
1: printf('星期一\ n ');//如果day的值为1,则输出星期一
2: printf('星期二\ n ');//以下同上。
3: printf('星期三\ n ');
4: printf('星期四\ n ');
5:printf(' Friday \ n ');
6: printf('星期六\ n ');
7:printf(' Sunday \ n ');
默认值:
打破;
}
返回0;
}
运行结果如下图所示。你可以看到,当我输入2的时候,switch语句会执行我的2以及后面所有的语句,这显然不是我想要的结果。那么如何解决这个问题呢?很简单,在每个case语句后加一个break语句即可。
Break语句:switch语句运行时,遇到break关键字就会跳出来,也就是说当语句运行到break时,就不再运行了,然后剩下的case语句就不再执行了,switch语句结束。
# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含stdio.h
int main()
{
int day=0;//定义一个整数变量day,并将其赋值为0
Printf('请输入一个数字\ n ');//让用户输入一个数字
scanf('%d ',天);//接收用户输入的号码
开关(日)
{
1: printf('星期一\ n ');
打破;
2: printf('星期二\ n ');
打破;
3: printf('星期三\ n ');
打破;
4: printf('星期四\ n ');
打破;
5:printf(' Friday \ n ');
打破;
6: printf('星期六\ n ');
打破;
7:printf(' Sunday \ n ');
打破;
}
返回0;
}
可以看到,当我再次输入2时,我只输出一个星期二。显然,break语句已经生效,达到了预期的效果。另外值得注意的是,语句可以是空语句,所以我们可以通过break语句和空语句的组合来实现下面的代码。
# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含stdio.h
int main()
{
//实施1-5是工作日,6和7是休息日。可以看出,当case语句之后没有执行语句,没有断点时,代码会从条件判断开始进入,直到遇到断点。
int day=0;
scanf('%d ',天);
开关(日)
{
案例1:
案例二:
案例三:
案例4:
5: printf('工作日\ n ');
打破;
6: printf('休息日\ n ');
破裂
7: printf('休息日\ n ');
打破;
}
返回0;
}
那么问题来了。如果用户不小心输入了一个不在switch语句中的常量值怎么办?这个也很简单,只需要很小的默认。请看。
# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含stdio.h
int main()
{
//实施1-5是工作日,6和7是休息日。可以看出,当case语句之后没有执行语句,没有断点时,代码会从条件判断开始进入,直到遇到断点。
int day=0;
scanf('%d ',天);
开关(日)
{
案例1:
案例二:
案例三:
案例4:
5: printf('工作日\ n ');
打破;
6: printf('休息日\ n ');
破裂
7: printf('休息日\ n ');
打破;
默认值:printf('请重新输入\ n ');
打破;
}
返回0;
}
default的作用是,如果表达式的值与常数值不匹配,则在default之后输出语句。
那么我们前面说过switch语句是可以嵌套的。请看下面的代码。
# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含stdio.h
int main()
{
int n=1;
int m=2;
开关(n)
{
案例一:m;
案例二:n;
案例三:
switch (n) //switch语句可以支持嵌套
{
案例一:n;
案例二:m;n;
打破;
默认值:
打破;
}
案例四:m;
打破;
默认值:
打破;
}
printf('m=%d,n=%d\n ',m,n);
返回0;
}
那么这段代码的运行结果就留给你自己体验了。
补充:用switch来给成绩等级
#包含stdio.h
int main()
{
int分数;//分数
Printf('请输入分数:');
scanf('%d ',分数);
开关(得分/10)
{
案例10:printf(' A ');打破;
案例9:printf(' A ');打破;
案例8:printf(' B ');打破;
案例7:
案例6:printf(' C ');打破;
默认值:printf(' D ');打破;//失败的doge
}
}
总结
关于C语言中switch语句的基本用法,本文到此为止。有关C语言中switch语句用法的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。