C++第5章.ppt
《C++第5章.ppt》由会员分享,可在线阅读,更多相关《C++第5章.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 函数5.1 C+函数的分类函数的分类5.2 函数的定义函数的定义 5.3 函数的调用函数的调用5.4 函数原型函数原型5.5 函数间的参数传递函数间的参数传递5.6 局部变量和全局变量局部变量和全局变量5.7 带有缺省参数的函数带有缺省参数的函数05.1 C+函数的分类1、main()函数函数1)必须有一个且只能有一个)必须有一个且只能有一个2)程序执行的开始)程序执行的开始3)程序执行的结束)程序执行的结束2、标准库函数、标准库函数通过调用被执行通过调用被执行3、用户自定义函数、用户自定义函数通过调用被执行通过调用被执行15.2 函数定义函数使用的三个环节:函数使用的三个环节:定义定
2、义-声明声明-调用调用一、定义一、定义1.一般格式一般格式 ()22、函数值(1)类型)类型1)可以是数值或地址(指针型)可以是数值或地址(指针型)2)void表示无返回值表示无返回值例如:例如:void main()(2)函数值通过)函数值通过return语句返回语句返回33形式参数表 1函数可以有零个或多个形式参数函数可以有零个或多个形式参数-形参形参2作用作用接收由主调函数传递来的实参。接收由主调函数传递来的实参。3.形参表的形式形参表的形式,例:例:int max(int x,int y)4二、函数间通过参数传递数据1.调用调用实参传递给形参实参传递给形参2.函数返回函数返回有返回值,
3、通过有返回值,通过return带回到主调函数带回到主调函数无返回值,被调函数中仅完成操作无返回值,被调函数中仅完成操作55.3 函数的调用一、调用格式一、调用格式1.无参函数:无参函数:函数名函数名()2.有参函数:有参函数:函数名函数名(实际参数表实际参数表)实际参数简称实参,可以是常量、变量或表达式实际参数简称实参,可以是常量、变量或表达式例如:例如:fac(5);/常量常量 fac(i);/变量变量 fac(i+2);/表达式表达式6例5.1 计算整数n的阶乘n!分析:分析:n!由由fac()函数完成函数完成1)形参)形参int n2)函数内:函数内:1到到n连乘连乘-通过循环实现通过循
4、环实现3)返回值:计算的结果)返回值:计算的结果7例5.1 求n的阶乘n!的函数#include int fac(int n)int result=1;if(n0)return-1;else if(n=0)return 1;for(int i=1;i=n;i+)result=result*i;return result;void main()coutfac(5)endl;/实参为常量实参为常量8例5.2 调用fac函数,计算110的阶乘#includeint fac(int n)/与例与例5.1相同相同void main()for(int i=1;i=10;i+)couti!=fac(i)en
5、dl;9二、调用标准库函数包含相应的头文件包含相应的头文件输入输入/输出函数输出函数 iostream.h字符串函数字符串函数 string.h数学函数数学函数 math.h105.4 函数原型1.一般形式一般形式 ();两种写法:两种写法:1)int max(int x,int y);2)int max(int,int);/省略形参名省略形参名 2.作用作用用来声明函数用来声明函数3.省略函数声明的情况省略函数声明的情况 定义在前,调用在后定义在前,调用在后11例5-3 求两数中的最大数(三个环节)#include int max(int x,int y);void main()int a,
6、b;coutab;cout max=max(a,b)y?x:y;函数调用函数调用函数定义函数定义函数声明函数声明125.5 函数间的参数传递 C+的参数传递方式:的参数传递方式:传值、引用调用和传地址传值、引用调用和传地址(见第六章见第六章)。一、值传递一、值传递1.实参的值赋给形参实参的值赋给形参2.优点:优点:实参与形参独立,在被调函数中改变形参值不影响实参实参与形参独立,在被调函数中改变形参值不影响实参减少了函数之间的数据依赖减少了函数之间的数据依赖3.缺点:仅有一个返回值缺点:仅有一个返回值13例5-4 传值调用#include void swap(int x,int y)int tm
7、p;tmp=x;x=y;y=tmp;int main()int a=2,b=3;coutBefore:a=a,b=b endl;swap(a,b);coutAfter:a=a ,b=b endl;14输出输出 Before:a=2,b=3 After:a=2,b=3结论:没有实现结论:没有实现a、b的交换的交换15二、引用调用 1.引用引用1)一种特殊类型的变量)一种特殊类型的变量2)是另一个变量的别名)是另一个变量的别名 2.引用的定义格式引用的定义格式类型名类型名&引用名引用名=被引用的变量名被引用的变量名例如:例如:int i,&j=i;163.使用使用引用名与被引用的变量使用同样的内存
8、单元。引用名与被引用的变量使用同样的内存单元。#include void main()int i,&j=i;cout&i,&jendl;i=5;cout j endl;j=6;cout i endl;17例 5-5 函数调用时引用传递#include void swap(int&x,int&y)int tmp=x;x=y;y =tmp;void main()int a=1,b=2;cout Before:a=a “,b=b endl;swap(a,b);cout After:a=a “,b=b endl;/结果:结果:a、b实现了交换实现了交换18例题:值传递和引用混合使用#include i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+
限制150内