if else if结构
/*
if else if结构
多分支结构,但只会选择一个分支执行或没分支被执行(多选1或多选0)
if 语句后可跟可选的一个或多个else if(条件表达式),也可跟可选的else语句
格式:
if(条件表达式){
语句块;
}else if(条件表达式2){
语句块2;
}else if(条件表达式3){ //可选,0个、1个或多个else if都可以
语句块3;
}else{ //可选
语句块4;
}
从第一个条件开始判断,如果满足条件就执行紧挨着的语句块,执行完成就结束当前的if结构,如果当前不满足条件,则继续判断下一个条件,如果满足条件则执行紧挨着的语句块,执行完结束if结构,不满足继续下一个条件,如此反复。当有else时,如果上面条件都不满足,则会执行else语句。
注意:至多只会执行一个语句块,当所有条件都是false而且没有else情况,一个语句块都不会执行。
如果语句块只有一条语句,那大括号可以省略。
总结:
只会多选1或多选0,从上向下依次匹配条件,如果满足则执行当前语句块,执行完就结构,如果不匹配就会继续匹配下一个条件。
多分支也可以用多个单分支来写
掌握打擂台思想
*/
#include <iostream>
using namespace std;
int main() {
int n=20;
// 检查条件表达式,从上向下依次匹配,如果匹配到成立,则执行紧挨着的大括号语句块
if(n==10){
// 匹配与10是否相等,不相等,则不会执行本语句块
cout<<"n 的值为 10"<<endl;
}else if(n==20){
// 匹配与20是否相等,相等,则执行本语句块,执行本语句块后不会再向后匹配,而是结束本if结构
cout<<"n 的值为 20"<<endl;
}else if(n==30){
// 匹配与30是否相等
cout<<"n 的值为 30"<<endl;
}else if(n==40){
// 匹配与40是否相等
cout<<"n 的值为 40"<<endl;
}else{
cout<<"没有匹配的值"<<endl;
}
cout<<"n 本身的值为:"<<n<<endl;
/*
输出:
n 的值为 20
n 本身的值为:20
*/
return 0;
}