A. c語言 if與 if else的區別是什麼
1)if()
{
if()
} //這種是嵌套的從屬關系,只有滿足第一個if,才會開始判斷if裡面的第二個if。
2)if(){}
else if (){}
else{}
還有if(){}
else{}
這些是並列關系,比如先判斷if()的條件,如果不滿足,則判斷else if()里的條件。如果所有if()(包括else if,下同)的條件都不滿足時,則執行else裡面的操作。
else可以省略,如果else省略時,當所有if()都不滿足的時候,則無操作,繼續if()代碼塊後的程序。
例如我寫過的一個代碼:
if (BMI<18.5) //1如果變數BMI小於18.5,則輸出Category = Underweight
printf("Category = Underweight\n");
else if (BMI>=18.5&&BMI<25) //2如果變數BMI大於等於18.5,且小於25
printf("Category = Normalweight\n",BMI);//則輸出Category = Normalweight
else if (BMI>=25&&BMI<30) //3如果變數BMI大於等於25,且小於30 printf("Category = Overweight\n",BMI); //則輸出Category = Overweight\
else //其他情況,即上面所有if沒包含的情況,如BMI=35時
printf("Category = Obese\n",BMI);//則輸出Category = Obese
希望樓主能看懂~
B. c語言中的if ,else 語句
第一種如果第一個if成立不會執行下面的語句,第二種只有最後一個if和else是成對出現的,如果第一個if成立還會執行下面的語句。
C. C語言裡面if 和else的用法
int a,b,max;//定義變數
scanf("%d%d\n",&a,&b);//從鍵盤輸入a,b的值
if(a>b) //如果a>b,max=a
max=a;
else //否則max=b
max=b;
printf("%d\n",max);//輸出最大值
D. C語言中「if」跟「if else」感覺用法都是一樣的,都是判斷真假執行語句。
看起來一樣,用eles if的地方好像全部可以替換成if,但實際使用中是有講究的,搞不好就是一個bug。
int水溫=50度
if(水溫>=50度)
{
洗碗
洗澡
做飯
//該處理中,三個動作耗時1小時,水溫降低30度
水溫=20度
}
elseif(水溫<50度&&水溫>=20度)
{
洗碗
做飯
//該處理中,兩個動作耗時半小時,水溫降低10度
水溫=10度
}
elseif(水溫<20度)
{
做飯
//該處理中,一個動作耗時0.25小時,水溫降低5度
水溫=5度
}
printf("%d ",水溫)
把elseif全部改成if後:
int水溫=50度
if(水溫>=50度)
{
洗碗
洗澡
做飯
//該處理中,三個動作耗時1小時,水溫降低30度
水溫=20度
}
if(水溫<50度&&水溫>=20度)
{
洗碗
做飯
//該處理中,兩個動作耗時半小時,水溫降低10度
水溫=10度
}
if(水溫<20度)
{
做飯
//該處理中,一個動作耗時0.25小時,水溫降低5度
水溫=5度
}
printf("%d ",水溫)
修改後做了3次選擇,而且每次都處理了,總共做了三次飯...最後的水溫只有5度了...
看到了吧,bug就是這么產生的。
其次,就算沒有產生bug,我在每一個條件處理中都不會涉及到條件本身的處理,那也可以沒問題。
但是!C語言是一門面向過程的高效率語言,你判斷三次條件和判斷一次條件哪一個更效率?比如判斷一次條件需要1ms,如果我有10個else if全部改成if是不是感覺1ms和10ms區別不是很大,那麼我在外面再套一層循環呢,循環100次是不是突然就從100ms變成1s了?如果循環外面再套循環呢?
E. c語言中可不可以用多重if而不用else
可以..這樣是可以,但是最好用ELSE...
F. 關於C語言中if,elseif和else的區別在哪裡
C語言中if,elseif和else的主要區別是用法的區別。
if語句用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。如果後面沒有連接else則判斷為假時不執行任何操作。
else if是鑲嵌在if語句里的,如果一個程序需要2個或以上的if語句時,則使用else if語句,表示條件判斷為假時,再次進行條件判斷。
else必須使用在if語句里,如果沒有if,就不能使用else。
(6)c語言代替ifelse擴展閱讀
if語句和else if語句的結構
1、if
if(express)語句1
else 語句2
當express為真時,執行語句1,假時執行語句2,只能是一個語句,那麼如果要使用多個語句,必須使用{}表示語句塊
2、else if
if(express1)語句1
else if(express2) 語句2
else 語句3
因為一個if結構可以稱為一個復合語句,所以,在這個嵌套if中,第二個if為一個語句,前者是第二個if為第一個if的else分支的語句,而後者為平行的兩個if分支復合語句。
G. C語言中什麼語句可以代替if… goto語句
盡量用if,else語句。因為goto語句能實現的功能其實就是一個簡單的判斷。而goto是很占內存的,花費時間比較多。用了goto程序效率會下降。
H. C語言中if else語句與switch語句區別
1 兩者本質的區別是 if-else語句更適合於對區間(范圍)的判斷,而switch語句更適合於對離散值的判斷
2 示例
判斷65分到85分之間的學生有哪些適合用if-else語句,因為[65,85]是區間
而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值
3 擴展
所有的switch語句都可以用if-else語句來替換(因為if-else語句只需對每個離散值分別做判斷即可),而並不是所有的if-else語句都可以用switch語句來替換(因為區間里值的個數是無限的並且switch所接受的值只能是整型或枚舉型,所以不能用case來一一列舉)。
I. c語言if else語句是什麼
if else 語句是一種選擇結構,可以讓代碼選擇執行。所謂選擇執行,就是「某些代碼可能執行,也可能不執行,有選擇地執行某些代碼」。功能:如果表達式為真,就執行下面的語句;如果表達式為假,就不執行下面的語句。
if-else語句的執行流程:首先判斷關鍵詞if後括弧內條件表達式的值,如果該表達式的值為邏輯真(非0),則執行if體(語句A),而不執行else體(語句B),然後繼續執行if-else之後的其他語句;否則,若該表達式的值為邏輯假(0),則不執行該if體(語句A),而執行else體(語句B),然後繼續執行if-else之後的其他語句。
if語句的執行流程:首先判斷關鍵詞if後括弧內條件表達式的值,如果該表達式的值為邏輯真(非0),則執行if體,接著執行if體後的其他語句;否則,若該表達式的值為邏輯假(0),則不執行該if體,直接執行if體後的其他語句。
J. c語言中如何幹掉if else
c語言中if else是非常有用的語句,一般的程序中都有大量應用,所以一般而言是不會「幹掉」的。如果說一定要「幹掉」它,那麼可以替代的有兩種方案,一是使用條件表達式,第二種是採用switch case語句(只適用於判斷條件為整數)。不管採用哪種方案,多數情況下在使用方便或代碼可讀性方面都會受到影響。