c语言中的if ,else 语句

   更新日期:2024.05.09
if,else
if都需要接判断表达式。else不需要判断表达式。
使用else
if和else,必须紧跟在if之后,形参if-esle
if组或if-else对。
没有对应的if语句,else
if和else语句都会在编译时报错。
if(condition1)
/*如果满足条件1*/
{
}
else
if(condition2)/*否则,如果满足条件2*/
{
}
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分支复合语句!

第一组if()
为假才判断else
if
()
第二组无论if()是否成立都会判断下一个if()
第一组是一个语句组
第二组中
if()
{}
else
{}
是一个语句组
前两个
if()
{}
if()
{}
是单个的if语句

#include
/*
此头函数请不要删除
*/
#include
//输入输出头文件
main()
{
int
x,y,z,t;
printf("x=");
scanf("%d",&x);
printf("y=");
scanf("%d",&y);
printf("z=");
scanf("%d",&z);
/*三个不同的数一共有六种不同的排列,你只举了三种情况,逻辑错误*/
/*
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();
/*
此语句请不要删除*/
}

第一个是一次判断
而第二个是三次判断
elseif是条件不成立的情况下再次进行判断另一个条件的判断
而下面的if是判断一个一个条件完毕
无论结果如何都要再进行下一个判断

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网