从前有一个mod国,如果他们姓mod,他们就要吃dom.如果他们姓han,他们就要吃man.

如果条件成立,那么就执行语句,这个就是分支语句.


1.if分支

if(条件){
    语句;
}else{
    语句;
}

例如:

#include <iostream>
using namespace std;
int main(){
    string name;
    cin>>name;
    if (name == "mod"){
    	cout<<"dom";
	}else{
		cout<<"man";
	}
    return 0;
}

正是上面的例子.由于只有两个条件,可以直接用if-else.

2.条件表达式

类似于if语句,条件表达式也是判断条件是否成立.一下是条件表达式的格式:

(A ? B : C)

类似于if,如果A成立,就执行B,否则执行C.例:

#include <iostream>
using namespace std;
int main(){
    string name;
    cin>>name;
	cout << (name == "mod" ? "dom" : "man");
    return 0;
}

改代码和上面的if语句效果一致,但行数明显减少,所以条件表达式又被称为"压行首选".


3.switch分支

switch语句有点特殊,它并不是判断表达式是否成立,而是用变量与值逐一匹配,如匹配则执行.格式:

switch(量){
	case(值):语句;break;
	case(值):语句;break;
	case(值):语句;break;
	...
	default:否则执行;
}

需要注意case后的break,如果没有break,就不能跳出switch语句,从而执行之后所有case和default的语句,称为"case穿透".


*4.if语句扩展

如果要用if语句进行多个语句的判断,可以使用if语句的嵌套.例:

#include <iostream>
using namespace std;
int main(){
    string name;
    cin>>name;
	if(name=="mod"){
		cout<<"dog";
	}else{
		if(name=="han"){
			cout<<"man";
		}else{
			if(name=="gf"){
				cout<<"153";
			}
		}
	}
    return 0;
}