8.4.2 #elif命令
elif命令用于进行在多种编译条件下进行选择编译的情况,其含义与“else if”相同,形成一个阶梯状编译语句。使用#elif命令的一般形式如下。
if表达式0
语句段;
elif表达式1
语句段;
elif表达式2
语句段;
……
elif表达式n
语句段;
endif
其中,#elif命令后的常量表达式的值作为判断条件。从上到下依次判断表达式的值,如果表达式的值为真,则编译其后的程序代码段,从而不再对其后的#elif命令的表达式进行判断。如果表达式的值为假,则接着判断下一个#elif命令的表达式。使用#elif命令用于进行多种编译选择的程序示例如下。
include<stdio.h>//头文件
define SCORE 65//宏定义变量
void main()//主函数
{
if SCORE>=90//开始条件编译
printf(“You are very good!\n”);
elif SCORE>=80
printf(“You are good!\n”);
elif SCORE>=60
printf(“You passed the exam!\n”);
else
printf(“You haven't passed the exam!\n”);
endif//条件编译结束
}
该程序可以在KeilµVision3集成开发环境中运行,其结果如下所示。
You passed the exam!
本例中,先宏定义分数SCORE为65,然后在主程序中,通过#elif命令进行多种条件选择编译,从而输出该分数所属的等级分类。
在C51语言中,#if命令与#elif命令可以一直嵌套到实现规定的权限,其中#endif命令或#else命令与最近的#if命令或#elif命令相关联。