摘要:本文介绍了C语言预处理命令的三大类:头文件、宏定义和条件编译。头文件部分解释了#include指令的两种形式及其查找路径差异,说明了头文件内容组成和工程结构组织方式。宏定义部分分别讲解了不带参数和带参数的宏定义语法及注意事项,特别强调宏函数的使用规范。条件编译部分列举了#if/#elif/#else/#endif等指令的用法。作者通过系统整理这些知识点,体会到编程学习需要持续练习和总结,并分享了自己从零基础到能独立解决问题的成长过程,强调多练多思的重要性。全文既包含技术要点又融入学习心得,展现了编程学习的阶段性成果。
一、预处理命令
1、定义:
与#号相关的命令
2、分类:
头文件、宏文件、条件编译
二、头文件
1、基本形式: #include <stdio.h>
#include <string.h>
#include "head.h"
- #include 包含一个文件,文件会在预处理编译时展开
- <>:在系统目录下查找该头文件
- "":在当前目录下查找该头文件,如果找不到再到系统目录下查找
2、头文件中包含:
构造数据类型的定义、全局变量的声明、全局函数的声明、宏定义
3、工程结构
- main.c中负责主函数编写
- 功能代码.c中主要负责功能函数的编写
- 功能代码.h中主要负责声明功能代码.c中编写的功能函数
- 调用函数的文件只需加对应函数的.h头文件即可使用该函数
三、宏定义
1、不带参宏 :
(1)基本形式 : #define PI 3.14159265
(2)注意事项 :宏名可以小写但为了区分变量、函数,一般宏名全大写
2、参宏 : (宏函数-仅为代码替换,所以使用时要加括号)
(1)基本形式 :#define MAX(x,y) ((x>y)?(x):(y))
(2)参宏 VS 函数
(3)用法示例
- do while和每行都来个 ' \ ',表示这几行为一行内容(参宏内容为一行)。示例中的也实现不了,因为参宏仅为代码替换,无法替换成打印的这个函数。
四、条件编译
1、类型
#if //满足条件代码加入编译
#elif //如果if不满足条件 elif满足加入编译
#else //if不满足代码加入编译
#endif //条件编译结束
#ifdef //定义了该宏,代码加入编译
#ifndef //没有定义该宏,代码加入编译
个人思绪总结:
前期练了很多代码,总觉得可能没掌握,今天练的一些重要的类型时,没有翻笔记自己就写
出来了。很开心,所以说我们每次认真练、仔细思考的写完代码都是有收获的。从开始的什么都不
懂,到现在能够独立完成一些练习,能够再编译中找到自己的问题并改正。我觉得这段时间的学习
让我很充实,很有成就感同时让我充满冲劲!
始终牢记多练,多写,多反思,多总结,让我们一起厚积薄发!!