1樓:風若遠去何人留
switch語句,可讀性更好,整體流程看起來清晰明確。
if語句適應性更強,可以處理更多的情況。
所有的switch語句都可以寫成if的形式,比如switch(a)
可以寫作
if(a==b)//case b
else if(a==c) // case celse //default.
但是switch 語句,僅能夠處理整型數值,即switch()括號中的判斷的值,必須是整型的,而且每個case後面跟的值,也必須是整型的。
另外,對於大規模的連續數值,比如if(a>=1 && a<=100) 這樣的語句,要用switch則需要連續寫100個case,這種情況下,switch語句也是不適用的。
總體來說,對於雜湊的整型資料,用switch語句更清晰明確,而對於其它情況,if語句則更好。
2樓:幻☆天芒
if和switch都是多分支語句。基本上的通用的,看條件的多少來判斷選用哪一種。
3樓:
可以完全等效的用2種語法改寫,只是不同的情況下,用不同的語法更簡潔易讀而已
4樓:匿名使用者
if...else..成對的處理雙分支結構的問題很方便,switch處理多分支,互相轉化沒問題的。。。
5樓:匿名使用者
if 直接是選擇的意思
如果(),執行()
否則,()
永遠是否則後面沒有條件,而且if 和 else 成對出現switch 可以是多項選擇且直接跳轉
switch a : a
b : b
c : c
等等這兩個差很多~
你可以再仔細看看書
能用到switch 語句的話,用if 就很繁瑣但是簡單的選擇用if 比較好了
6樓:匿名使用者
未必switch裡面,必須是單個變數,而不能是表示式
準確來說,if的應用比switch廣泛,可以用switch的,都可以用if,但反之,不行
7樓:公羊乃
switch與if有一點明顯的區別就是
if(這裡是條件判斷語句,包括==,>=,<=,<,>..)switch(xx)
你可以看情況選擇是否選擇if還是switch
c語言中if else語句與switch語句的區別在**?
8樓:一口沒水的枯井
1 兩者本質的區別是 if-else語句更適合於對區間(範圍)的判斷,而switch語句更適合於對離散專
值的判斷
2 示例屬
判斷65分到85分之間的學生有哪些適合用if-else語句,因為[65,85]是區間
而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值
3 擴充套件
所有的switch語句都可以用if-else語句來替換(因為if-else語句只需對每個離散值分別做判斷即可),而並不是所有的if-else語句都可以用switch語句來替換(因為區間裡值的個數是無限的並且switch所接受的值只能是整型或列舉型,所以不能用case來一一列舉)。
c語言中if和switch有什麼區別?
9樓:布依秋
總體來說,if語句由於在英語字面上意思比較直觀,就是「如果」,所以比較容易理解。就是對「如果」情況的判斷和處理。 而「switch」的功能其實和if差不多,但是比較容易出錯的地方就是,在switch語句中,如果在分支中不加break。
容易造成邏輯的錯誤。新手很容易犯這個錯誤
10樓:湯贊悅
if 用於單一的是非條件判斷 if else 用於兩種情況的條件判斷 switch: case 用於多種情況的條件判斷,這些情況是並列關係。 多個if連用 用於連環條件判斷,這些條件是串聯關係。
前一個if的成立,是後一個if進行判斷的必須條件。
11樓:冷煙
樓上的 if 只能 判斷兩種嗎? 那我問你 if(a=="a") else if(a=="b") else if(a=="c") 這個你怎麼說 不懂別裝懂好不 switch語句只能根據一個變數的值進行轉移,但if語句沒有這樣的限制。當然,判斷一個條件比判斷一堆條件速度要快的多。
個人覺得生成的彙編的**,switch生成的是一系列的條件判斷和轉移指令,但if語句沒有這樣做
12樓:手機使用者
if只能判斷2種情況的發生,既是與不是 如if(ch=='a')printf("ch is 'a'."); else printf("ch is not 'a'."); 而switch是可以判斷許多種情況的發生.
如switch(ch) 等等,這是最本質的區別.
13樓:長島的雪丶
if...else比 switch()更強大,比如switch()中case不能為字串但是if裡面的條件什麼都可以,所以if..else可以替換switch(),但是 反過來就不可以
14樓:笑懂
if語句只能實現兩條分支 switch能實現多條分支
分別用if和switch編同一道c語言程式
15樓:段幹增嶽能俏
直接用switch不可行,其他語言支援,但c不支援,可以轉換一下,將範圍控制的適合列舉才行:
switch(i/100000)
c語言中if和switch有什麼區別
布依秋 總體來說,if語句由於在英語字面上意思比較直觀,就是 如果 所以比較容易理解。就是對 如果 情況的判斷和處理。而 switch 的功能其實和if差不多,但是比較容易出錯的地方就是,在switch語句中,如果在分支中不加break。容易造成邏輯的錯誤。新手很容易犯這個錯誤 湯贊悅 if 用於單...
c語言中switch結構的使用,C語言中switch結構的使用
秋風依舊好 因為case後面不能接範圍,也就是說case後面是一個確實固定的常量.用下面的方法比較好,include int main 你可以先把範圍用字母或常量代替 再用switch語句 資料 include void main else printf score scanf d s system...
c語言中 》和 的區別,c語言中 a a 和 a 的區別
1 指向不同 一般情況下用 只需要宣告一個結構體。格式是,結構體型別名 結構體名。然後用結構體名加 加域名就可以引用域 了。因為自動分配了結構體的記憶體。如同 int a 一樣。而用 則要宣告一個結構體的指標,還要手動開闢一個該結構體的記憶體,然後把返回的指標給宣告的結構體指標,才能用 正確引用。否...