修改时间2013年秋C++程序设计—函数和作用域5.ppt

修改时间2013年秋C++程序设计—函数和作用域5.ppt

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

第四讲 函数及变量 的作用域                    ; 函数的定义和说明 函数的调用 函数的参数 内联函数 函数重载 函数的嵌套调用和递归调用 变量的作用域与生存期 C++的系统函数;4.1 函数的定义和说明;一个C++函数由函数头与函数体两部分组成。 形式如下: 函数类型 函数名(形式参数类型 形式参数名,…) { 函数体 } 如: int fun1(char c,float f) { int m=1; m+=c+f; return m; };返回语句的形式为: return 表达式; 这时表达式的结果就是函数的返回值,也称函数值。 即返回的不是函数本身,而是一个值。 若函数所执行的功能不需要返回数据,则可缺省 return语句。如: void spc (int n) { for (int I=0; In; I++) cout*; } 注意:函数类型为void,若无默认为int。 C++不允许函数定义嵌套。 ;函数的说明方法;对于标准库函数的函数原型都在头文件中提供了,程序可用#include命令包含进来即可; 注意:函数原型和函数定义在返回类型、函数名和参数表上必须完全一致,否则编译错误。;#include iostream.h void f1 ( ) ; //函数说明 void f2 ( ) ; void main( ) { f1( ); //函数调用 f2( ); } void f1( ) //函数定义 { cout Function f1.\n;f2( ); } void f2( ) {cout Function f2 .\n; };;4.2 函数的调用;函数的值和类型;函数的值和类型;如: #includeiostream.h int lmax(int,int); //函数声明 void main( ) { int limit=32; char ch=A; long mval; mval=lmax(limit,ch); //调用表达式   coutmvalendl; } int lmax(int a,int b) //函数定义 { return (ab?a:b); };说明: (1)实参在进行函数调用时,必须具有确定的值,以便把这些值传送给形参。 (2)形参变量只有在被调用时,才分配内存单元;调用结束时,即刻释放所分配的内存单元。 因此,形参只有在该函数内有效。调用结束,返回调用函数后,则不能再使用该形参变量。 (3)实参对形参的数据传送是单向的,即只能把实参值传送给形参,而不能把形参的值反向地传送给实参。 (4)实参和形参占用不同的内存单元,即使同名也互不影响。;函数的传值调用;函数的传值调用;传值调用举例;调用swap时,内存单元分配情况:;实现机制是:实参为某变量地址值,形参为指针类型。在调用时,将地址值赋给形参,使形参指针指向该变量。则以后可直接通过形参指针来访问该变量。 特点是:可通过改变形参所指向的变量值来影响实参所对应的变量值。 ;;调用swap时,内存单元分配情况:;函数的引用调用;;调用swap时,内存单元分配情况:;4.3 函数的参数;函数参数的求值顺序;设置函数参数的默认值;注意:若一个函数中有多个默认参数,则参数缺省按从后向前的顺序进行, 如: void fun(int a=3,int,char c=a); //error 当调用函数时,也只能从右向左匹配参数。 如: 声明函数为: void func(int a,int b=2,int c=3,int d=5); 则调用方法: func(2,15, ,3); // error ;使用数组作函数参数;#include string.h void invert(char b[],int n); void main() { char s[60]; int n; cout输入字符串:; cins; cout字符串原始顺序:sendl; n=strlen(s); invert(s,n)

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档