Lect_fchap10_函数与程序结构讲解.ppt

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

10.4.3 文件模块间的通信 文件模块与函数 外部函数 一个模块中调用另一模块中的函数时,需要对函数进行外部声明。声明格式为: extern 函数类型 函数名(参数表说明); 静态的函数 如: static int f1( ) 把函数的使用范围限制在本文件模块内 增加了模块的独立性。 register 类型 变量表; /*一般为int 、char*/ 本章小结 多函数程序的组织结构 函数调用的层次结构 多文件模块实现:文件包含 程序文件模块:变量与文件模块、 函数与文件模块的关系 递归函数 构成要素:递归式子(重点)与递归出口 运用递归函数解决特殊问题(如汉诺塔) 编译预处理 文件包含 宏实质:编译预处理的替代 带参的宏——不是函数 课堂练习:利用递归函数计算x的n次幂 int mi(int x, int n) { if (n==1) return x; else return x*mi(x,n-1); } 10.3 长度单位转换 10.3.1 程序解析 10.3.2 宏基本定义 10.3.3 带参数的宏定义 10.3.4 文件包含 10.3.5 编译预处理 10.3.1 程序解析 例10-5 欧美国家长度使用 英制单位,1英里=1609米,1英尺=30.48厘米,1英寸=2.54厘米。编写单位转换程序。 #includestdio.h #define Mile_to_meter 1609 /* 1英里=1609米 */ #define Foot_to_centimeter 30.48 /* 1英尺=30.48厘米 */ #define Inch_to_centimeter 2.54 /* 1英寸=2.54厘米 */ int main(void) { float foot, inch, mile; /* 定义英里,英尺,英寸变量 */ printf(Input mile,foot and inch:); scanf(%f%f%f, mile, foot, inch); printf(%f miles=%f meters\n, mile, mile * Mile_to_meter); /* 英里?米数 */ printf(%f feet=%f centimeters\n, foot, foot * Foot_to_centimeter); /* 英尺?厘米 */ printf(%f inches=%f centimeters\n, inch, inch * Inch_to_centimeter); /* 英寸?厘米 */ return 0; } Input mile,foot and inch:1.2 3 5.1 1.200000 miles=1930.800077 meters 3.000000 feet=91.440000 centimeters 5.100000 inches=12.954000 centimeters 10.3.2 宏基本定义 #define 宏名标识符 宏定义字符串 编译时,程序中所有与宏名相同的字符串,用宏定义字符串替代 #define PI 3.14 #define arr_size 4 说明: 宏名一般用大写字母,以与变量名区别 宏定义不是C语句,后面不得跟分号 宏定义可以嵌套使用 #define PI 3.14 #define S 2*PI*PI 多用于符号常量 宏定义可以写在程序中任何位置 宏定义作用范围:从定义书写处到文件尾。 可以通过“#undef”强制指定宏的结束范围。 10.3.2 宏基本定义 #define A This is the first macro void f1() { printf(A\n ); } #define B This is the second macro A 的有效范围 void f2( ) { printf( B ) ; B 的有效范围 } #undef B int main(void) { f1( ); f2( ); return 0; } 宏的作用范围 10.3.3 带参数的宏定义 例10-6 简单的带参数的宏定义。 #include stdio.h #define

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档