C 語句 條件語句

2021-08-29 14:23:38 字數 1683 閱讀 1300

一、if_else語句

c# 的 if 語句有 3 種

第一種

if (條件)

第二種

if (條件)

else

第三種

if (條件)

else if (條件2)

else if (條件3)

else

和 vb 不同,這裡 else if 的 else 和 if 是分開的(不可寫成兩行),而 vb 中是 elseif。

else if 個數 >= 0。

條件應該是個 bool 型別

二、switch語句

switch 結構:

switch (condition)

case 個數 >= 0。

任何兩個 case 語句的常量表示式都不能具有相同的值,注意是值不能相同。

case 和 default 的 break 必不可少,這不同於 c++。

default 可以省略,但為了可讀性以及可維護性,建議寫上,即使它什麼也不做。

condition 允許的資料型別為:sbyte、byte、short、ushort、uint、long、ulong、char、string 或者列舉型別。

注意:1、如果乙個case語句為空,就可以從這個case跳到下乙個case上,這樣就可以用相同的方式處理兩個或多個case語句了

2、case語句的排放順序是無關緊要的,甚至可以把default放在最前面

3、在c#中,可以把字串用作測試變數

三、條件運算子

?: 條件實際應該稱作條件運算子,屬於運算子一類,由於它具有判斷特性,所以這裡和條件語句歸為一類講解,其語法是:

condition ? first_expression : second_expression;

它的意思是當 condition 為 true 時,返回 first_expression,否則返回 second_expression。

if (condition)

else

實際不是的,因為上述 if 語句中兩個表示式都沒有返回值。

int n = (1>3) ? 1 : 3;

雖然上述示例有點無聊,因為 1 肯定不會大於 3,但它是乙個完整正確的 ?: 示例。

另外,上述括號可以不要,只是為了更便於閱讀,以及為了減少更改條件時造成的錯誤,這裡加了括號。

int m = 3;

int n = (m*2 > 5) ? m : 5;

n 是多少呢?3 還是 6,應該是 3,可以看出雖然 m 在條件中被乘以 2,但並沒有賦值給 m,也就是說 m 的值並未得到改變。int n = ((m=m*2) > 5) ? m : 5; 這樣就是 6 了。

條件運算子為右聯運算子

a ? b : c ? d : e

等價於a ? b : (c ? d : e)

而不是(a ? b : c) ? d : e

而其運算順序是從左到右,所以下述示例的結果是 2,而不是 3。

int m = 3;

int n = (m=m*2)>7 ? 1 : m>5 ? 2 : 3;

C語言 條件語句 switch語句

用於直接處理不同情況下的多路問題。switch語句又可稱為開關語句,其執行流程和多分支if語句類似。switch 表示式 當switch後面的 表示式 的值與某個case後的 常量表示式 的值相同時,就執行該case後面的語句 組 當遇到break語句時,跳出switch語句,轉向執行switch結...

條件語句 迴圈語句

1 switch case switch中的比較是用的equals,而不是 switch中只能使用byte short int char string 列舉型別。不能使用long flaot double 各個case標籤不必連續 也不按特定順序排列,default標籤可位於switch case結...

C 之if條件語句

c 之if條件語句 條件語句 c 程式預設情況下,語句按照從上而下的順序逐行執行。當在完成某些功能時,需要改變語句的執行順序,所以,需要使用條件語句來完成。if條件語句 根據條件是否滿足,或者根據表示式的值控制 的執行分支。c 有兩個分支 的結構,if語句和switch語句。對於新增分支,c 繼承了...