C++编译预处理.ppt
《C++编译预处理.ppt》由会员分享,可在线阅读,更多相关《C++编译预处理.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机基础教研室计算机基础教研室计算机基础教研室计算机基础教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric Power UniversityNorth China Electric Power University编译预处理编译预处理 头文件头文件 宏定义宏定义计算机基础教研室计算机基础教研室计算机基础教研室计算机基础教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric Power UniversityNorth China Electric Power Un
2、iversity C+中的编译过程分为预处理和正式编中的编译过程分为预处理和正式编译两步,预处理由预处理命令完成。译两步,预处理由预处理命令完成。书写规则书写规则 1、预处理命令以、预处理命令以“#”开头;开头;2、一行只书写一条预处理命令、一行只书写一条预处理命令 3、结束时不使用、结束时不使用“;”l l文件包含文件包含文件包含文件包含#include#includel l宏定义宏定义宏定义宏定义#define#definel l条件编译条件编译条件编译条件编译#if-#else-#if-#else-#endif#endif等等等等计算机基础教研室计算机基础教研室计算机基础教研室计算机基础
3、教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric Power UniversityNorth China Electric Power University一般形式一般形式一般形式一般形式:#include#include 文件名文件名文件名文件名 或或或或#include#include#include#include cpp1.cppcpp1.cppA Aiostream.hiostream.hB Bcpp1.cppcpp1.cppB BA A预编译过程:用被包含文件的内容取代该预处理预编译过程:用被包含文件的内容取代该
4、预处理预编译过程:用被包含文件的内容取代该预处理预编译过程:用被包含文件的内容取代该预处理命令,再对命令,再对命令,再对命令,再对“包含包含包含包含”后的文件作一个源文件编译后的文件作一个源文件编译后的文件作一个源文件编译后的文件作一个源文件编译计算机基础教研室计算机基础教研室计算机基础教研室计算机基础教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric Power UniversityNorth China Electric Power University常见的文件包含命令常见的文件包含命令#include#include
5、程序使用程序使用程序使用程序使用cincin和和和和coutcout进行输入输出进行输入输出进行输入输出进行输入输出#include#include 程序使用程序使用程序使用程序使用scanfscanf和和和和printfprintf进行输入输出进行输入输出进行输入输出进行输入输出#include#include 程序中使用数学函数,如程序中使用数学函数,如程序中使用数学函数,如程序中使用数学函数,如sin(xsin(x)、sqrt(xsqrt(x)#include#include 程序中使用字符串函数,如程序中使用字符串函数,如程序中使用字符串函数,如程序中使用字符串函数,如strcpyst
6、rcpy()()#include#include 与与与与#include#include 连用,控制输连用,控制输连用,控制输连用,控制输出格式出格式出格式出格式计算机基础教研室计算机基础教研室计算机基础教研室计算机基础教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric Power UniversityNorth China Electric Power Universityl不带参数的宏定义不带参数的宏定义不带参数的宏定义不带参数的宏定义用一个指定的标识符来代表一个字符串用一个指定的标识符来代表一个字符串用一个指定的标识符
7、来代表一个字符串用一个指定的标识符来代表一个字符串#definedefine 标识符标识符标识符标识符 字符串字符串字符串字符串宏名宏名宏名宏名宏展开:宏展开:宏展开:宏展开:在预编译时将宏名替换为字符串在预编译时将宏名替换为字符串在预编译时将宏名替换为字符串在预编译时将宏名替换为字符串宏定义命令宏定义命令宏定义命令宏定义命令例:例:例:例:#define PI 3.1415926define PI 3.1415926计算机基础教研室计算机基础教研室计算机基础教研室计算机基础教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric
8、Power UniversityNorth China Electric Power University例例例例:#include#include#define PI 3.1415926#define PI 3.1415926 void main()void main()float l,s,r,v;float l,s,r,v;cinr;cinr;l=2.0*PI*r;l=2.0*PI*r;s=PI*r*r;s=PI*r*r;v=3.0/4*PI*r*r*r;v=3.0/4*PI*r*r*r;coutL=lnS=snV=v;coutL=lnS=snV=v;宏展开宏展开宏展开宏展开l=2.0*3
9、.1415926*r;l=2.0*3.1415926*r;s=3.1415926*r*r;s=3.1415926*r*r;v=3.0/4*3.1415926*r*r*r;v=3.0/4*3.1415926*r*r*r;计算机基础教研室计算机基础教研室计算机基础教研室计算机基础教研室 罗贤缙罗贤缙罗贤缙罗贤缙 Tel:7522324Tel:7522324North China Electric Power UniversityNorth China Electric Power University使用宏定义可减少工作量使用宏定义可减少工作量使用宏定义可减少工作量使用宏定义可减少工作量,提高程序
10、的可以移植性提高程序的可以移植性提高程序的可以移植性提高程序的可以移植性.宏定义只作简单的替换宏定义只作简单的替换宏定义只作简单的替换宏定义只作简单的替换,不作语法检查不作语法检查不作语法检查不作语法检查.宏定义不是语句宏定义不是语句宏定义不是语句宏定义不是语句,不必在行末加分号不必在行末加分号不必在行末加分号不必在行末加分号.#define#define命令出现在函数之外命令出现在函数之外命令出现在函数之外命令出现在函数之外,其有效范围从定其有效范围从定其有效范围从定其有效范围从定义命令之后到本源文件结束义命令之后到本源文件结束义命令之后到本源文件结束义命令之后到本源文件结束.可用可用可用可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编译 预处理
限制150内