欢迎来到天天文库
浏览记录
ID:50082003
大小:488.50 KB
页数:27页
时间:2020-03-08
《C++程序设计 丁亚涛 第5章 函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5函数本章导读函数的定义和调用内联函数函数重载标识符作用域存储类型递归函数5.1.1函数定义类型函数名(参数列表){//函数体…}5.1函数的定义和调用类型指函数返回值的数据类型,函数名采用标示符,一对()内是参数列表,一对{}内是函数体,由一组语句组成,完成函数具体功能的实现。函数值的返回通常是运行结果或状态值。返回采用return语句,例如:return0;returnx>y?x:y;return后面跟表达式。返回值的类型也可以是void类型,这种情况下可以写成:return;也可以省略返回语句。函数的执行是由函数的调用来完成的。C++程序通过main()函数直接或间接调用其它函数。函数
2、被调用时获得程序控制权,调用完成后,返回调用处执行后面的语句。函数调用的形式如下:函数名(实参列表)以上函数调用的形式可以出现在表达式中,也可以作为一条单独的调用语句来使用。例如:s=sum(100)+sum(200);//出现在表达式PrintError(2);//调用语句参数从调用的角度分为实际参数和形式参数,或简称为实参和形参。实参和形参是一一对应的关系,参数的个数和类型都必须一致。如果类型不一致将自动转换,不能自动转换的将在编译或运行时出错。5.1.2函数调用#include#includeusingnamespacestd;intfact(in
3、tn){intf=1;for(inti=1;i<=n;i++)f=f*i;returnf;}intmain(){ints;s=fact(5)+fact(6)+fact(7);cout<<"5!+6!+7!="<
4、数传递有三种形式:值传递、引用传递和地址传递。值传递和地址传递要求形参必须是变量,引用传递的形参是实参的别名。值传递是单向的数据传递,传递完成后,对形参的任何操作都不会影响实参。地址传递也可以说是单向的数据传递,但这种数据往往是变量、结构体、对象等的地址,对形参的操作会直接影响实参,从而使得这种形式上的“单向”数据传递变成“双向”的。地址传递又称为指针传递,在后面的指针章节中将详细介绍。引用传递的形参是实参的替代名称,形参的样式如:int&a,int&b。由于是别名,所以对形参的操作和对实参的操作是一样的。5.1.2函数调用#include#include5、>usingnamespacestd;voidswap1(inta,intb){intt;t=a;a=b;b=t;cout<<"a,b="<6、="<7、起完成,也可以只对函数的原型进行声明,这种声明我们通常称为引用性声明,其格式如下:<类型><函数名>(<形参表>);如:intsum(inta,intb);和完整的函数声明不同的是,形参表可以只给出形参的类型,如:intsum(int,int);形参名可以省略。另外,这种声明是一条语句,后面的分号(;)必不可少。之所以需要对函数进行声明,主要是为了获得调用函数的权限。如果调用之前定义或者声明了函数,则可以调用
5、>usingnamespacestd;voidswap1(inta,intb){intt;t=a;a=b;b=t;cout<<"a,b="<6、="<7、起完成,也可以只对函数的原型进行声明,这种声明我们通常称为引用性声明,其格式如下:<类型><函数名>(<形参表>);如:intsum(inta,intb);和完整的函数声明不同的是,形参表可以只给出形参的类型,如:intsum(int,int);形参名可以省略。另外,这种声明是一条语句,后面的分号(;)必不可少。之所以需要对函数进行声明,主要是为了获得调用函数的权限。如果调用之前定义或者声明了函数,则可以调用
6、="<7、起完成,也可以只对函数的原型进行声明,这种声明我们通常称为引用性声明,其格式如下:<类型><函数名>(<形参表>);如:intsum(inta,intb);和完整的函数声明不同的是,形参表可以只给出形参的类型,如:intsum(int,int);形参名可以省略。另外,这种声明是一条语句,后面的分号(;)必不可少。之所以需要对函数进行声明,主要是为了获得调用函数的权限。如果调用之前定义或者声明了函数,则可以调用
7、起完成,也可以只对函数的原型进行声明,这种声明我们通常称为引用性声明,其格式如下:<类型><函数名>(<形参表>);如:intsum(inta,intb);和完整的函数声明不同的是,形参表可以只给出形参的类型,如:intsum(int,int);形参名可以省略。另外,这种声明是一条语句,后面的分号(;)必不可少。之所以需要对函数进行声明,主要是为了获得调用函数的权限。如果调用之前定义或者声明了函数,则可以调用
此文档下载收益归作者所有