#include 引用各种函数库 #define 定义常用的宏
根据表达式的结果来决定要编译的内容 #if #else #elif #endif
// 根据变量或宏等是否定义来决定要编译的内容 #ifdef #ifndef
// 1)两种形式:
#include <stdio.h> // 到配置目录中找
#include "stdio.h" // 从当前目录开始找,无则到配置目录中找
// 2)文件包含允许嵌套
// 文件A包含了文件B,文件B又包含了文件C,最终文件B和C都会被引入A文件
#include <stdio.h>
// 1) 无参数宏
#define PI 3.14
#define M (a+b+c)/2.0
int main()
{
int a = 1, b = 2, c = 3;
printf("面积为%f", PI*2*2);
printf("%f", M);
}
// 2)带参数宏
#define f(x) x*x+3*x
#define Sum(a,b,c) a=b*c;b=c*a;a=b*c
printf("%d", 3*f(2));
PS:非值传递,而是传递形参字符
#if (常量表达式) =====> 注意常量,非变量 仅当表达式为真,则编译它与 #endif 之间的代码
#include<stdio.h>
#define debug = 0
#define beta = 1
#define status = 1
int main()
{
#if (status == debug)
printf("程序调试中\n");
#elif (status == beta)
printf("程序测试中\n");
#else
printf("欢迎使用正式版!\n");
#endif
}
#ifdef 如果有定义 (if define) #ifndef 如果没定义 (if not define)
#ifndef PI
define PI 3.14
#endif
#ifdef 和 #ifndef 主要是用来避免重定义
额外内容: 使用CL.exe编译c程序