正在加载图片...
从以上分析可以看出函数调用和宏调用二者在形式上相似,在本质上是完全不同的 6.宏定义也可用来定义多个语句,在宏调用时,把这些语句又代换到源程序内。看下 面的例子。 【例9.11】 #define SSSv (sl, s2, s3, v)s1=1**w: s2=l*h; s3=w*h: v=w*l*h maino( int 1=3, w=4.h=5, sa, sb, sc, vv. SSSV(sa, sb, sc, vv) printf( sa=%d\nsb=%d \nsc=%d\nvv=%d\n", sa, sb, sc, vv) 包 程序第一行为宏定义,用宏名SSV表示4个赋值语句,4个形参分别为4个赋值符左部 的变量。在宏调用时,把4个语句展开并用实参代替形参。使计算结果送入实参之中。 93文件包含 文件包含是C预处理程序的另一个重要功能。 文件包含命令行的一般形式为: # include"文件名 在前面我们已多次用此命令包含过库函数的头文件。例如 #include stdio. h #include math. h 文件包含命令的功能是把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和 当前的源程序文件连成一个源文件 在程序设计中,文件包含是很有用的。一个大的程序可以分为多个模块,由多个程序员 分别编程。有些公用的符号常量或宏定义等可单独组成一个文件,在其它文件的开头用包含 命令包含该文件即可使用。这样,可避免在每个文件开头都去书写那些公用量,从而节省时 间,并减少出错。 对文件包含命令还要说明以下几点 1.包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。例如以下写法 都是允许的: #include stdio. h #include<math. h> 但是这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找(包含目录是 由用户在设置环境时设置的),而不在源文件目录去查找: 使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查 找。用户编程时可根据自己文件所在的目录来选择某一种命令形式 2.一个 include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个 include命令。 3.文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。从以上分析可以看出函数调用和宏调用二者在形式上相似,在本质上是完全不同的。 6. 宏定义也可用来定义多个语句,在宏调用时,把这些语句又代换到源程序内。看下 面的例子。 【例 9.11】 #define SSSV(s1,s2,s3,v) s1=l*w;s2=l*h;s3=w*h;v=w*l*h; main(){ int l=3,w=4,h=5,sa,sb,sc,vv; SSSV(sa,sb,sc,vv); printf("sa=%d\nsb=%d\nsc=%d\nvv=%d\n",sa,sb,sc,vv); } 程序第一行为宏定义,用宏名 SSSV 表示 4 个赋值语句,4 个形参分别为 4 个赋值符左部 的变量。在宏调用时,把 4 个语句展开并用实参代替形参。使计算结果送入实参之中。 9.3 文件包含 文件包含是 C 预处理程序的另一个重要功能。 文件包含命令行的一般形式为: #include"文件名" 在前面我们已多次用此命令包含过库函数的头文件。例如: #include"stdio.h" #include"math.h" 文件包含命令的功能是把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和 当前的源程序文件连成一个源文件。 在程序设计中,文件包含是很有用的。一个大的程序可以分为多个模块,由多个程序员 分别编程。有些公用的符号常量或宏定义等可单独组成一个文件,在其它文件的开头用包含 命令包含该文件即可使用。这样,可避免在每个文件开头都去书写那些公用量,从而节省时 间,并减少出错。 对文件包含命令还要说明以下几点: 1. 包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。例如以下写法 都是允许的: #include"stdio.h" #include<math.h> 但是这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找(包含目录是 由用户在设置环境时设置的),而不在源文件目录去查找; 使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查 找。用户编程时可根据自己文件所在的目录来选择某一种命令形式。 2. 一个 include 命令只能指定一个被包含文件,若有多个文件要包含,则需用多个 include 命令。 3. 文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有