欢迎来到天天文库
浏览记录
ID:48250547
大小:142.50 KB
页数:24页
时间:2020-01-18
《第4章 函数和作用域.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章函数和作用域函数是C++的基本特征。它封装了一些程序代码和数据,实现了更高级的抽象。在C++编程中,常把一个程序分成多个函数来实现。即封装或隐藏了具体实现的细节问题,使使用者精力集中在函数的接口上。4.1函数的定义和说明例4.1编一个求两个浮点数之和的程序。#includevoidmain(){doublex,y;cout<<”Inputdoublexandy:”;cin>>x>>y;doublez=x+y;cout<<”sum=”<2、doublesum_double(){doublex,y;cout<<”Inputdoublexandy:”;cin>>x>>y;doubles=x+y;returns;}voidmain(){doublesum;sum=sum_double();cout<<”sum=”<doublesum_double(doublex,doubley){returnx+y;}voidmain(){doublea,b;cout<<”Inputdoubleaandb:”3、;cin>>a>>b;doublesum=sum_double(a,b);cout<<”sum=”<4、设置形参的缺省值等。4.2.1函数的值和类型函数的调用格式:函数名(实参表);例:doublesum_double(doublex,doubley){returnx+y;}doublesum=sum_double(a,b);实参的个数和类型与形参的个数和类型是一致的。函数的返回值是通过返回语句实现的。格式一:return表达式;例:doublesum_double(doublex,doubley){returnx+y;}格式二:return;1.函数的传值调用该调用又分如下两种。(1)传值调用调用函数的实参用常量﹑变量值或表达式值,被调用函数的形参用变量5、。传值调用的特点是:形参的改变不影响实参,是单向传递。例4.3#includevoidswap1(intx,inty){inttemp;temp=x;x=y;y=temp;cout<<”x=”<6、来间接改变实参值。是双向传递。例4.4#includevoidswap2(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;cout<<”x=”<<*x<<”,”<<”y=”<<*y<7、用函数中实参值也被改变。引用调用的特点:具有传址调用的特点,是双向传递。而在操作中又比传址调用方便、直观。因此,在C++程序中多用引用调用。例4.5#includevoidswap3(int&x,int&y){inttemp;temp=x;x=y;y=temp;cout<<”x=”<8、的求值顺序应注意不同编译系统中,函数参数求值的顺序可能不同。因此,在不同编译系统
2、doublesum_double(){doublex,y;cout<<”Inputdoublexandy:”;cin>>x>>y;doubles=x+y;returns;}voidmain(){doublesum;sum=sum_double();cout<<”sum=”<doublesum_double(doublex,doubley){returnx+y;}voidmain(){doublea,b;cout<<”Inputdoubleaandb:”
3、;cin>>a>>b;doublesum=sum_double(a,b);cout<<”sum=”<4、设置形参的缺省值等。4.2.1函数的值和类型函数的调用格式:函数名(实参表);例:doublesum_double(doublex,doubley){returnx+y;}doublesum=sum_double(a,b);实参的个数和类型与形参的个数和类型是一致的。函数的返回值是通过返回语句实现的。格式一:return表达式;例:doublesum_double(doublex,doubley){returnx+y;}格式二:return;1.函数的传值调用该调用又分如下两种。(1)传值调用调用函数的实参用常量﹑变量值或表达式值,被调用函数的形参用变量5、。传值调用的特点是:形参的改变不影响实参,是单向传递。例4.3#includevoidswap1(intx,inty){inttemp;temp=x;x=y;y=temp;cout<<”x=”<6、来间接改变实参值。是双向传递。例4.4#includevoidswap2(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;cout<<”x=”<<*x<<”,”<<”y=”<<*y<7、用函数中实参值也被改变。引用调用的特点:具有传址调用的特点,是双向传递。而在操作中又比传址调用方便、直观。因此,在C++程序中多用引用调用。例4.5#includevoidswap3(int&x,int&y){inttemp;temp=x;x=y;y=temp;cout<<”x=”<8、的求值顺序应注意不同编译系统中,函数参数求值的顺序可能不同。因此,在不同编译系统
4、设置形参的缺省值等。4.2.1函数的值和类型函数的调用格式:函数名(实参表);例:doublesum_double(doublex,doubley){returnx+y;}doublesum=sum_double(a,b);实参的个数和类型与形参的个数和类型是一致的。函数的返回值是通过返回语句实现的。格式一:return表达式;例:doublesum_double(doublex,doubley){returnx+y;}格式二:return;1.函数的传值调用该调用又分如下两种。(1)传值调用调用函数的实参用常量﹑变量值或表达式值,被调用函数的形参用变量
5、。传值调用的特点是:形参的改变不影响实参,是单向传递。例4.3#includevoidswap1(intx,inty){inttemp;temp=x;x=y;y=temp;cout<<”x=”<6、来间接改变实参值。是双向传递。例4.4#includevoidswap2(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;cout<<”x=”<<*x<<”,”<<”y=”<<*y<7、用函数中实参值也被改变。引用调用的特点:具有传址调用的特点,是双向传递。而在操作中又比传址调用方便、直观。因此,在C++程序中多用引用调用。例4.5#includevoidswap3(int&x,int&y){inttemp;temp=x;x=y;y=temp;cout<<”x=”<8、的求值顺序应注意不同编译系统中,函数参数求值的顺序可能不同。因此,在不同编译系统
6、来间接改变实参值。是双向传递。例4.4#includevoidswap2(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;cout<<”x=”<<*x<<”,”<<”y=”<<*y<7、用函数中实参值也被改变。引用调用的特点:具有传址调用的特点,是双向传递。而在操作中又比传址调用方便、直观。因此,在C++程序中多用引用调用。例4.5#includevoidswap3(int&x,int&y){inttemp;temp=x;x=y;y=temp;cout<<”x=”<8、的求值顺序应注意不同编译系统中,函数参数求值的顺序可能不同。因此,在不同编译系统
7、用函数中实参值也被改变。引用调用的特点:具有传址调用的特点,是双向传递。而在操作中又比传址调用方便、直观。因此,在C++程序中多用引用调用。例4.5#includevoidswap3(int&x,int&y){inttemp;temp=x;x=y;y=temp;cout<<”x=”<8、的求值顺序应注意不同编译系统中,函数参数求值的顺序可能不同。因此,在不同编译系统
8、的求值顺序应注意不同编译系统中,函数参数求值的顺序可能不同。因此,在不同编译系统
此文档下载收益归作者所有