C语言的预处理主要有三个方面的内容:

3.条件编译。 预处理命令以符号“#”开头。宏定义命令:#define、#undef,用来定义和解除宏。(值得注意的是还可以定义带参数的宏)文件包含命令:#include "文件名" 或者 #include 。使用前者时会优先从当前目录查找头文件,使用后者时优先从默认的系统目录查找。条件编译:#ifdef、#else、#endif、#elif 等。出于程序兼容性的考虑,有些语句希望在条件满足时才编译。这时候会用到条件编译的命令。
在C语言中预处理的命令是以#开头如常见的#include的作用的就是将其他文件的内容加到该文件中,#ifndef/#define/#end多用于头文件的定义解决重复包含问题,#define常用于定义的宏,还有很多了。。。预处理是由预处理器解释和处理的,在C语言源文件被转化成汇编前。要说作用我觉得主要是方便C开发,模块化和源码管理等。
例如,要使用标准库函数printf,我们需要在程序的开头加入#include
预处理命令#include告诉编译器在编译之前将指定的头文件内容插入到程序中,以便正确使用标准库函数。这样,我们就能够使用标准库函数提供的功能来简化程序的开发和实现。
C语言源程序的执行经过以下步骤:
首先,预处理器对源代码进行处理,包括宏展开、头文件包含等。
然后,编译器将预处理后的代码转换为汇编代码。
接下来,汇编器将汇编代码转换为机器码,并生成目标文件。
链接器将目标文件与库文件进行链接,生成可执行文件。
最后,操作系统加载可执行文件到内存中,并执行程序。在执行过程中,程序按照顺序执行指令,读取和修改内存中的数据,最终完成程序的功能。