C语言#if、#elif、#else和#endif条件编译的用法(附带实例)
C 语言预处理器提供了条件编译功能。一般情况下,源程序中的所有行都会参加编译。如果希望其中一部分内容只在满足一定条件时才进行编译,这时就需要使用条件编译命令。
使用条件编译可以非常方便地处理程序的调试版本和正式版本,同时还会增强程序的可移植性。
#if 命令的一般形式如下:
【实例】用 #if 和 #define 实现与 50 进行比较。如果等于 50,就计算 i=i+50;如果大于 50,就计算 i++;如果小于 50,就计算 i--。具体代码如下:
若将语句“#define NUM 50”改为“#define NUM 10”,则运行结果为:
若改为“#define NUM 100”,运行结果为:
【实例】判断是否能被 9527 整除的偶数。使用 #if 与 #else 语句实现判断功能,代码如下:
【实例】判断输入的体温是否为正常体温。利用 #elif 判断输入的体温是否为正常体温。代码如下:
使用条件编译可以非常方便地处理程序的调试版本和正式版本,同时还会增强程序的可移植性。
C语言#if命令
#if 的基本含义是:如果 #if 命令后的参数表达式为真,则编译 #if 到 #endif 之间的程序段,否则跳过这段程序。#endif 命令用来表示 #if 段的结束。#if 命令的一般形式如下:
#if 常数表达式
语句段
#endif
如果常数表达式为真,则该段程序被编译,否则跳过该段程序(不编译)。【实例】用 #if 和 #define 实现与 50 进行比较。如果等于 50,就计算 i=i+50;如果大于 50,就计算 i++;如果小于 50,就计算 i--。具体代码如下:
#include<stdio.h>
#define NUM 50
main()
{
int i=0;
#if NUM>50 /*判断 NUM 是否大于 50 */
i++;
#endif
#if NUM==50
i=i+50;
#endif
#if NUM<50
i--;
#endif
printf("目前的值是:%d\n",i);
}
程序运行结果为:
目前的值是:50
若将语句“#define NUM 50”改为“#define NUM 10”,则运行结果为:
目前的值是:-1
若改为“#define NUM 100”,运行结果为:
目前的值是:1
C语言else命令
#else 的作用是为 #if 为假时提供另一种选择,其作用和前面讲过的条件判断中的 else 相近。【实例】判断是否能被 9527 整除的偶数。使用 #if 与 #else 语句实现判断功能,代码如下:
#include "stdio.h"
#define input 19054 /*定义宏,用 input 替代 19054*/
int main()
{
printf("当前是:%d\n", input);
#if input>0
if(input % 9527==0 && input %2 == 0)
printf("能被 9527 整除的偶数\n");
#else
#if input<0
printf("当前为负数:%d\n", input);
#else
printf("不能被 9527 整除的偶数,此时数据为:%d\n", input);
#endif
#endif
return 0;
}
程序运行结果为:
当前是:19054
能被 9527 整除的偶数
C语言elif命令
#elif 的一般形式如下:
#if 表达式 1
语句段 1
#elif 表达式 2
语句段 2
#elif 表达式 3
语句段 3
#elif 表达式 n
语句段 n
#endif
【实例】判断输入的体温是否为正常体温。利用 #elif 判断输入的体温是否为正常体温。代码如下:
#include<stdio.h>
#define NUM 50
main()
{
int i=0;
#if NUM>50
i++;
#elif NUM==50
i=i+50;
#else
i--;
#endif
printf("i is:%d\n",i);
}
运行结果为:
i is:50
相关文章
- C语言#if、#elif、#else和#endif条件编译的用法(非常详细)
- C语言中的#if、#elif、#else和#endif条件编译(非常详细,附带实例)
- C语言#if、#elif、#else和#endif的用法(附带示例)
- C语言条件编译(#if、#else、#elif、#ifdef和#ifndef)详解
- C语言条件编译(#if,#ifdef,#ifndef,#endif,#else,#elif)
- C语言if语句
- C语言if else语句详解
- C语言#if、#ifdef、#ifndef用法详解,C语言条件编译详解
- C语言if else语句的用法(非常详细)
- C语言if else语句的用法(非常完整和详细)
ICP备案:
公安联网备案: