多分支
if-else if-else
举例:a代表身高,单位厘米,身高低于110的免票,110~150的半票,150以上的全票
当使用普通的if进行判断时
int a=120;
if(a<110){
cout<<"免票";
}
if(110<=a&&a<=150){
cout<<"半票";
}
if(a>150){
cout<<"全票";
}当使用if-else if-else时
int a=120;
if(a<110){
cout<<"免票";
}else if(a<=150){
cout<<"半票";
}else{
cout<<"全票";
}
当身高<110时输出免票,否则如果身高<=150时半票,否则全票
else if
念做否则如果
,当之前的if判断为错时才会进行判断。if-else if-else
的结构从上往下依次判断,成功时即执行相应的语句并退出这个判断。
容易犯的错误
顺序错误-倍数关系
int a=6;
if(a%2==0){
cout<<"2的倍数";
}else if(a%3==0){
cout<<"3的倍数";
}else if(a%2==0&&a%3==0){
cout<<"即是2的倍数又是3的倍数";
}else{
cout<<"不是2或3的倍数";
}当a=6时,因为先判断2的倍数,所以导致输出
2的倍数
然后退出,不会判断a%2==0&&a%3==0
正确写法:int a=6;
if(a%2==0&&a%3==0){
cout<<"即是2的倍数又是3的倍数";
}else if(a%3==0){
cout<<"3的倍数";
}else if(a%2==0){
cout<<"2的倍数";
}else{
cout<<"不是2或3的倍数";
}