您的位置: 网站首页 > 程序开发 > C语言程序设计案例教程 > 第十章 编译预处理命令 > 【10.3 条 件 编 译】

10.3 条 件 编 译

 

10.3 

案例10.4  大小写字母的转换

【项目任务】

编写一个程序,实现大小写字母的转换。

【设计思路】

在本案例中,介绍了如何使用条件编译预处理命令。

【程序代码】

#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语言语句,所有的编译预处理命令都以“#”开头。