C++04函数.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C04函数

§4.2 函数定义、声明、引用 函数定义 描述函数模块的一组程序语句。函数定义格式: 函数类型 函数名(形参类型表) { 局部变量定义部分; 运算处理描述部分; 函数值返回部分; } 函数名:符合标识符定义的名称标识;功能抽象,见名知义,唯一命名; 形参类型表:有参函数;无参函数(void); 函数体:包括局部数据定义、算法逻辑定义、return返回(有返回值,无返回值); 函数类型:有返回值时指定函数类型;无返回值时函数类型为void; 不能嵌套定义,可以嵌套引用或递归引用。 C允许空函数。如:类型说明 函数名(){ } §4.2 函数定义、声明、引用 例5:求两个非负整数u、v的最大公约数。 §4.3 递归调用 递归引用:一个函数直接(或间接)地调用自己。直接递归调用方式: int f( int a ){ …; …; …; f( x ) ; …; } 递归实例 例1:求n!——根据上述递归思想抽象出递归算法模型如下: 1 (当n=1或n=0) fact(n)= n*fact(n-1) (当n1) 例2:求两个非负整数u、v的最大公约数。 §4.4 C++对函数的扩充—P.97 内置函数:问题的提出;使用方法;使用限制; 函数重载:问题的提出;使用方法;使用限制; 函数模板:问题的提出;使用方法;使用限制; 默认参数:问题的提出;使用方法;使用限制; §4.5 变量的存储属性 变量是对数据存储空间的符号抽象,具有存储和类型两重属性。其定义格式: [存储标识符] 类型标识符 变量列表 ; 总结:存储标识符及其性质 4.6 预处理命令—宏定义、宏包含、条件编译 4.6.1 宏定义 编译时批量替换处理。 字符串宏替换 #define PI 3.14159 //行末没有分号 #define RADIUS 2.0 //一般宏名用大写 double circum( void ) { return 2*PI*RADIUS ; } double area( void ) { return PI*RADIUS*RADIUS; } …………… //编译时批量地把宏名替换为宏体 带参数宏定义 #define PI 3.14159 #define CIRCUM(r) 2*PI*(r) #define AREA(r) PI*(r)*(r) …………… double x=3.3 , y ; int m=2 ; y = x + CIRCUM(x); //替换成y=x+2*PI*(x) y = x + CIRCUM(x+m); //替换成y=x+2*PI*(x+m) y = x + AREA(x); //替换成y=x+PI*(r)*(r) y = x + AREA(x+m); //替换成y=x+PI*(x+m)*(x+m) …………… 例1:定义宏,将大写字母转变为小写。 /*如果一行写不下,用“\”表示续行*/ #define TOLOWER(c) (c)=‘A’(c)=‘Z’ ? (c)+32 : (c) ……; char c1, c2; ……; c2=TOLOWER(c1); //替换为: c2=(c1)=‘A’(c1)=‘Z’?(c1)+32:(c1); ……; 例2:定义宏,交换两参数的值。 #define SWAP(a,b) (a)=(a)+(b); (b)=(a)-(b); (a)=(a)-(b); ……; int x, y; ……; SWAP(x,y); //替换为:(x)=(x)+(y); (y)=(x)-(x); (x)=(x)-(y); ……; 4.6.2 宏包含 把函数的头文件或源程序文件的内容嵌入到当前程序。 /* file1.c */ #include “string.h” //搜索路径从tc\include到当前目录 #include stilib.h //搜索路径仅仅是tc\include目录 #include “file2.c” #include file3.c 4.6.3 条件编译 见 p.131 作业4:函数 思考题:P.132—13; 作业本:P.132 1;整数u、v;最大公约数h;最小公倍数=u*v/h; 2;3;4; 5;求ex的库函数是double exp(x),头文件是math.h 6;

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档