C语言学习第七天(宏)

文件包含

#include <file.h>

#include "file.h"

区别在于:尖括号存放在C库头文件所在目录中寻找要包含的文件,称为标准方式

        引号是先在用户当前目录寻找须要包含的文件,找不到再按标准方式查找

要合理的导包以节省查找时间


条件编译

#ifdef   标识符

        程序段1

#else    

        程序段2

#endif

当指定的标识符已经被#include命令定义过,则在程序编译阶段只编译程序1,否则编译程序2

#else可以忽略


#ifndef     标识符

           程序1

#else      

           程序2

#endif

与上面相反,如果没有被编译过则在程序编译阶段只编译程序1,否则编译程序2


用法:

#include <stdio.h>
#define PI 3.1415926
main(){
    #ifdef PI
        printf("PI is set");
    #endif // PR
}



小例子:如果CG为假则小写输出,CG为真则为大写输出

#include <stdio.h>
#define CG 0
main(){
   
    char str[20]="abcDEF",c;
    int i ;
    i=0;
    while((c=str[i])!='�')
    {
        i++;
        #if CG
            if(c>='a'&&c<='z')
            {
                c=c-32;
            }
        #else
            if(c>='A'&&c<='Z')
            {
                c=c+32;
            }
        #endif // CG
   
            printf("%c",c);
    }
}


一个自定义的格式化输出小例子

format.h文件

#define PR printf
#define N "
"
#define D "%d"
#define D1 D N
#define D2 D ","D N
#define D3 D ","D ","D N
demo.c文件
#include <stdio.h>
#include "format.h"
main(){
    PR(D1,1);
    PR(D2,1,2);
    PR(D3,1,23,4242);
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值