C if else if ladder
C语言编程中的if else if ladder是用来按顺序测试一系列条件的。此外,只有当if-else梯子中所有先前的if条件为假时,才会测试一个条件。如果任何一个条件表达式评估为真,适当的代码块将被执行,整个if-else梯子将被终止。
语法:
// any if-else ladder starts with an if statement only
if(condition) {
}
else if(condition) {
// this else if will be executed when condition in if is false and
// the condition of this else if is true
}
.... // once if-else ladder can have multiple else if
else { // at the end we put else
}
工作流程
1.该程序的流程属于if块。
2.流量跳转到第一条件
3.第1个条件是分别测试。
* 如果以下条件为真,请进入第4步。
* 如果以下条件为假,请转到步骤5。
4.执行本块。转到步骤7。
5.流量跳转到条件2。
* 如果以下条件为真,请进入第4步。
* 如果以下条件为假,请转到步骤6。
6.流量跳转到条件3。
* 如果以下条件为真,请进入第4步。
* 如果下面的条件产生错误,执行else块。转到步骤7。
7.退出if-else-if ladder。
如果其他如果梯子 C语言的流程图
注意: 一个if-else梯子可以排除else块。
例1:检查一个数字是否为正数、负数或0
// C Program to check whether
// a number is positive, negative
// or 0 using if else if ladder
#include <stdio.h>
int main()
{
int n = 0;
// all Positive numbers will make this
// condition true
if (n > 0) {
printf("Positive");
}
// all Negative numbers will make this
// condition true
else if (n < 0) {
printf("Negative");
}
// if a number is neither Positive nor Negative
else {
printf("Zero");
}
return 0;
}
输出
Zero
例2:根据分数计算等级
// C Program to Calculate Grade According to marks
// using the if else if ladder
#include <stdio.h>
int main()
{
int marks = 91;
if (marks <= 100 && marks >= 90)
printf("A+ Grade");
else if (marks < 90 && marks >= 80)
printf("A Grade");
else if (marks < 80 && marks >= 70)
printf("B Grade");
else if (marks < 70 && marks >= 60)
printf("C Grade");
else if (marks < 60 && marks >= 50)
printf("D Grade");
else
printf("F Failed");
return 0;
}
输出
A+ Grade