C语言 条件编译的格式
条件编译一般有三种格式:
(1)#if的一般格式
#if表达式
程序段1
#else
程序段2
#endif
作用:当指定常量表达式的值真(非0)时,编译程序段1,否则编译程序段2。表达式可以由程序设计人员设计,以达到编译不同程序段的目的。
程序段可以是语句或语句组,也可以是命令行。
【例题】实现条件编译
实现编译一个程序的两个程序段。这两个程序段分别是:将字符串中所有的小写字母改为大写字母;将字符串中所有的大写字母改为小写字母。
算法分析:
设置一个符号常量,当符号常量为1时,编译将小写改为大写的程序段;当符号常量为0时,实现编译将大写改小写字母的程序段。
程序如下:
#include <stdio.h>
#deflne FLAG 0
void main()
{
char s [80];
int i;
gets(s):
#if FLAG
for(i=0;s[i]!*=*0;i++)
if(s[i]>'a' && s[i]<'z')
s[i]=s[i]-32;
#else
for (i=0;s[i]!=0;i++)
if(s[i]>'A' && s[i]<'Z')
s[i]=s[i]+32;
#endif
puts(s);
}
程序运行,输入:
ABCDEFG
输出结果为:
Abcdefg
将符号常量FLAG的值改为1,再运行,查看运行结果。
点击加载更多评论>>