switch語句是多分支選擇語句,用來實現多分支選擇結構,switcht的一般形式如下,和c語言基本上一樣,只是輸出語句不同。
switch
(表示式)
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;
intmain()
else
else
}switch
(month)
else
;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
2023年是閏年
你輸入的10月有31天
判斷某年是否使閏年,並且判斷這年的某月有幾天。
JS判斷某年某月有多少天
以前寫網頁的時候,經常碰到選擇日期的問題,其實就是 判斷某年某月有多少天。一般的做法是先判斷是幾月份,然後決定有多少天 一般用switch 如果是2月的話,還得判斷選擇的年份是不是閏年,再決定是28天還是29天。這樣是乙個很規矩的做法,而且也很符合邏輯。但是,如果是為了達到目的的話,是不用這麼麻煩的...
php判斷某年某月有多少天
year 2001 這裡輸入的年份 month 10 這裡輸入的月份 switch month 年月的天數是31天 break case 3 echo 年月的天數是31天 break case 5 echo 年月的天數是31天 break case 7 echo 年,月的天數是31天 break c...
獲取某年某月天數 js
var years new date getfullyear var month new date getmonth 1 var days getdaysinmonth years,month 得到指定某月的全部天數,可以不用去判斷閏年還是平年 function getdaysinmonth yea...