【项目任务】
编写一个程序,实现大小写字母的转换。
【设计思路】
在本案例中,介绍了如何使用条件编译预处理命令。
【程序代码】
#include <stdio.h>
#define STRUPR /*定义的宏STRUPR*/
main()
{
char str[]="Hello,world!\n";
char *p;
p=str;
while(*p)
{
#ifdef STRUPR /*如果定义了宏STRUPR,则编译以下代码*/
if(*p>='a' && *p<='z')
*p-=32;
#else /*否则,编译以下代码*/
if(*p>='A' && *p<='Z')
*p+=32;
#endif
p++;
}
printf("%s",str);
}
【运行结果】
HELLO,WORLD!
【知识拓展】
1.常见的条件编译指令有#if、#else、#endif、#ifdef、#ifndef,它们表示的含义分别为如果、否则、if指针结束、如果定义、如果没有定义。
2.本案例也可以不用条件编译实现,但采用条件编译可以减少被编译的C语言语句,从而缩小最终可执行程序的大小,减少程序的运行时间,提高程序的运行速度。
本章简单介绍了C语言中的编译预处理命令:文件包含、宏定义和条件编译及其用法。编译预处理是C语言编译系统在对程序进行编译之前,先对程序中一些特殊的命令进行处理,然后再由编译器对其进行编译、连接,最后得到目标代码。使用编译预处理命令可以改善编程环境,提高编程的效率。为了区别一般的C语言语句,所有的编译预处理命令都以“#”开头。