选择结构
■ if语句
□ 作用
执行满足条件的语句
□ if语句的三种形式
▶ 单行格式if语句
▶ 多行格式if语句
▶ 多条件的if语句
▶ 嵌套if语句
□ 单行格式if语句
if(条件) { 条件满足执行的语句 }
注意:if条件后面不要加分号
if(条件); { 条件满足执行的语句 //不管是否符合条件,中括号里的代码都会执行 }
□ 多行格式if语句
if(条件) { 条件满足执行的语句 } else { 条件不满足执行的语句 }
□ 多条件的if语句
if(条件1) { 条件1满足执行的语句 } else if(条件2) { 条件2满足执行的语句 } else if(条件3) { 条件3满足执行的语句 } else { 上述条件3都不满足执行的语句 }
□ 嵌套if语句
if(条件1) { 条件1满足执行的语句 if(条件4) { 条件4满足执行的语句 } } else if(条件2) { 条件2满足执行的语句 } else if(条件3) { 条件3满足执行的语句 } else { 上述条件3都不满足执行的语句 }
■ 三目运算符
□ 作用
通过三目运算符实现简单的判断
□ 语法
表达式1?表达式2:表达式3
如果表达式1位真,则执行表达式2,并返回表达式2的结果
如果表达式1位假,则执行表达式3,并返回表达式3的结果
int a = 10; int b = 20; int c = 0; c = (a > b ? a : b); //c的值是20 (a < b ? a : b) = 100; //a的值是100,b的值是20
■ switch语句
□ 作用
执行多条件分支语句
□ 语法
switch(表达式) { case 结果1: 执行语句;break; case 结果2: 执行语句;break; case 结果3: 执行语句;break; ... default: 执行语句;break; }
□ 注意
1) case中如果没有break,那么程序会一直向下执行
2) switch分支判断里,case关键字后只能是整型或者字符型
switch (a)
{
case a > 6 && a < 15 : cout << "222" << endl; break; //报错,必须是整型或字符型
case 10 : cout << "111" << endl; break;
default:break;
}
□ 总结
与if语句比较,switch语句结构清晰,执行效率高,但不可以指定区间,而if语句是可以在条件里指定区间的