第一种形式——单分支选择结构
for(表达式)
语句
若表达式值为真(非0),则执行后面的语句,否则就不执行。
//判断闰年
if (((year%4==0)&&(year%100!=0)) || (year%400==0))
{
printf("%d 是闰年\n", year);
}
第二种形式——双分支选择结构
if(表达式)
语句1
else
语句2
如果表达式为真,则执行语句1,否则执行语句2。
//判断闰年
if (((year%4==0)&&(year%100!=0)) || (year%400==0))
printf("%d 是闰年\n", year);
else
printf("%d不是闰年");
第三种形式——多分支选择结构
for(表达式1)
语句1
else if(表达式2)
语句2
else if(表达式3)
语句3
········
else if(表达式m)
语句m
else 语句n
自上而下,依次判断各个表达式的值。当某个值为真时,就执行它后面对应的表达式,如果所有表达式为假,就执行语句n。
//判断一个数除4后的余数是多少
if(n%4==0)
printf("余数是0\n");
else if(n%4==1)
printf("余数是1\n");
else if(n%4==2)
printf("余数是2\n");
else
printf("余数是3\n");
if语句之间还可以相互嵌套
注意:else总是与前面最靠近的、还没有配对的if配对!!个人建议如果实在分不清可以使用大括号,更好分辨。
//举个例子
//x>0,y=1;x=0,y=0;x<0,y=-1;
if(x!=0)
if(x>0) y=1;
else y=-1;
else
y=0;
//也可以写成这样
if(x!=0)
{
if(x>0) y=1;
else y=-1;
}
else
y=0;