首页 百科知识 预处理命令和语句区别

预处理命令和语句区别

时间:2023-10-03 百科知识 版权反馈
【摘要】:ANSIC标准规定,可以在C源程序中加入一些 “预处理命令”,以改进程序设计环境,提高编程效率。这些预处理命令是由ANSIC统一规定的,但是它不是C语言本身的组成部分,不能直接对它们进行编译 。经过预处理后,程序不再包括预处理命令了,最后再由编译程序对预处理后的源程序进行通常的编译处理,得到可供执行的目标代码。因此,不少用户误认为预处理命令是C语言的一部分,甚至以为它们是C语句,这是不对的。

ANSIC标准规定,可以在C源程序中加入一些 “预处理命令”,以改进程序设计环境,提高编程效率。这些预处理命令是由ANSIC统一规定的,但是它不是C语言本身的组成部分,不能直接对它们进行编译 (因为编译程序不能识别它们)。必须在对程序进行通常的编译 (包括词法和语法分析、代码生成、优化等)之前,先对程序中这些特殊的命令进行“预处理”,即根据预处理命令对程序做相应的处理 (例如,若程序中用#define命令包含一个文件 “stdio.h”,则在预处理时将stdio.h文件中的实际内容代替该命令)。经过预处理后,程序不再包括预处理命令了,最后再由编译程序对预处理后的源程序进行通常的编译处理,得到可供执行的目标代码。现在使用的许多C编译系统都包括了预处理、编译和连接等部分,在进行编译时一气呵成。因此,不少用户误认为预处理命令是C语言的一部分,甚至以为它们是C语句,这是不对的。必须正确区别预处理命令和C语句、区别预处理和编译,才能正确使用预处理命令。C语言与其他高级语言的一个重要区别是可以使用预处理命令和具有预处理的功能。

C语言提供的预处理功能主要有以下三种:

①宏定义。

②文件包含。

③条件编译。

分别用宏定义命令、文件包含命令、条件编译命令来实现。为了与一般C语句相区别,这些命令以符号 “#”开头。

本章学习目标:

1.掌握宏定义命令。

2.掌握文件包含命令。

3.了解条件编译命令。

本章学习重点和难点:

1.带参数的宏定义。

2.相应的头文件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈