C++中的switch結構同樣也可以實現多種分支結構,類似else if結構,即對於多種情況時候可以根據條件讓程式判斷選擇走哪個分支,豐富了程式的可能性,使用方法與C語言類似,一般結構如下:
switch(表達式){case常數表達式1:語句1;case常數表達式2:語句2;case常數表達式3:語句3;//…case常數表達式n:語句n;default:語句n +1;}
請注意,switch括號後面沒有分號!這一點是新手容易犯的錯誤。
程式的執行流程是,先執行switch後面小括號裡表達式的值,然後和case後面的常數比較,看看哪個相等,一旦相等,那麼就從這個case冒號後面的語句開始執行,即執行完對應的語句後,把後面case的語句也執行完,不再去判斷case的值相等與否了。而如果比較完一遍發現所有case都不相等的話,那就執行default後面的語句了。這就是switch結構的執行特點。
下面我們以一道實際問題來例,給大家詳細講解用法,1783題星期判斷機,請大家先自行讀題並嘗試解決提交,然後再參考答案。
參考答案如下:
#include<iostream>usingnamespacestd;intmain(){intn;cin>>n;switch(n){case0:cout<<Sunday;break;case1:cout<<Monday;break;case2:cout<<Tuesday;break; case3:cout<<Wednesday;break;case4:cout<<Thursday;break;case5:cout<<Friday;break;case6:cout<<Saturday;break;default:cout<<inputerror!;}return0;}
請大家親自上機編碼,記得不要眼高手低!