switch中case后可以是表达式吗_自学C++基础教程【流程控制语句】(switch语句 )...
switch語句:又被稱之為 分支選擇語句,它提供了一種更方便的方法來實現深層嵌套的if、else邏輯:
switch語句先計算表達式的值,并逐個與其后的常量表達式的值相比較,當表達式的值與某個常量表達式的值相等時,即執行其后的語句。如果表達式的值與所有case后的常量表達式均不相同時,則執行default后的語句。
使用switch語句時還應注意以下4點:
①在case后的各常量表達式的值不能相同,否則會出現錯誤。
②在case后,允許有多個語句,可以不用{}括起來。
3.各case和default子句的先后順序可以變動,而不會影響程序執行結果。
④default子句可以省略不用。
在代碼編輯器中輸入以下代碼,編輯查看結果:
#include <iostream>
using namespace std;
void main()
{
int iDate;
cout<<"請輸入個數字:"<<endl;
cin>>iDate;
switch (iDate)
{
case 1:
cout<<"周一"<<endl;
case 2:
cout<<"周二"<<endl;
case 3:
cout<<"周三"<<endl;
case 4:
cout<<"周四"<<endl;
case 5:
cout<<"周五"<<endl;
case 6:
cout<<"周六"<<endl;
case 7:
cout<<"周日"<<endl;
default:
cout<<"抱歉,地球沒這天"<<endl;
}
system("pause");
}
編譯以上的代碼可以發現:當我們輸入 1 時 , 結果如下:
原因:代碼中“case 1:”判斷成立后,該case并沒有與break相對應,導致下面的所有的case都能夠被判定為成立。
解決方法: 每個case塊的最后都要有一個break與之相對應,default后不需要對應break
正確規范的寫法如下:
#include <iostream>
using namespace std;
void main()
{
int iDate;
cout<<"請輸入個數字:"<<endl;
cin>>iDate;
switch (iDate)
{
case 1:
cout<<"周一n"<<endl;
break;
case 2:
cout<<"周二n"<<endl;
break;
case 3:
cout<<"周三n"<<endl;
break;
正確規范的寫法如下:
#include <iostream>
using namespace std;
void main()
{
int iDate;
cout<<"請輸入個數字:"<<endl;
cin>>iDate;
switch (iDate)
{
case 1:
cout<<"周一n"<<endl;
break;
case 2:
cout<<"周二n"<<endl;
break;
case 3:
cout<<"周三n"<<endl;
break;
case 4:
cout<<"周四n"<<endl;
break;
case 5:
cout<<"周五n"<<endl;
break;
case 6:
cout<<"周六n"<<endl;
break;
case 7:
cout<<"周日n"<<endl;
break;
default:
cout<<"抱歉,地球沒這天n"<<endl;
break;
}
system("pause");
}
自學C/C++資料鏈接:https://pan.baidu.com/s/1N4vZYeRPA4y2P42rP_t_JQ
提取碼:ktb7
學習從來都不是一個人的事,如果你感覺小編的這篇文章對你有幫助的話,可以關注小編首頁和小編來一起學習C/C++語言,小編會持續更新后續的內容哦!!
總結
以上是生活随笔為你收集整理的switch中case后可以是表达式吗_自学C++基础教程【流程控制语句】(switch语句 )...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python反转义字符_Python对H
- 下一篇: 树莓派i2c python_树莓派2 p