网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主
💬 刷题网站:一款立志于C语言的题库网站蓝桥杯ACM训练系统 - C语言网 (dotcpp.com)")
特别标注:该博主将长期更新c语言内容,初学c语言的友友们,订阅我的《初学者入门C语言》专栏,关注博主不迷路!
目录
前言
预编译伪指令一般都以#打头,且前面不能有其他字符,只能出现空白字符,执行过程是C的编译处理器对预编译伪指令进行处理后生成中间文件作为编译器的输入,因此所有的预编译伪指令都不会进入编译阶段。
文件包含
#include
#include伪指令用于包含一个头文件,头文件中存放的一般是模块接口,编译预处理器在扫描到伪指令后就用对应的文本内容替换它。
两种格式
#include<头文件名称>
一般用于包含的是库头文件,指示编译预处理器在开发环境设定的搜素路径中查找所需要的头文件
#include"头文件名称"
一般用来包含自己编写的头文件。
头文件包含的顺序
1.当前所需的自定义头文件
2.第三方程序库的头文件
3.标准头文件
宏定义
宏
宏定义相当于自己定义一个常量,宏定义具有文件作用域,宏定义晚后,后面任意一个地方都可以引用宏。
宏定义不是C语句,所以不需要使用语句结束符“;”
格式:
#define 宏名 宏体
举例
#define PI 3.14
为了便于区分,宏名为大写字母
嵌套宏
先完成一个宏定义,在第二个宏定义的宏体中包含了第一次宏定义的宏名
举例
#define PI 3.14
#define PI_2 (2*PI)
代码
#include <stdio.h>
#define PI 3.14
#define PI_2 2*PI
int main() {
int r = 3;
float l;
l = PI_2 * r;
printf("%.2f", l);
return 0;
}
执行结果
有参数的宏定义
与函数类似,宏定义中的参数称为形式参数
格式
#define 宏名(形参表) 宏体
举例
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。*
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!