C语言程序设计(中)ppt171.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计(中)ppt171

③ 如果文件l包含文件2,而文件2中要用到文件3的内容,则可在文件l中用两个#include命令分别包含文件2和文件3,且文件3应出现在文件2之前,即在文件l中定义。 ④ 文件包含可以嵌套,即在一个被包含文件中又可以包含另一个被包含文件 5.11.3 条件编译 所谓“条件编译”,就是对C源程序中某一部分内容指定编译或不编译条件,当满足相应条件时才对该部分内容进行编译或不编译。 常用的条件编译命令有以下三种格式: 格式一: #ifdef宏名 程序段l #eIse 程序段2 #endif 或 #ifdef宏名 程序段l #endif 该命令的作用是:如果#ifdef后的宏名在此之前已经被#define命令定义过,则在程序编译阶段只编译程序段l,否则编译程序段2;如果没有#else部分,当宏名在此之前末被#define命令定义过,编译时直接跳过#endif,否则编译程序段l。这里的“程序段”可以是语句组,也可以是命令行。 【例5-23】若在同一个目录下有文件f11e1.c和file2.h,指出下面程序的输出结果。 file2.h的内容如下: #define DE filel.c的内容如下: #include stdio.h #include file2.h /* 文件filel.c包含文件file2.h的宏定义,运行时候需要加上路径 */ #ifdef DE #define R 1.0 /* 程序段1 */ #else #define R 2.0 /* 程序段2 */ #endif void main( ) { float s; s=3.14*R*R; printf(%f\n,s); } 格式二:#ifndef宏名 程序段l #else 程序段2 #endif 或 #ifndef 宏名 程序段l #endif #ifndef命令的功能与#ifdef相反。如果宏名在此之前末被定义,则编译程序段1,否则编译程序段2。 格式三: #if 表达式 程序段l #else 程序段2 #endif 或 #if 表达式 程序段1 #endif 该命令的功能是:首先求表达式的值,若为真(非零),就编译程序段1,否则编译程序段2。如果没有#else部分,则当表达式值为假(零)时,直接跳过井endif。这样可使程序在不同的条件下执行不同的功能。 本次课学习小结 1.全局变量和局部变量及应用 2. 动态型和静态型变量 3.内部函数与外部函数 4. 宏定义 一、选择题:(2007年9月份考题) (40) 在一个C语言源程序文件中所定义的全局变量,其作用域为: A) 所在文件的全部范围 B) 所在程序的全部范围 C) 所在函数的全部范围 D) 由具体定义位置和extern 说明来决定范围 练习: 二、填空题:(2007年9月份考题) (41)有以下程序程序运行结果是__。 #include int a=1; int f(int c) {static int a=2; c=c+1; return (a++)+c;} 练习: main() { int i,k=0; for(i=0;i2;i++){int a=3;k+=f(a);} k+=a; printf(“%d\n”,k); } 三、程序修改题: 下面程序输出1到10的阶乘。改正下面程序中的错误。 #include “stdio.h” void main( ) { int fac(int n); int i; for(i=1;i<=10;i++ printf(“%d!=%d\n”,i,fac(i)); } int fac(int n) 练习: { int f=1; f=f*n; return(f); } 错误语句: 正确语句: 四、课后练习题 编程题: 练习: 请写出一个宏定义MYALPHA(c),用以判断c是否是字母。若是得1,否则得0 * ? 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. * * ? 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranti

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档