switch语句:又被称之为 分支选择语句,它提供了一种更方便的方法来实现深层嵌套的if、else逻辑:
switch语句先计算表达式的值,并逐个与其后的常量表达式的值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句。如果表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
使用switch语句时还应注意以下4点:
①在case后的各常量表达式的值不能相同,否则会出现错误。
②在case后,允许有多个语句,可以不用{}括起来。
3.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
④default子句可以省略不用。
在代码编辑器中输入以下代码,编辑查看结果:
#include <iostream>
using namespace std;
void main()
{
int iDate;
cout<<"请输入个数字:"<<endl;
cin>>iDate;
switch (iDate)
{
case 1:
cout<<"周一"<<endl;
case 2:
cout<<"周二"<<endl;
case 3:
cout<<"周三"<<endl;
case 4:
cout<<"周四"<<endl;
case 5:
cout<<"周五"<<endl;
case 6:
cout<<"周六"<<endl;
case 7:
cout<<"周日"<<endl;
default:
cout<<"抱歉,地球没这天"<<endl;
}
system("pause");
}
编译以上的代码可以发现:当我们输入 1 时 , 结果如下:
原因:代码中“case 1:”判断成立后,该case并没有与break相对应,导致下面的所有的case都能够被判定为成立。
解决方法: 每个case块的最后都要有一个break与之相对应,default后不需要对应break
正确规范的写法如下:
#include <iostream>
using namespace std;
void main()
{
int iDate;
cout<<"请输入个数字:"<<endl;
cin>>iDate;
switch (iDate)
{
case 1:
cout<<"周一n"<<endl;
break;
case 2:
cout<<"周二n"<<endl;
break;
case 3:
cout<<"周三n"<<endl;
break;
正确规范的写法如下:
#include <iostream>
using namespace std;
void main()
{
int iDate;
cout<<"请输入个数字:"<<endl;
cin>>iDate;
switch (iDate)
{
case 1:
cout<<"周一n"<<endl;
break;
case 2:
cout<<"周二n"<<endl;
break;
case 3:
cout<<"周三n"<<endl;
break;
case 4:
cout<<"周四n"<<endl;
break;
case 5:
cout<<"周五n"<<endl;
break;
case 6:
cout<<"周六n"<<endl;
break;
case 7:
cout<<"周日n"<<endl;
break;
default:
cout<<"抱歉,地球没这天n"<<endl;
break;
}
system("pause");
}
自学C/C++资料链接:https://pan.baidu.com/s/1N4vZYeRPA4y2P42rP_t_JQ
提取码:ktb7
学习从来都不是一个人的事,如果你感觉小编的这篇文章对你有帮助的话,可以关注小编首页和小编来一起学习C/C++语言,小编会持续更新后续的内容哦!!