第7章 分支/判断结构
7.1 if语句
if(条件表达式)
{
//条件为真执行
}
条件非0即为真,0为假;只有一条语句可以省略大括号,但建议保留大括号。
7.2 if‑else
if(条件)
{
//真
}else
{
//假
}
两个分支只会跑其中一个。
7.3 if‑else if‑else多分支
if(条件1){
}else if(条件2){
}else if(条件3){
}else{
//全部不满足执行
}
规则:从上往下判断,遇到第一个成立条件执行,直接跳出整个多分支。小范围条件写在前面,否则会被覆盖。else可选。
7.4 switch多分支
适合变量等于若干整数常量的场景。
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
default:
//全部不匹配执行
break;
}
重点:
- switch表达式必须是整数类型(int、char);case必须是常量,不能重复。
- break作用跳出switch;没有break会穿透,继续往下执行case。
- 多个case可以共用代码:
switch(n){
case 1:
case 3:
case 5:
printf("奇数");
break;
}
- default位置可以任意,习惯写最后。
7.5 分支嵌套
if内部写if,switch内部写switch;依靠缩进区分层级。
int a=5,b=3;
if(a>b)
{
if(a-b>2){
cout<<"a比b大很多";
}else{
cout<<"a比b大一点";
}
}