1. 选择结构: 根据条件成立与否,选择相应的操作:
2. 条件构建:
1. 关系表达式
2. 逻辑表达式 ,往往是用来构建复杂的复合条件
3. 常量/变量 (值是否非0)
3. 选择结构的形式
3.1 单分支:
实现: if( 条件 )
语句1;
例子: if( a < 0)
{
a = -a;
printf("a=%d\n",a);
}
3.2 双分支:
实现: if( 条件 )
语句1;
else
语句2;
衍生知识点: ? : 条件运算符
? : 条件运算符: 主要可以简化双分支为同一变量赋值的操作;
语法格式: 表达式1 ? 表达式2 :表达式3
? : 条件运算符求值过程:先计算表达式1的值,非0 则将表达式2的结果作为条件运算符的 最终结果,否则将表达式3的结果作为条件运算符的最终结果。
3.3 多分支
实现1: if...else..嵌套:
if( 条件1)
{
if(条件2)
语句1;
else
语句n;
...
}
else
{
if(条件3)
语句2;
else
{
if(...)
}
...
}
实现2:switch 语句
应用场景: 针对表达式的不同取值进行分支。
语法格式:
switch(表达式)
{
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
.
.
.
default:
语句 n;
}
注意事项:
1. 表达式结果类型,必须是整型、字符型 和 枚举类型
2. 每个分支语句后一般都会提供break语句,如果缺少break,则会进入下一个
分支直到遇到break 或 switch 语句结束时的 '}';
3. 每一个case 后面的常量值不能与其他相同,否则语法错误;
4. 多个case 可以共用一个分支语句。