一、if-else-if 语句的概念
如果 if 语句的嵌套都发生在 else 分支中,就可以写成 if-else-if 结构。这种形式比深层嵌套更清晰,是处理多重选择时常用的写法。
二、if-else-if 的语法形式
if (表达式1)
语句1
else if (表达式2)
语句2
else if (表达式3)
语句3
...
else
语句nCode language: PHP (php)
其中语句 1、语句 2、语句 3……语句 n 可以是单条语句,也可以是用大括号括起来的复合语句。
三、执行顺序
程序从上到下依次判断每个表达式的值:
- 若表达式 1 为 true,执行语句 1,然后跳过整个结构,后续表达式不再判断。
- 若表达式 1 为 false,继续判断表达式 2。
- 若表达式 2 为 true,执行语句 2,然后跳过整个结构。
- 以此类推,若所有表达式都为 false,则执行最后的 else 分支(语句 n)。
- 如果省略了最后的 else,则所有条件都不满足时,整个结构不执行任何操作。
四、示例:比较两个数的大小
以下代码使用 if-else-if 结构比较两个整数的大小关系:
int x, y;
x = 23;
y = 23;
if (x == y)
{
cout << "x == y";
}
else if (x > y)
{
cout << "x > y";
}
else
{
cout << "x < y";
}Code language: JavaScript (javascript)
分析:首先判断 x 是否等于 y;若不成立,再判断 x 是否大于 y;若仍不成立,则执行最后的 else 分支,输出 x < y。三种情况互斥且完整覆盖。
五、代码示例
以下代码演示了 if-else-if 结构的实际应用:
#include <iostream>
using namespace std;
int main()
{
// 示例1:判断成绩等级
int score = 78;
if (score >= 90)
cout << "优秀" << endl;
else if (score >= 80)
cout << "良好" << endl;
else if (score >= 70)
cout << "中等" << endl;
else if (score >= 60)
cout << "及格" << endl;
else
cout << "不及格" << endl;
// 示例2:判断字符类型
char ch = 'A';
if (ch >= 'a' && ch <= 'z')
cout << "小写字母" << endl;
else if (ch >= 'A' && ch <= 'Z')
cout << "大写字母" << endl;
else if (ch >= '0' && ch <= '9')
cout << "数字字符" << endl;
else
cout << "其他字符" << endl;
// 示例3:根据输入数字输出对应星期
int day;
cout << "Enter a number (1-7): ";
cin >> day;
if (day == 1)
cout << "Monday" << endl;
else if (day == 2)
cout << "Tuesday" << endl;
else if (day == 3)
cout << "Wednesday" << endl;
else if (day == 4)
cout << "Thursday" << endl;
else if (day == 5)
cout << "Friday" << endl;
else if (day == 6)
cout << "Saturday" << endl;
else if (day == 7)
cout << "Sunday" << endl;
else
cout << "Invalid input" << endl;
// 示例4:判断三角形类型
int a = 3, b = 4, c = 5;
if (a + b > c && a + c > b && b + c > a)
{
if (a == b && b == c)
cout << "Equilateral triangle" << endl;
else if (a == b || b == c || a == c)
cout << "Isosceles triangle" << endl;
else
cout << "Scalene triangle" << endl;
}
else
cout << "Not a triangle" << endl;
return 0;
}Code language: PHP (php)
Previous: 多重选择结构-嵌套if
Next: 多重选择结构-switch语句