#M8211. 分支结构
分支结构
选择结构
选择结构是指根据判断条件的结果来控制程序的执行流程。需要使用条件语句:if语句
。
1. if 语句
条件语句可以表示:如果...,否则... 的含义。
if (条件一){
//动作一
}
else{
//动作二
}
以上条件语句 if...else...
的含义为:如果条件一为真做动作一,否则做动作二。
if (条件一){
//动作一
}
else if (条件二){
//动作二
}
else{
//动作三
}
以上条件语句 if... else if ... else ...
的含义为:如果条件一为真做动作一,否则如果条件二为真做动作二,否则做动作三。
此外条件语句之间可以进行嵌套:
if (条件1){
if (条件2){
//动作
}
}
以上条件语句的含义为:如果条件一和条件二都为真则执行动作,否则什么都不做。
2. switch...case... 语句
同样的,switch...case...
语句也是一种条件语句,常用于分支很多的情况。
switch (条件语句){
case 标签1:
动作1;
case 标签2:
动作2;
default:
动作3;
}
特殊的,条件语句应为整数类型表达式、整型变量或整型常量。标签必须为整数类型的常量。当执行switch
语句时,根据条件语句的结果选择相对应的标签,从标签处开始执行动作。default
是指当所有标签都不满足时,我们执行default
的内容。
int b = 3;
switch (b){
case 1:
b = b * -1;
case 3:
b++;
default:
b = b / 2;
}
printf("%d", b); // 此时输出为 2
以上程序会输出 2,执行了标签值为 3 和 default
里面的语句。当在以上程序中加入 break
语句,程序的输出会发生变化,以下程序只会执行一个动作。
int b = 3;
switch (b){
case 1:
b = b * -1;
break;
case 3:
b++;
break;
default:
b = b / 2;
break;
}
printf("%d", b); // 此时输出为 4