首页 理论教育C语言程序设计第2版-条件编译实例应用

C语言程序设计第2版-条件编译实例应用

【摘要】:条件编译使得同一源程序在不同的编译条件下得到不同的目标代码。商业软件公司总是使用条件编译来提供和维护某一程序的多个顾客版本。条件编译有几种常用的形式,现分别介绍如下:#ifdef标识符这种形式的含义是:如果标识符已被#define行定义,则编译程序段1,否则编译程序段2。例6.1条件编译的简单应用。例6.2输入一行字母序列,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。

一般情况下,源程序中所有的语句都参加编译。但有时也希望根据一定的条件去编译源文件的不同部分,这就是条件编译。条件编译使得同一源程序在不同的编译条件下得到不同的目标代码。商业软件公司总是使用条件编译来提供和维护某一程序的多个顾客版本。

条件编译有几种常用的形式,现分别介绍如下:

(1)#ifdef标识符

这种形式的含义是:如果标识符已被#define行定义,则编译程序段1,否则编译程序段2。其中#else及程序段2可以省略。

例6.1 条件编译的简单应用。

运行结果输出

Hello,LI

如果从程序中去掉

#define LI

则输出结果为

Hello,everyone(www.chuimin.cn)

(2)#ifndef标识符

这种形式与前一种形式的区别在于:如果标识符没在#define行定义就编译程序段1,否则就编译程序段2。这种形式和第一种形式作用相反。

(3)#if表达式1

这种形式的作用是,如果表达式1为真就编译程序段1,否则如果表达式2为真就编译程序段2,…,如果各表达式都不为真就编译程序段n。

例6.2 输入一行字母序列,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。

运行结果为:

C LANGUAGE

如果将例6.2中的第一行改为#define LETTER 0,那么运行的结果为:

c language