问题补充说明:感觉自己对switch语句的理解不够好,书上也没有比较好的例子,希望能有人给个指点...
随便写了一个,输入月份,判断天数。语句中有注释。
#include<iostream.h>
voidmain()
{
intn;
cout<<"请输入月份:";
cin>>n;
switch(n) //如果n等于1~12,则执行相关语句,坚确导粒话投突亮训如果不等于,则执行default所对应语句
{
//以下语句可以这么理解:case1(如果n=1),执行该段语句(cout<<"1月有31天";),break表示结束。
case1:cout<<"前迅1月有31天";break;
case2:cout<<"2月有28天";break;
case3:cout<<"3月有31天";break;
case4:cout<<"4月有30天";break;
case5:cout<<"5月有31天";break;
case6:cout<<"6月有30天";break;
case7:cout<<"7月有31天";break;
case8:cout<<"8月有31天";break;
case9:cout<<"9月有30天";break;
case10:cou零风村晶啊济阻你t<<"10月有31天";break;
case11:cout<<"乎察11月有30天";break;
case12:cout<<"12月有31天";break;
default:cout<<"输入错误!!!"<<endl;
}
cout<<endl;
}
执行结果如下:
拓展:
注意:1,case表达式后为冒号,一定不能丢;
2,ca360问答se语句体后若没有bre调原浓团步速商尼了ak,则会顺次执行,直到遇到break或所有case执行完毕,所以break一定不能丢,但也岁悔茄有例外;
3,若几个相邻的case,语句体一样,则前面case的语句体和break都可以省略,但分号(;)要保留;
4,default视情况而定并不是必须的,default后的break可省略,因为已经是最后了,有没有break此时程序都会跳出switch突积讲项植入现。
标签:swit