c語言中的if ,else 語句
區別是很明顯的!
先講一下 if 分支結構吧!
if(express)語句1
else 語句2
當express為真時,執行語句1,假時執行語句2,很顯明,只能是一個語句,那么如果要使用多個語句,必需使用{}表示語句塊!
回過頭來看看
if(express1)語句1
else if(express2) 語句2
else 語句3
因為一個 if結構可以稱為一個復合語句!所以,在這個嵌套if中,第二個if為一個語句,所以,和
if(express1)語句1
if(express2) 語句2
else 語句3
很明顯不一樣!
前者是第二個if為第一個if的else分支的語句,而后者為平行的兩個if分支復合語句!
c++的if else語句
這是最經典的if else了吧
#include
#include
#include
void main()
{
int a=3;
int b=4;
int c=5;
if(a>b&&a>c)//判斷a 是不是最大
{
if(b>c)
{
printf("a>b>c");
}else
{
printf("a>c>b");
}
}
else if(b>a&&b>c)//判斷b 是不是最大
{
if(a>c)
{
printf("b>a>c");
}else
{
printf("b>c>a");
}
}
else if(c>b&&c>a)//判斷 c 是不是最大
{
if(a>b)
{
printf("c>a>b");
}else
{
printf("c>b>a");
}
}
}
如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!
c語言中的if,else語句
#include <conio.h>; /* 此頭函數請不要刪除 */
#include<stdio.h>;//輸入輸出頭文件
main()
{
int x,y,z,t;
printf("x=");
scanf("%d",&x);
printf("y=");
scanf("%d",&y);
printf("z=");
scanf("%d",&z);
/*三個不同的數一共有六種不同的排列,你只舉了三種情況,邏輯錯誤*/
/*
if(x<y&&y<z) //從小到大的順序為 x y z
printf("%d,%d,%d",x,y,z);
else if(x<z&&z<y) //從小到大的順序為 x z y
printf("%d,%d,%d",x,z,y);
else if(y<x&&x<z) //從小到大的順序為 y x z
printf("%d,%d,%d",y,x,z);
else if(y<z&&z<x) //從小到大的順序為 y z x
printf("%d,%d,%d",y,z,x);
else if(z<x&&x<y) //從小到大的順序為 z x y
printf("%d,%d,%d",z,x,y);
else //從小到大的順序為 z y x
printf("%d,%d,%d",z,y,x);
*/
//上面這樣比較很麻煩,可以這樣改:
if(x>y)
{
t=x;
x=y;
y=t;
}
if(x>z)
{
t=x;
x=z;
z=t;
}
if(y>z)
{
t=y;
y=z;
z=t;
}
printf("%d,%d,%d\n",x,y,z);
getch(); /* 此語句請不要刪除*/
}
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來一一列舉)。