制作:方斌 C语言程序设计 教程 郧阳师范髙等专科学校 计算机科学系 方斌制作
制 作:方 斌 C语言程序设计 教程 郧阳师范高等专科学校 计算机科学系 方 斌 制作
制作:方斌 第9章编译预处理 所谓编译预处理是指,在对源程序进行编译之前,先对源程序中 的编译预处理命令进行处理;然后再将处理的结果,和源程序一起进 行编译,以得到目标代码。 91宏定义与符号常量 92文件包含 9.3条件编译
制 作:方 斌 第9章 编译预处理 所谓编译预处理是指,在对源程序进行编译之前,先对源程序中 的编译预处理命令进行处理;然后再将处理的结果,和源程序一起进 行编译,以得到目标代码。 9.1 宏定义与符号常量 9.2 文件包含 9.3 条件编译
制作:方斌 91宏定义与符号常量 在C语言中,“宏”分为无参数的宏(简称无参宏)和有参 数的宏(简称有参宏)两种。 911无参宏定义 912符号常量 913有参宏定义
制 作:方 斌 9.1 宏定义与符号常量 在C语言中, “宏”分为无参数的宏(简称无参宏)和有参 数的宏(简称有参宏)两种。 9.1.1 无参宏定义 9.1.2 符号常量 9.1.3 有参宏定义
制作:方斌 911无参宏定义 1.无参宏定义的一般格式 define标识符语言符号字符串 其中:“ define”为宏定义命令;“标识符”为所定义的宏名, 通常用大写字母表示,以便于与变量区别;“语言符号字符串”可 以是常数、表达式、格式串等。 2.使用宏定义的优点 (1)可提高源程序的可维护性 (2)可提高源程序的可移植性 (3)减少源程序中重复书写字符串的工作量
制 作:方 斌 9.1.1 无参宏定义 1.无参宏定义的一般格式 #define 标识符 语言符号字符串 其中:“define”为宏定义命令;“标识符”为所定义的宏名, 通常用大写字母表示,以便于与变量区别;“语言符号字符串”可 以是常数、表达式、格式串等。 2.使用宏定义的优点 (1)可提高源程序的可维护性 (2)可提高源程序的可移植性 (3)减少源程序中重复书写字符串的工作量
制作:方斌 [案例91]输入圆的半径,求圆的周长、面积和球的体积。要求使用无参宏定义 圆周率 /*案例代码文件名:AL81.C*/ /*程序功能:输入圆的半径,求圆的周长、面积和球的体积。 # define pi3.1415926/*P是宏名,3.1415926用来替换宏名的常数*/ maino d float radius, length, area, volume: printf( Input a radius: " scanf(%/f", &radius) length=2 PI radius /*引用无参宏求周长*/ area=pi radius radius /*引用无参宏求面积*/ Vo|ume=P* radius* radius* radius*3/4;/*引用无参宏求体积*/ printf ("length=%0. 2f, area=%.2f, volume=%.2f\n",length, area, volume);
制 作:方 斌 [案例9.1] 输入圆的半径,求圆的周长、面积和球的体积。要求使用无参宏定义 圆周率。 /*案例代码文件名:AL8_1.C*/ /*程序功能:输入圆的半径,求圆的周长、面积和球的体积。 */ #define PI 3.1415926 /*PI是宏名,3.1415926用来替换宏名的常数*/ main() { float radius,length,area,volume; printf("Input a radius: "); scanf("%f",&radius); length=2*PI*radius; /*引用无参宏求周长*/ area=PI*radius*radius; /*引用无参宏求面积*/ volume=PI*radius*radius*radius*3/4; /*引用无参宏求体积*/ printf("length=%.2f,area=%.2f,volume=%.2f\n", length, area, volume); }