if判斷語句和switch語句哪個表示更快呢

2021-03-19 18:34:09 字數 3004 閱讀 5262

1樓:涼念若櫻花妖嬈

if語句每次都bai需要判斷,而switch則只判du斷一次,

zhi所以switch快,但也dao要看情況,一般專5個選項(包括屬default)的情況下,switch和if/else if相同。低於5個選項if快,高於5給選項switch快。

1 兩者本質的區別是if語句更適合於對區間(範圍)的判斷,而switch語句更適合於對離散值的判斷。

2 示例

判斷65分到85分之間的學生有哪些適合用if語句,因為[65,85]是區間。而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值。

3 擴充套件

所有的switch語句都可以用if語句來替換(因為if語句只需對每個離散值分別做判斷即可),而並不是所有的if語句都可以用switch語句來替換(因為區間裡值的個數是無限的並且switch所接受的值只能是整型或列舉型,所以不能用case來一一列舉)。

if判斷語句快還是switch快

2樓:涼念若櫻花妖嬈

if語句每次都需要判斷,而switch則只判斷一次,所以switch快,但也要看情況,一般5個選項(包括default)的情況下,switch和if/else if相同。低於5個選項if快,高於5給選項switch快。

1 兩者本質的區別是if語句更適合於對區間(範圍)的判斷,而switch語句更適合於對離散值的判斷。

2 示例

判斷65分到85分之間的學生有哪些適合用if語句,因為[65,85]是區間。而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值。

3 擴充套件

所有的switch語句都可以用if語句來替換(因為if語句只需對每個離散值分別做判斷即可),而並不是所有的if語句都可以用switch語句來替換(因為區間裡值的個數是無限的並且switch所接受的值只能是整型或列舉型,所以不能用case來一一列舉)。

3樓:匿名使用者

簡單的語句,if快,如果包涵複雜巢狀,那就不如後者了。

4樓:匿名使用者

那還真不知道沒測試過!但是if 簡潔些 switch 看了反正我看了不舒服。過程上 switch 少了幾步理論上快些

c語言中switch和if語句那個執行效率更高?

5樓:肥羊

兩個的抄

用法都不一樣,一般if是寫一襲個條件,switch是列舉一些值來判斷,看你需要哪種型別的,這兩個一般沒有說誰效率高的,像樓上說的那種情況,只要是正常人都會選擇用if來寫啦。如果是像那個經典的例子判斷分數段來顯示優良中差的,相信也沒幾個會用if來寫。

6樓:匿名使用者

當然copyif了

因為if判斷的範圍很大,而baiswicth只是簡單的判斷du值舉個zhi例子

int a;

scanf("%d",&a);

if(1可以一次在dao1到1000之間判斷aswicth(a)

{case 1:

case 2:

.......因為case 後面只能用常量表示,如果要確定a就會有很多個case

所以if的執行效率要比swicth高

7樓:流水高山

應該是witch語句!

if語句和switch有什麼不同?

8樓:手機使用者

if和switch都是條件判斷語句,在效果上是沒有什麼差別的,而不同,我們可以從效率上來講~ 舉一個很簡單的例子: if(a>b) else 如果將這個例子放在switch 語句中,也並不是不能實現,但是實現起來可能會比較麻煩一些,因為在switch語句中 case中要求的是常量,一般是不能進行邏輯判斷的, 所以這也是if語句優於switch語句的地方! 但是如果您判斷的都是幾個常量的資料,我建議您最好採用switch語句,如下:

***/ 這樣的語句,雖然if語句也是能實現的,但是效能就比switch差的有點遠了求採納

if else和switch哪個效率更高

9樓:匿名使用者

得看情況,如果在條件匹配少的情況下,可以使用if...else...但是如果匹配條件多的情況下可以使用可以使用switch。

c語言中if else語句與switch語句區別

10樓:一口沒水的枯井

1 兩者本質的區別是 if-else語句更適合於對區間(範圍)的判斷,而switch語句更適合於對離散值的判斷

2 示例

判斷65分到85分之間的學生有哪些適合用if-else語句,因為[65,85]是區間

而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值

3 擴充套件

所有的switch語句都可以用if-else語句來替換(因為if-else語句只需對每個離散值分別做判斷即可),而並不是所有的if-else語句都可以用switch語句來替換(因為區間裡值的個數是無限的並且switch所接受的值只能是整型或列舉型,所以不能用case來一一列舉)。

11樓:匿名使用者

switch用來根據一個整型值進行多路分支,並且編譯器可以對多路分支進行優化,所以在多路分支時用switch比if..else if .. else結構要效率高。

12樓:段啟中

if else 與 switch 可以相互轉化,不過有時switch看起來比較好理解。有時有用if else比較好,但變數一定是用switch比較好,當變數不確定時用if else就比較好,慢慢學習就掌握了。~~~~

什麼情況下,if語句可以替代switch語句? 5

13樓:警

當條件不是真就是假,而且只執行真假兩種方法的時候

c時間判斷 語句,C 時間判斷 語句

你的str 和 nowtime不是都是字元型別的麼?並且格式都是一樣的。可以直接判斷啊,不需要轉換成datetime的if str.equals nowtime 個人建議你不要這麼寫 datetime.parse str 這句轉換出來的時候,會有時分秒的 而且datetime.parse str 這...

如何判斷語句是否是命題,如何判斷一個語句是否是命題

對一件事情作出判斷的語句叫命題。疑問句 感嘆句等不是命題。1陳述句 2能否判斷真假 舉個例子 不拋棄,不放棄 和 難道等邊三角形不是等腰三角形嗎?這兩個句子前者是命題,後者不是。不拋棄,不放棄 為陳述句,而 難道等邊三角形不是等腰三角形嗎?是反問句,雖然反問的語氣表肯定的意思,但在數學中是不正規的命...

if語句和switch語句在構成分支程式上各有什麼特點

一個最大的特點就是 如果你的條件判斷非常多,你用if.elseif.else這樣的判斷,將變專得很難閱讀。而屬如果使用switch,則變得簡單易懂。如果只有很少的幾個條件判斷,則沒什麼區別了 當然其語法上是有些區別的 if語句在用分支的時候,自由性大點,條件 可以寫一個範圍也可也是一個表示式回 而s...