
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选衡派哗择结构,执行switch选择结构之后的代码。
如咐行果任羡贺何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。
随便写了一个,输入月份,判断天数。语句中有注释。
#include<iostream.h>
void main()
{
int n
cout<<"请输入月份:"
cin>>n
switch(n) //如果n等于1~12,则执行相关语句,如果不等于,则执行default所对应语句
{
//以下语句可以这么理解:case 1(如果n=1),执行该乎察段语句(cout<<"1月有31天"),break表示结束。
case 1: cout<<"1月有31天岁悔茄"break
case 2: cout<<"2月有28天"break
case 3: cout<<"3月有31天"break
case 4: cout<<"4月有30天"break
case 5: cout<<"5月有31天"break
case 6: cout<<"6月有30天"break
case 7: cout<<"7月有31天"break
case 8: cout<<"8月有31天"break
case 9: cout<<"9月有30天"break
case 10: cout<<"10月有31天"break
case 11: cout<<"11月有30天"break
case 12: cout<<"12月有31天"break
default: cout<<"输入错误!!!"<<endl
}
cout<<endl
}
执行结果如下:
拓展:
注意:1,case表达式后为冒号,一定不能丢;
2,case 语句体后若没有break,则会顺次执行,直到遇到break 或所有case 执行完毕,所以break一定不能丢,但也有例外;
3,若几个相邻的case ,语句体一样,则前面case 的语句体前迅和break都可以省略,但分号(;)要保留;
4, default 视情况而定并不是必须的,default 后的break可省略,因为已经是最后了,有没有break 此时程序都会跳出switch。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)