- 条件分支
if
单分支
if (条件)
{
//复合语句;
}
当条件语句为真的时候,符合语句才能被执行,如果条件为假的时候,符合语句不执行。
- if else
双分支
if(条件)
{
//复合语句1;
}
else
{
//复合语句2;
}
如果条件为真,执行复合语句1,否则执行条件语句2
e.g计算器的实现
#include <stdio.h>
int main(int argc,char *argv[]){
int a=0;
int b=0;
char c=0;
printf("please input a: ");
scanf("%d",&a);
getchar();//通过getchar这个函数将之前输入a时候用户按回车键收到
printf("please input operator:");
scanf("%c",&c);//通过键盘输入一个字符
printf("please input b: ");
scanf("%d",&b);
if(c=='+'){
printf("a+b=%d\n",a+b);
}else
{
if (c=='-'){
printf("a-b=%d\n", a - b);
} else{
if (c=='*'){
printf("a*b=%d\n",a*b);
} else{
if (c=='/'){
if (b==0)
{
printf("error\n");
} else
{
printf("a/b=%d\n",a/b);
}
} else{
printf("error\n");
}
}
}
}
return 0;
}
- if else if
多重if
if(条件1)
{
复合语句1;
}
else if(条件2)
{
复合语句2;
}
else if(条件3)
{
复合语句3;
}
else
{
复合语句4;
}
当有多个else的时候,else总是和上方最近的那个if语句