**部分執行結果
另簡述一下switch的語法, switch支援哪些型別的值
什麼是switch的穿透
實際開發中 通常哪些判斷使用if 哪些判斷使用switch
switch 是一種選擇結構的語句,用來代替簡單的、擁有多個分枝的 if else 語句,基本格式如下:
switch(表示式)
它的執行過程是:
1) 首先計算「表示式」的值,假設為 m。
2) 從第乙個 case 開始,比較「整型數值1」和 m,如果它們相等,就執行冒號後面的所有語句,也就是從「語句1」一直執行到「語句n+1」,而不管後面的 case 是否匹配成功。
3) 如果「整型數值1」和 m 不相等,就跳過冒號後面的「語句1」,繼續比較第二個 case、第三個 case……一旦發現和某個整型數值相等了,就會執行後面所有的語句。
假設 m 和「整型數值5」相等,那麼就會從「語句5」一直執行到「語句n+1」。
4) 如果直到最後乙個「整型數值n」都沒有找到相等的值,那麼就執行 default 後的「語句 n+1」。
支援的資料型別
字元型,只有字元常量可以,例如』a』『b』『6』』\r』實際上是整型.
布林型——真,假,實際上是0,1
整型凡表示式值為整型的都可以.
enum型也可以,因為它模擬0,1,2,3…
字元,布林等這些型別會自動轉換為整型
case 後面必須是乙個整數,或者是結果為整數的表示式,但不能包含任何變數。
c語言的switch語句是穿透的。也就是說當程式判斷某個case的條件為真後,
它將在執行該case所帶的的語句塊之後不再對後面的case的條件進行判斷而直接執行。
直到遇到乙個break(一般在運用時會在每乙個case的語句後加乙個break;以停止switch())
if使用的場景:
1).針對結果是boolean型別的判斷
2).針對乙個範圍的判斷
3).針對幾個常量值的判斷
switch語句:
針對幾個常量值的判斷
#include
#include
void
bool1
(double
* a)
;int
main()
printf
("範圍不對,請重新輸入");
}if(year_s %
400==0||
(year_s %4==
0&& year_s %
400!=0)
)//判斷是否為閏年
else
printf
("這一年二月有%d天\n"
, february)
;//列印二月份的天數
while(1
)if(i ==1)
break
;//判斷是否跳出天數的while迴圈
}printf
("%d年%d月%d日\n"
, year_s, month_s, day_s)
;switch
(month_s)
//根據switch()的穿透性 計算總天數
printf
("\n這是這一年的第 %d 天。\n蟹蟹使用!('ω')!"
, date)
;return0;
}void
bool1
(double
* a)
//對輸入資料進行判斷
char choice;
while
((choice =
getchar()
)!='\n'
&& choice !=
eof)
;printf
("輸入的不是數字!\n");
再次感謝顧北組長長~
NO 1 嫿骨 花裡胡哨Hello World
首先說明我目前的情況 大二機械在讀生 自學了一點點c 只能說是勉強算入個門 或者並沒有 這兩天在乙個機構 購買了會員 老九學堂 用了幾個函式 也更加方便去讀 include include include define hw hello world 將hello world 定義為常量,方便使用 需...
NO 7 嫿骨 if小測試
部分執行截圖 另1.簡述一下if語句的語法 2.連續判斷時,if else if 和if if 的區別在 一 簡述一下if語句的語法 1 if 表示式 語句。例如 if x y printf d x 此時,如果表示式為真,則執行printf語句。2 if 表示式 語句1 else 語句2 例如 if...
NO 20 嫿骨 高空拋物
高空拋物 愛學習的好孩子張三為了 神秘的物理現象,從高樓拋下乙個彈球.但由於高空拋物被警察抓了,請各位小夥伴完成他未實現的心願.小球從某一高度落下,每次落地後反跳回原來高度的一半,再落下。輸入彈球的初始高度m,輸出彈球第n次回彈時的高度 和所經過的距離 保留兩位小數 樣例輸入 1000 5 樣例輸出...