主要内容 #
在之前的大师码课程中,我们学习了 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
{
}
习题 #
