關於c 分支語句和分支巢狀還有變數的作用域。

2022-01-18 14:40:20 字數 1783 閱讀 4052

分支語句: if....else if....else  

必須以 if  開頭 後面加括號寫入需要判斷的內容。

舉個栗子說明一下

if (bool型別(比較表示式))  //他會判斷括號內的條件是否成立

else if (bool型別 (比較表示式))//如果上乙個 if  的條件不成立會 向下判斷這裡的條件是否成立,如果上一條成立的則不會判斷這一條。

else //只要上面條件都不成立,那麼必走else裡的**//如果上面的條件都不成立會直接走這一條。else後面不能寫條件

else 對應的是它上面的第乙個 if , 就像下面這個

if (條件)//  這裡判斷條件

else if(條件)//  如果不滿足上一條走這裡

if (條件1)//  這是又乙個條件

else//  這裡else 對應的是上面條件1的 if  ,就是如果不滿足  條件1  ,就會來執行else。

如果第乙個 if 滿足了會跳過else if  但是遇到if  就會進行判斷,如果不滿足條件1,那麼就會判斷最後的else。

如果想讓else判斷第乙個if和else if都不滿足之後的條件,就要把 if(條件1)去掉或者放掉else if 的上面。

附上乙個練習題

「請輸入年份:」(1-9999)

「請輸入月份:」(1-12)

「請輸入日期:」(要判斷大小月,判斷閏年)

判斷輸入的時間日期是否正確

console.write("

請輸入年份:");

int nianfen =convert.toint32(console.readline());

console.write(

"請輸入月份:");

int yuefen =convert.toint32(console.readline());

console.write(

"請輸入日期:");

int riqi =convert.toint32(console.readline());

if (1

<= nianfen && nianfen <= 9999)//

年份輸入1-9999

else

}else

if (yuefen == 4 || yuefen == 6 || yuefen == 9 || yuefen == 11)//

如果是偶數月

else

}else

//如果是奇數月

else}}

else

if (nianfen>=1&&nianfen<=9999) //

如果不是閏年,

if (yuefen == 2)//

如果是二月

}else

if (yuefen == 4 || yuefen == 6 || yuefen == 9 || yuefen == 11)//

如果是偶數月

else

}else

//如果是奇數月

else}}

}else

}console.readline();

這裡再補充乙個分支語句

switch(變數)

這個分支語句比較小眾,還是if····else···用得比較多。但是必須要認識。

C語言中巢狀和分支

巢狀的判斷 當if的條件滿足或者不滿足的時候要執行的語句也可以是一條if或if else語句,這就是巢狀的if語句。if a b if celse的匹配 else總是和最近的那個if匹配,縮排格式不能暗示else的匹配。級聯的if else if else if else if elseswitch...

C 分支語句

using system else switch num break case 1 break default break 首先看到 int num 建立了乙個變數用來儲存輸入的值 跟著 使用 if 判斷 輸入的值是否是 int 型 如果是 int 型那麼就輸出輸入的值 否則就輸出 input is...

c 分支語句

i f ch a a grade else if ch b b grade else if ch c c grade else if ch d d grade else f grade switch ch switch語句 有case 且以default結尾,加 break語句表示否定,如果 ch ...