break后面的语句还执行吗_3.7 C++switch语句

点击上方“C语言入门到精通”,选择置顶

第一时间关注程序猿身边的故事

5ad6c8ab4037db0b000d4e7286a767e7.png

作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?

C++多分支选择结构

switch语句是多分支选择语句,用来实现多分支选择结构,switcht的一般形式如下,和C语言基本上一样,只是输出语句不同。

switch(表达式)
{case 常量表达式1:语句1case 常量表达式2:语句2
  ……case 常量表达式n:语句ndefault:语句n+1
}

switch后面的括号里的表达式,原则上允许为任何类型,多个case可以共用一组执行语句。

当swtich表达式的值与大括号里面的某一个case子句中的变量表达式的值相同时,就会执行此case子句后面的语句。

当所有的case子句中的常量表达式的值没有一个和switch表达式的值相同时,会执行default子句后面的语句。

switch后面大括号里面的每一个case表达式的值必须不同,否则就会出现相互矛盾。

大括号里面的case和default出现的次序不影响执行结果,也就是读者就算把default放到第一行也可以。

执行完一个case子句后,流程控制会转移到下一个case子句继续执行,case常量表达式只是起到语句标号作用,并不是在该处进行条件判断。

在执行switch语句时,根据表达式的值找到与之匹配的case子句后,就从这个case子句开始执行了,不再进行判断。

如果需要使流程跳出switch语句,可以用break语句。

案例:判断某年是否使闰年,并且判断这年的某月有几天。

#include using namespace std;int main(){int year, month, mon;cout << "输入年份和月份,年月之间用空格隔开" << endl;cin >> year >> month; if (month < 1 || month>12)
  {cout << "输入的月份不存在" << endl;
  }else 
  {if ((year % 4 == 0 && year % 100 != 0) || year % 100 == 0)
    {
      mon = 1;cout <"年是闰年" << endl;
    }
    else
    {
      mon = 2;
      cout <"年是平年" << endl;
    }
  }switch (month)
  {case 1:cout << "你输入的1月有31天"; break;case 2:if (mon==1)
    {cout << "你输入的2月有29天";
    }else
    {cout << "你输入的2月有28天";
    }; break;case 3:cout << "你输入的3月有31天" << endl; break;case 4:cout << "你输入的4月有30天" << endl; break;case 5:cout << "你输入的5月有31天" << endl; break;case 6:cout << "你输入的6月有30天" << endl; break;case 7:cout << "你输入的7月有31天" << endl; break;case 8:cout << "你输入的8月有31天" << endl; break;case 9:cout << "你输入的9月份有30天" << endl; break;case 10:cout << "你输入的10月有31天" << endl; break;case 11:cout << "你输入的11月有30天" << endl; break;case 12:cout << "你输入的12月有31天" << endl; break;default:cout << "输入有误!" << endl;break;
  }
}

执行本程序之后

输入年份和月份,年月之间用空格隔开

2020 10

2020年是闰年

你输入的10月有31天

895be3fbdfcdf5c38758bd5f98cd7e48.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值