C语言的预处理问题,求大神

#include 和#include “file”的区别是什么,头文件和源文件有什么区别,还有就是条件编译的格式是什么

#include 是一个预编译指令,他告诉编译器我需要把哪几个文件编译到这里, #include “file”是从当前目录下加载file文件
头文件一般用来声明,源文件对声明的东西实现。
条件编译最常见的就是
if(条件为真)

//语句

else
{
//语句
}

二者的区别是:

   用尖括号(如<stdio.h>形式)时,系统到存放C库函数头文件的目录中寻找要包含的文件,这称为标准方式。

   用双撇号(即 "file2.c" 形式)时,系统在用户当前目录中寻找要包含的文件,若找不到,再按标准方式查找(即再按尖括号的方式查找)。

    一般来说,如果为调用库函数而用#include命令来包含相关的头文件,则用尖括号,以节约查找时间。如果要包含的是用户自己编写的文件(这种文件一般都在用户当前的目录中),一般用双撇号。若文件不在当前目录中,在双撇号内应该给出文件路径(如#include"C:\wang\file2.h“)。