9.1预处理命令(课件)-《 C语言程序设计》同步教学(电子工业出版社)

2024-08-11
| 20页
| 65人阅读
| 7人下载
普通

内容正文:

第九章 程序设计优化--预处理 1 CONTENTS 目录 01 02 带参数的宏定义 预处理命令 03 文件包含 04 条件编译 C语言 知识树 My First Template 1、预处理命令 C语言程序设计 4 CONTENTS 内容 预处理的概念 01 预处理命令 02 不带参数的宏定义 03 5 预处理的概念 01 C语言程序设计 预处理命令 C语言 预处理的概念 包含命令 #include <stdio.h> 宏定义命令 #define PI 3.1415926 为了与一般C语句相区别,这些命令以符号“#”开头。 My First Template C语言程序设计 预处理命令 C语言 预处理的概念 在源程序中这些命令都放在函数之外,一般都放在源程序的前 面,我们称为预处理部分 C语言与其他语言的重要区别:就是C语言中可使用预处理命令 My First Template 预处理命令 02 C语言程序设计 预处理命令 C语言 预处理命令 宏定义 文件包含 条件编译 不带参数的宏定义、带参数的宏定义 My First Template 不带参数的宏定义 03 C语言 C语言程序设计 预处理命令 不带参数的宏定义 一个很长的字符在程序中 多次输入,怎么办? My First Template C语言程序设计 预处理命令 C语言 不带参数的宏定义 不带参数的宏定义的格式 #define 标识符 字符串 说明 “#”:凡是以“#”开头的均为预处理命令 define:宏定义命令 标识符:又称为宏名,尽量为大写字母 字符串:一般为常数、关键字、语句、表达式 宏定义作用 :用指定的标识符代替一个字符串 作用:指定标识符PI来代替数3.1415926 例:#define PI 3.1415926 C语言程序设计 预处理命令 C语言 #include <stdio.h> void main() {float l,s,r,v; printf("input radius:"); scanf("%f",&r); l=2.0*3.1415926*r; s=3.1415926*r*r; printf("l=%10.4f s=%10.4f ",l,s); } #include <stdio.h> #define PI 3.1415926 void main() {float l,s,r,v; printf("input radius:"); scanf("%f",&r); l=2.0*PI*r; s=PI*r*r; printf("l=%10.4f s=%10.4f ",l,s); } 预处理 例: C语言程序设计 预处理命令 C语言 以下几点说明 1、宏名一般习惯用大写字母表示,以便与变量名相区别。但这并非规 定,也可用小写字母。 2、宏定义是用宏名代替一个字符串,只作简单置换,不作正确性检查。 例:#define PI 2.71828 C语言程序设计 预处理命令 C语言 3、使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量。 4、宏定义不是C语句,不必在行末加分号。如果加了分号则会连分号一起进 行置换。 例: #define PI 3.1415926;   area = PI * r * r;   当宏定义被替换后变成   area = 3.1415926; * r * r; C语言程序设计 预处理命令 C语言 5、宏定义必须写在函数之外,其作用域为宏命令起到源程序结束。如要终止 其作用域可使用#undef命令 f1函数中G不再代表9.8。这样可以灵活控制宏定义的作用范围 G的有效范围 #define G 9.8 void main() { … } #undef G f1() { … } C语言程序设计 预处理命令 C语言 6、宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开 时由预处理程序层层代换。 #include <stdio.h> #define R 3.0 #define PI 3.1415926 #define L 2*PI*R #define S PI*R*R void main() {printf("L=%f S=%f ",L,S); } 经过宏展开后,printf函数中的输出项L被展开为: 2*3.1415926*3.0 C语言程序设计 预处理命令 C语言 7、“输出格式”作宏定义,可以减少书写麻烦。 #include "stdio.h" #define P printf #define D "%d " #define F "%f " void main() { int a=5, c=8, e=11; float b=3.8, d=9.7, f=21.08; P(D F,a,b); P(D F,c,d); P(D F,e,f); } 总结 1. 预处理的概念 3、不带参数的宏定义 2. 预处理命令 $$

资源预览图

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