- gf24153 的博客
《Mod笔谈:分支结构》
- 2025-5-11 10:15:37 @
从前有一个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;
}