9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)

2024-08-11
| 24页
| 34人阅读
| 5人下载
普通

内容正文:

第九章 程序设计优化--预处理 1 CONTENTS 目录 01 02 带参数的宏定义 预处理命令 03 文件包含 04 条件编译 C语言 知识树 My First Template 4、条件编译 C语言程序设计 4 C语言程序设计 条件编译 C语言 什么是文件包含 关于文件包含的几点说明 文件包含的一般形式 My First Template C语言 本次任务 C语言程序设计—条件编译 采用条件编译,实现给定字符串使之全 改为大写输出,或全改为小写输出。 My First Template CONTENTS 内容 什么是条件编译 01 条件编译的三种形式 02 任务实现 03 总结 04 7 什么是条件编译 01 C语言程序设计 条件编译 C语言 什么是条件编译 一般情况下,源程序中所有行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,即对一部分内容指定编译的条件,这就是“条件编译”。 条件编译的三种形式 02 C语言程序设计 条件编译 C语言 第一种形式: #ifdef 标识符 程序段1 #else 程序段2 #endif 说明 作用:当标识符已经被定义过(一般是用 define命 令定义),则对程序段1进行 编译;否则编 译程序段2。 注意:其中#else 程序段2可以没有。 #ifdef 标识符 程序段 #endif C语言程序设计 条件编译 C语言 第二种形式: #ifndef 标识符 程序段1 #else 程序段2 #endif 说明 作用:若标识符未被定义,则编译程序段1;否则 编译程序段2。 C语言程序设计 条件编译 C语言 第二种形式: #include “a.h” #include “b.h” #include “x.h” #ifndef _HEADERNAME_H #define _HEADERNAME_H ...//(头文件内容) #endif 符号_HEADERNAME_H按照被包含头文件的文件名进行取名。 以避免由于其他头文件使用相同的符号而引起的冲突。 C语言程序设计 条件编译 C语言 第三种形式: #if 表达式 程序段1 #else 程序段2 #endif 说明 作用:当指定的表达式值为真(非零)时编译程序段1;否则编译程序段2。 C语言程序设计 条件编译 C语言 第三种形式: #include "stdio.h" #define FLAG 0 void main() { #if FLAG { printf("执行程序段1 "); } #else { printf("执行程序段2 "); } #endif } 程序执行取决于FLAG所代表的字符串 输出结果: 任务实现 03 C语言 本次任务 C语言程序设计—条件编译 采用条件编译,实现给定字符串使之全 改为大写输出,或全改为小写输出。 My First Template C语言程序设计 条件编译 C语言 第一步:字符串替换 编译预处理时,程序按照#define命令行中指定的字符串 从左到右进行置换:area=a*b 实现过程: #include <stdio.h> #define LETTER 1 void main() { char str[20]="C Language"; char c; int i=0; while((c=str[i])!='\0') { i++; #if LETTER if(c>='a' && c<='z') c=c-32; //小写转大写 #else if(c>='A' && c<='Z') c=c+32; ; //大写转小写 #endif printf("%c",c); } printf(" "); } 算法逻辑 使用 循环处理字符串 输出结果 总 结 04 C语言 C语言程序设计—条件编译 My First Template 1. 宏定义 3. 条件编译 2. 文件包含 C语言 C语言程序设计—条件编译 不带参宏定义 1 2 3 4 My First Template 宏定义的格式 # define 标识符 字符串 使用宏名代替一个字符串,可以减少程序中重复书写某些“字符串”的工作量。 宏定义是用宏名代替字符串,只做简单的置换,不作正确性检查。 宏定义不是C语句,不能在行末加分号,如果加了分号,宏定义会将分号作为“字符串”的一部分。 C语言 C语言程序设计—条件编译 带参宏定义 1 2 3 4 My First Template 定义的一般形式:#define 宏名(形参表)字符串 调用的一般形式:宏名(实参表) 在宏定义中,宏名与左括号间不能有空格,否则将会把宏名后的所有数据都当做字符串的一部分。 带参宏定义的置换过程:1、字符串替换 2、参数代换 C语言 C语言程序设计—条件编译 文件包含 1 2 3 4 My First Template 文件包含是指一个源程序文件将另外一个源文件的全部内容包含进来 一般形式:#include <文件名> 或 #include “文件名” 一个include 命令只能指定一个被包含的文件,如果要包含n个文件,要用n个include 命令。 在一个被包含文件中又可以包含另一个被包含文件,即文件包含是可以嵌套的。 C语言 C语言程序设计—条件编译 条件编译 1 2 3 My First Template 一般情况下,源程序中所有代码都参加编译,但是有时希望对其中一部分内容在 满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是条件编译。 条件编译命令的作用是实现对源程序有选择的编译。 条件编译的三种形式 $$

资源预览图

9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)
1
9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)
2
9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)
3
9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)
4
9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)
5
9.4条件编译(课件)-《 C语言程序设计》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。