第9章预处理命令和常用库函数 不章要点 9.1预处理命令 92常用输入输出函数 93常用字符串函数s 94动态内存分配函数
第9章 预处理命令和常用库函数 本章要点 9.1预处理命令 9.2常用输入/输出函数 9.3常用字符串函数 9.4动态内存分配函数
本章要点: 熟悉宏定义与宏扩展。宏与函数的区别。 熟悉文件包含命令# include的作用及其预处理方法 熟悉条件编译的使用
本章要点: ❖ 熟悉宏定义与宏扩展。宏与函数的区别。 ❖ 熟悉文件包含命令#include的作用及其预处理方法。 ❖ 熟悉条件编译的使用
91预处理命令 文件包含命令 文件包含预定处理命令# nclude的作用是使一个源文件可以 将另外一个源文件的全部内容包含进来,把指定的文件插入 该命令行位置取代该命令行,从而把指定的文件和当前的源 程序文件连成一个源文件 源立件 源文件2: 最终的源文件 file2 file1. c 并 include<fle1.c f2() f2( main() 含 预 理 main() f1()
9.1 预处理命令 文件包含命令 ❖ 文件包含预定处理命令#include的作用是使一个源文件可以 将另外一个源文件的全部内容包含进来,把指定的文件插入 该命令行位置取代该命令行,从而把指定的文件和当前的源 程序文件连成一个源文件
912宏定义 1.不带参的宏定义 在C语言源程序中允许用一个标识符来表示一个字 符串,称为“宏”。不带参的宏定义在第二章已有 简单介绍,那里用来定义一个符号常量,这里做进 步的说明。不带参的宏定义用一个指定的标识符 来代表一个特殊的字符串,它的一般形式是 # define标识符(或称宏名)字符串
9.1.2 宏定义 1.不带参的宏定义 ❖ 在C语言源程序中允许用一个标识符来表示一个字 符串,称为“宏”。不带参的宏定义在第二章已有 简单介绍,那里用来定义一个符号常量,这里做进 一步的说明。不带参的宏定义用一个指定的标识符 来代表一个特殊的字符串,它的一般形式是: ❖ #define 标识符(或称宏名) 字符串
【例9-2】不带参的宏定义示例 definer 4.6 define Pl 3.1415926 define L 2 P*R define S P*R*R include stdio. h maino printf(L=%fts=%f\n", L, S)
【例9-2】不带参的宏定义示例 #define R 4.6 #define PI 3.1415926 #define L 2*PI*R #define S PI*R*R #include"stdio.h" main() { printf("L=%f\tS=%f\n",L,S); }
运行结果 G: \C\test \Debug\test. exe 口X L=28.902652 S=66.476899 Press any key to continue
运行结果:
2.带参的宏定义 带参的宏定义,也称函数宏。格式如下 冷# defIne宏名(参数表)宏体 冷参数表中的参数可有多个,用逗号隔开。在宏展开 时宏体中与参数表中相同的 将被相的参数 所代替。 冷一个宏一旦被定义,它在文件中是存在的和可见的 这一点很像外部变量。如要对某一宏定义撤消,可 用命令 令# undef宏标识符 冷一个宏标识符一旦消除了原来的定义,便可以被重 新定义其他不同的云
2.带参的宏定义 ❖ 带参的宏定义,也称函数宏。格式如下: ❖ #deflne 宏名(参数表) 宏体 ❖ 参数表中的参数可有多个,用逗号隔开。在宏展开 时,宏体中与参数表中相同的标识符被相应的参数 所代替。 ❖ 一个宏一旦被定义,它在文件中是存在的和可见的。 这一点很像外部变量。如要对某一宏定义撤消,可 用命令: ❖ #undef宏标识符 ❖ 一个宏标识符一旦消除了原来的定义,便可以被重 新定义其他不同的宏
913条件编译 命令格式 表达式 程序段1 ielse 程序段2 fendi 命令格式二 #fdef标识 程序段1 #6 else 程序段2 fendi
9.1.3 条件编译 ❖ 命令格式一 #if 表达式 程序段1 #else 程序段2 #endif ❖ 命令格式二 #ifdef标识符 程序段1 #else 程序段2 #endif
【例9-4】阅读下面的程序,了解条件编译的使用 令# include #define MAX 10 maino #if max>99 printf("compile for array greater than 99\n") #else 必。 printf(" compile for small arrayn") endif
【例9-4】阅读下面的程序,了解条件编译的使用 ❖ #include #define MAX 10 main() { #if MAX>99 printf("compile for array greater than 99\n"); #else printf("compile for small array\n"); #endif }
程序运行结果 cA"E: C test Debug test. exe compile for small array Press any key to continue
程序运行结果: