第11章 结构体和联合体精品.pptVIP

  • 0
  • 0
  • 约4.45千字
  • 约 27页
  • 2018-03-06 发布于湖北
  • 举报
第11章 结构体和联合体精品

* * * * * * * * 11.2 文件包含命令 11.2.2 多文件结构 在开发较大程序时,通常将其分解为多个源程序文件,每个较小的程序用一个源程序文件建立。程序经过建立、编译、连接,成为一个完整的可执行程序。多文件结构通过工程进行管理,在工程中建立若干用户定义的头文件.h和源程序文件.c。 * 11.2 文件包含命令 一个多文件系统结构如图11.2所示。 filen.h file2.h file1.h 临时文件1 file1.c file1.obj file2.c 临时文件2 file2.obj filen.c 临时文件n filen.obj … 连接 编译 运行 .lib C标准函数库 … … * 11.2 文件包含命令 11.3 条件编译命令 11.3.1 第一种条件编译命令──#ifdef 条件编译命令#ifndef的一般格式如下: #ifdef 标识符 程序段1 #else 程序段2 #endif * 11.2 文件包含命令 本格式中的#else可以没有,即可以写成如下形式: #ifdef 标识符 程序段 #endif * 11.2 文件包含命令 【例10.4】#ifdef条件编译应用。 #define DEBUG 1 #include stdio.h void main( ) { int a=14,b=15,c; c=a/b; # ifdef DEBUG printf(“a=%d,b=%d,”,a,b); #endif printf(“c=%d\n”,c); } * 11.2 文件包含命令 11.3.2 第二种条件编译命令──#ifndef 条件编译命令#ifndef的一般格式如下: #ifndef 标识符 程序段1 #else 程序段2 #endif * 11.2 文件包含命令 【例11.4】#ifndef条件编译应用。 #define MAX 100 #include stdio.h void main( ) { #ifndef MAX printf(Complied for small array.\n); #else printf(Compiled for array greater than 99.\n); #endif } * 11.2 文件包含命令 11.3.3 第三种条件编译命令──#if 条件编译命令#if的一般格式如下: #if 常量表达式 程序段1 #else 程序段2 #endif * 11.2 文件包含命令 【例11.5】输入一任意字符串,需将其全部转化为大写字母,或者将其全部转化为小写字母。程序中用条件编译,决定是全部转为大写字母还是小写字母。 * 11.2 文件包含命令 11.3.4 第四种条件编译命令──#if…#elif…#endif 条件编译命令#if…#elif…#endif的一般格式如下: #if 常量表达式1 程序段1 #elif常量表达式2 程序段2 …… #elif常量表达式n 程序段n #else 程序段n+1 #endif * 11.2 文件包含命令 【例11.6】分析下面程序的结果。 #include stdio.h #define k -5 void main( ) { #if k0 printf( k0); #elif k0 printf( k0); #else printf( k=0); #endif } * 11.4 小结 预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的。程序员在程序中用预处理命令来调用这些功能。宏定义是用一个标识符来表示一个字符串,这个字符串可以是常量、变量或表达式。 在宏调用中将用该字符串代换宏名。宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。 * 11.4 小结 条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。 * * * * * * * * * * * * * * * * * * * * 1-* 北京源智天下科技有限公司 联系方式: 1-* 北京源智天下科技有

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档