1樓:
if和switch的主要區別如下:
1)if的括號內的表示式可以分別是布林型別的合法表示式、可以是所有大於0的正整數為true,反之為小於等於0的正整數為false、可以是常量、列舉;而switch括號內也符合前面if提到的外,就是當圓括號內為正整數只能是0或1,其它的正整數屬於 default範圍。這點可以看如下**:
switch (2) // 除了0和1的其它正整數2)儘管if括號內也支援常量、列舉但也是有前提的那就是常量或列舉必須要顯式給出相應的數值。而switch則不必;
3)switch適合處理判斷分支較多的情況下(**可讀性好),而if適合處理判斷分支較少的情況下(反之**可讀性差,容易出現漏判或重複判斷)。
2樓:匿名使用者
看情況。
if判斷條件,處理邏輯表示式。
switch 通常處理算術表示式,或字元,當它等於什麼什麼,轉向做什麼。switch相當開關
如果「比較整數」,i1 是否大於 i2, 當然用if如果決定轉向,例如 i=1 畫直線,i=2 畫曲線,i=3 畫圓,i=4 畫虛線直線, i=5 畫虛線曲線, i=6 畫長方形 i=其他值 返回重選
這當然用switch,switch 執行快。
3樓:洛雨曦
switch( 表示式)//這個地方不能加分號,表示式必須是字元型或整型
執行過程:
一、計算
二、找case
三、從找到的case開始,往下全部執行
四、若沒找到case,則從default開始往下全部執行,若沒default則結束switch語句。
if是選擇結構,有三個形式,它們執行是條件成立只會選一個執行。
第一個:if (表示式)
語句;第二個:if (表示式)
語句1;
else
語句2;
第三個:
if ( 表示式1 )
語句1;
else if (表示式2 )
語句2;
else if (表示式3 )
語句3;
…...
[ else
語句; ]
4樓:百an居
if 直接是選擇的意思
如果(),執行()
否則,()
永遠是否則後面沒有條件,而且if 和 else 成對出現switch 可以是多項選擇且直接跳轉
switch a : a
b : b
c : c
等等這兩個差很多~
你可以再仔細看看書
能用到switch 語句的話,用if 就很繁瑣但是簡單的選擇用if 比較好了
希望能幫到你哦,請您採納,剛剛玩,在做任務
5樓:匿名使用者
使用的語句不一樣呀,if的條件更多一些,switch後面必須有case 而且cas後面必須是規定的三種型別的資料!
6樓:匿名使用者
if 可以代替switch使用,而switch不一定能代替
在效率方面,條件多的時候用switch比if好
7樓:樓三龍驪穎
樓上的if
只能判斷兩種嗎?
那我問你
if(a=="a")
else
if(a=="b")
else
if(a=="c")
這個你怎麼說
不懂別裝懂好不
switch語句只能根據一個變數的值進行轉移,但if語句沒有這樣的限制。當然,判斷一個條件比判斷一堆條件速度要快的多。
個人覺得生成的彙編的**,switch生成的是一系列的條件判斷和轉移指令,但if語句沒有這樣做
c語言中switch和if的適用方面有什麼區別?
8樓:匿名使用者
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語句則更好。
9樓:延藹衛採波
switch語句只能根copy據一個變數的值bai進行轉移,但if語句沒du有這樣的限制。當然,判斷一zhi個條件比dao判斷一堆條件速度要快的多。
個人覺得生成的彙編的**,switch生成的是一系列的條件判斷和轉移指令,但if語句沒有這樣做
c語言中,a==b與b==a有什麼區別麼?
10樓:匿名使用者
沒區別,==是恆等於,不存在賦值問題,單純比較,怎麼寫都行,但是=號就不一樣了,是右邊賦值給左邊
11樓:育知同創教育
寫法幾乎沒有什麼區別。前後順序不影響的。
12樓:匿名使用者
雙等號 是比較運算子, 沒有什麼區別
13樓:幻世封神
沒什麼區別,看個人習慣了
請採納吧
14樓:研凌工控電腦
無區別,這和只有一個=號不同
c語言中if else語句與switch語句區別
15樓:一口沒水的枯井
1 兩者本質的區別是 if-else語句更適合於對區間(範圍)的判斷,而switch語句更適合於對離散值的判斷
2 示例
判斷65分到85分之間的學生有哪些適合用if-else語句,因為[65,85]是區間
而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值
3 擴充套件
所有的switch語句都可以用if-else語句來替換(因為if-else語句只需對每個離散值分別做判斷即可),而並不是所有的if-else語句都可以用switch語句來替換(因為區間裡值的個數是無限的並且switch所接受的值只能是整型或列舉型,所以不能用case來一一列舉)。
16樓:匿名使用者
switch用來根據一個整型值進行多路分支,並且編譯器可以對多路分支進行優化,所以在多路分支時用switch比if..else if .. else結構要效率高。
17樓:段啟中
if else 與 switch 可以相互轉化,不過有時switch看起來比較好理解。有時有用if else比較好,但變數一定是用switch比較好,當變數不確定時用if else就比較好,慢慢學習就掌握了。~~~~
c語言中switch結構的使用,C語言中switch結構的使用
因為case後面不能接範圍,也就是說case後面是一個確實固定的常量.用下面的方法比較好,include int main 你可以先把範圍用字母或常量代替 再用switch語句 include void main else printf score scanf d s system pause 請問...
C語言中的switch語句中default放在最前面和最後面有什麼區別
c語言中的copyswitch語句中default放在最前面和bai最後面沒有區別du?switch語句 zhi switch expr 擴充套件資料switch語句的表達dao include voidprint day intday intmain 最前面case語句不能執行 後面的case不能...
在c語言中的switch語句裡。如果default放在了ca
如果每條case語句和default語句後都加了break 語句,那麼default的放置與位置沒有關係。依靠switch 裡的條件判斷應該執行哪條語句。c語言switch語句中的default放在前面是不是先執行他後面的語句,再執行case語句 並不是這樣的。抄 switch語句的格式為 襲 sw...