《C语言》课程教学课件(PPT讲稿,课堂课件)C11

第11章 编译预处理命令 ★C程序运行一般步骤: 编辑、编译、连接、运行 ★作用:对源程序编译之前做一些处理,生成扩展C 源程序 ★种类 必宏定义 #define 文件包含 #include 必条件编译 #if-#else-#endif等 ★格式: 冬“#”开头 占单独书写行 必行末不加分号
第11章 编译预处理命令 C程序运行一般步骤: ❖编辑、编译、连接、运行 作用:对源程序编译之前做一些处理,生成扩展C 源程序 种类 ❖宏定义 #define ❖文件包含 #include ❖条件编译 #if-#else-#endif等 格式: ❖“#”开头 ❖占单独书写行 ❖行末不加分号

§11.1宏定义 ★不带参数宏定义 般用大写 ”一般形式: #define 宏名 宏体 功能:用指定标识符(宏名)代替字符序列(宏体) 定义位翌:e毅H压数1 作用域:从定义命令到文件结束 必#undef可终止宏到 例 #define YES 格式: #undef main() 冬宏展开 预编译 YES原作用域 令字苻串绿积的奥窬包安系相同也不置换 安病解筛树点eN久 例#defrefineVI心TN+B0 宏定中撰迓 #enineENe州平Wn3TH+40 宏展开:printf(“2Pl= 0GTH*2; var 宏展o宝型92+) printf(%dn”,i);
如 #define PI 3.14; s=r*r*PI; §11.1 宏定义 不带参数宏定义 ❖一般形式: #define 宏名 宏体 ❖功能:用指定标识符(宏名)代替字符序列(宏体) ❖宏展开:预编译时,用宏体替换宏名-不作语法检查 如 #define PI 3.1415926 ❖定义位置:任意(一般在函数外面) ❖作用域:从定义命令到文件结束 ❖#undef可终止宏名作用域 格式: #undef 宏名 例 #define YES 1 main() { . } #undef YES #define YES 0 max() {. } YES原作用域 YES新作用域 ❖宏定义可嵌套,不能递归 ❖字符串常量和注释的内容与宏名相同也不置换 例 #define PI 3.14159 printf(“2*PI=%f\n”,PI*2); 宏展开:printf(“2*PI=%f\n”,3.14159*2); ❖宏定义中使用必要的括号() 例 #define WIDTH 80 #define LENGTH WIDTH+40 var=LENGTH*2; 宏展开:var= 80+40 *2; ( ) ( ) #define N 2 #define M N+1 #define NUM 2*M+1 main() {int i ; for(i=1;i<=NUM;i++) printf(“%d\n”,i); } 一般用大写

■带参数宏定义 般形式: #define 宏名(参数表) 字符串 例 #define S(a,b)a*b area=S(3,2); 宏展开: area=3*2; 必宏展开:形参用实参换,其它字符保留 宏体及各形参外一般应加括号() 例 #define POWER(x) x*x X=4;y=6; z=POWER(x+y); 宏展开:Z=X+y*x+y; 一般写成:#define POWER(x) ()*(x) 宏展开:Z=(X+y)*(X+y);
◼ 带参数宏定义 ◼ 一般形式: #define 宏名(参数表) 字符串 例 #define S(a,b) a*b . area=S(3,2); 宏展开: area=3*2; ❖宏展开:形参用实参换,其它字符保留 ❖宏体及各形参外一般应加括号() 例 #define POWER(x) x*x x=4; y=6; z=POWER(x+y); 宏展开:z=x+y*x+y; 一般写成: #define POWER(x) (x)*(x) 宏展开: z=(x+y)*(x+y);

§11.2 文件包今 直接按标准目录(库函数头文件所在目录)搜索 ★功能: 《”先在当前目录搜索, 再搜索标准目录 包含进来可指定路径,如:#include.wang file22.c” ★一般形式:include <文件名 或include“文件名” ★处理过程:预编译时,用被包含文件的内容取代 该预处理命令,再对“包含”后的文件作一个源 文件编译 #include“file2.c file2.c B A A file2.c filel.c filel.c
§11.2 文件包含 功能:一个源文件可将另一个源文件的内容全部 包含进来 一般形式: #include 或 #include “文件名” #include “file2.c” file1.c file2.c file1.c file2.c A B A 处理过程:预编译时,用被包含文件的内容取代 该预处理命令,再对“包含”后的文件作一个源 文件编译 <> 直接按标准目录(库函数头文件所在目录)搜索 “” 先在当前目录搜索,再搜索标准目录 可指定路径,如:#include “c:\wang\file2.c
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C12.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C13-14.ppt
- 《C语言》课程教学课件(PPT讲稿)第1章 引论.ppt
- 《C语言》课程教学课件(PPT讲稿)第2章 基本的数据与运算.ppt
- 《C语言》课程教学课件(PPT讲稿)第3章 顺序程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿)第4章 选择结构程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿)第5章 循环结构程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿)第5章 循环补充习题.ppt
- 《C语言》课程教学课件(PPT讲稿)第6章 数组.ppt
- 《C语言》课程教学课件(PPT讲稿)第7章 指针.ppt
- 《C语言》课程教学课件(PPT讲稿)第8章 字符串处理.ppt
- 《C语言》课程教学课件(PPT讲稿)第9章 函数.ppt
- 《C语言》课程教学课件(PPT讲稿)第10章 函数进一步讨论.ppt
- 《C语言》课程教学课件(PPT讲稿)第11章 编译预处理命令.ppt
- 《C语言》课程教学课件(PPT讲稿)第12章 结构体.ppt
- 《C语言》课程教学课件(PPT讲稿)第14章 文件.ppt
- 《C语言》课程教学资源_复习_复习.ppt
- 《C语言》课程教学资源_编译预处理_编译预处理.ppt
- 《C语言》课程教学资源_字符串处理_字符串处理.ppt
- 《C语言》课程教学资源_文件_文件.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C10.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C9.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C8.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C7.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C6.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C5-2.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C5-1.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C4.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C3.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C2.ppt
- 《C语言》课程教学课件(PPT讲稿,课堂课件)C1.ppt
- 《C语言》课程教学资源_二级C语言复习资料_二级公共基础知识参考资料课件.ppt
- 《C语言》课程教学资源(复习资料)计算机二级C语言上机题库100套参考(含答案).doc
- 《C语言》课程教学资源(复习资料)二级C语言选择题题库参考(带答案版).doc
- 《编译原理》课程教学课件(PPT讲稿)chap10 目标代码生成.ppt
- 《编译原理》课程教学课件(PPT讲稿)chap9 优化.ppt
- 《编译原理》课程教学课件(PPT讲稿)chap8 运行时存储空间组织与管理.ppt
- 《编译原理》课程教学课件(PPT讲稿)chap7 语法制导翻译和中间代码生成.ppt
- 《编译原理》课程教学课件(PPT讲稿)chp 6 LR分析.ppt
- 《编译原理》课程教学课件(PPT讲稿)chp5 自底向上优先分析.ppt
