主要内容 #
在之前的大师码课程中,我们学习了 if 的三种基本结构。
- 基本结构
if(表达式) { // 执行语句 1 // 只有一条语句的话,大括号可以省略。 } else { // 执行语句 2 }
- 省略 else
if(表达式) { // 执行语句 1 }
- if 的嵌套
if( 条件表达式 1 ) { if( 条件表达式 2 ) { // 执行语句 } }
小练习:
假如,我们遇到一个多条道路的路口,若使用上述的判断逻辑,
我们应该如何书写代码?请试一试。
(请输入 0,1,2 中的一个数,判断并输出指定的文字。 0,1,2 分别对应输出“左转”,“直行”,“右转”。)
示例代码:
#include < iostream > int main() { int dashima(0); std::cout <<"请输入(0,1,2):" << std::endl; std::cin >> dashima; if(dashima == 0) std::cout <<"左转" << std::endl; if(dashima == 1) std::cout <<"直行" << std::endl; if(dashima == 2) std::cout <<"右转" << std::endl; return 0; }
在 C++ 中,还有一种等价写法。我们一起来看一下。
1. else if #
等价改写:
#include < iostream > int main() { int dashima(0); std::cout <<"请输入(0,1,2):" << std::endl; std::cin >> dashima; if(dashima == 0) { std::cout <<"左转" << std::endl; // 只有一条语句的话,大括号可以省略。 } else if(dashima == 1) // else if 结构 std::cout <<"直行" << std::endl; else if(dashima == 2) std::cout <<"右转" << std::endl; else std::cout <<"输入错误!" << std::endl; return 0; }
2. else if 的几种结构 #
- 基本结构
if(表达式 1) { // 执行语句 1 // 只有一条语句的话,大括号可以省略。 } else if(表达式 2) { // 执行语句 2 } else { // 执行语句 3 }
- 省略 else
if(表达式 1) { // 执行语句 1 // 只有一条语句的话,大括号可以省略。 } else if(表达式 2) { // 执行语句 2 }
- 嵌套
if(表达式 1) { // 执行语句 1 // 只有一条语句的话,大括号可以省略。 } else if(表达式 2) { if(表达式 2-1) { // 执行语句 2-1 // 只有一条语句的话,大括号可以省略。 } else if(表达式 2-2) { // 执行语句 2-2 } } else { // 执行语句 3 }
3. 小结 #
本节的主要内容,就是 else if () 结构。
对于各种 if 结构的变体,看似复杂,其实我们只需要记住如下的结构即可。
if(表达式 1) { if(表达式 1-1) { // 执行语句 1-1 } } else if(表达式 2) { // 执行语句 2 // 只有一条语句的话,大括号可以省略。 } else { }