- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.5 编译预处理 6.5.2 文件包含 一般形式为:#include “文件名” 或 #include 文件名 它的功能是把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连成一个源文件。 使用双引号形式表示系统将先在源程序文件所在的目录内查找指定的包含文件;如果找不到,再按照系统指定的标准方式到相关的目录中去寻找。 使用尖括号形式表示系统将直接按照指定的标准方式到相关的目录中去寻找。 在程序设计中,文件包含是很有用的。有些公用的符号常量或宏定义等可单独组成一个文件,在其它文件的开头用包含命令包含该文件即可使用。这样,可避免在每个文件开头都去书写那些公用量,从而节省时间,并减少出错。 //(2)主文件file.c #include stdio.h /*包含标准输入输出头文件*/ #include mydef.h void main ( ) { double radius,perimeter; printf(Enter The Radius:); scanf(%lf,radius); /*输入圆的半径*/ perimeter=C(radius); /*此处宏展开 */ printf(“The Perimeter=%lf\n”, perimeter) } //(1)将宏做成头文件mydef.h #define PI 3.1415926 #define C(r) 2*PI*r 6.5 编译预处理 6.5.3 条件编译 为了提高程序的可移植性,增加程序的灵活性,有时只希望对其中某一部分在满足一定条件时才进行编译,即对部分内容指定编译条件,这就是条件编译。 条件编译命令有以下几种形式: (1)#ifdef 标识符 程序段1 [#else 程序段2] #endif 它的功能是:当所指定的标识符被#define命令定义过,程序在编译时只编译程序段1;否则,只编译程序段2,或不编译。 6.5 编译预处理 (2)#ifndef 标识符 程序段1 [#else 程序段2] #endif 它的功能是当所指定的标识符没有被 #define命令定义过,则在程序编译时只编译程序段1;否则编译程序段2,或不编译。这种形式与第一种形式的功能正好相反。 (3)#if 表达式 程序段1 [#else 程序段2] #endif 它的功能是当指定的表达式的值为真(非零)时,程序在编译时只编译程序段1;否则编译程序段2,或不编译。 6.6函数应用举例 分析:设两个整数用变量m、n表示,最大公约数用“辗转相除法”求解,其思路是:首先用两个数中的大数m除以小数n,得到一个余数r,若r的值为0,则此时的除数n就是最大公约数;若r的值不为0,则把除数作为被除数,余数作为除数,再相除,直到余数为0为止。从数学知识可知道,任何两个整数的最小公倍数等于这两个数之积再除以这两个数的最大公约数。即最小公倍数=m*n/最大公约数。定义一个函数maxdivisor来实现最大公约数。 【例6-14】由键盘任意输入两个整数,求这两个整数的最大公约数和最小公倍数。 6.6 函数应用举例 #includestdio.h void main( ) { int maxdivisor(int m,int n); /* 函数的声明*/ int a,b,divisor,multiple; printf(input two integer numbers:); scanf(%d%d,a,b); divisor= maxdivisor(a,b); /* 调用函数,求最大公约数*/ multiple=a*b/divisor; /*求最小公倍数 */ printf(The largest common divisor:%d\n,divisor); printf(The small common multiple:%d\n,multiple); } 6.6函数应用举例 int maxdivisor(int m,int n) /* 定义求出最大公约数的函数*/ { int temp,r; if(mn) { temp=m;m=n;n=temp;} /* 保证m比n大*/ while((r=m%n)!=0) /*对求得的余数进行判断*/ { m=n; n=r; } return(n); /*
您可能关注的文档
最近下载
- 邮储银行柜员培训课件.pptx VIP
- 2025年浙能集团甘肃有限公司、新能源项目(第二批)招聘17人笔试备考题库及答案解析.docx VIP
- 通威新员工入职培训第一次考试.docx VIP
- 2025广西专业技术人员公需科目培训考试答案(87分);广西“一区两地一园一通道”建设;人工智能时代(1).pdf VIP
- 入学证明怎么写(模板).docx VIP
- GBT 11345-2023 焊缝无损检测 超声检测 技术、检测等级和评定.pdf VIP
- 2025年浙能集团甘肃有限公司、新能源项目(第二批)招聘17人笔试参考题库附答案解析.docx VIP
- 解读《GB_T 44770-2024智能火电厂技术要求》全面解读.docx VIP
- 西安研学旅行策划书3篇.pdf VIP
- 建筑工程识图课件-建筑识图与构造课件.ppt VIP
文档评论(0)