函数41函数的声明与调.ppt
《函数41函数的声明与调.ppt》由会员分享,可在线阅读,更多相关《函数41函数的声明与调.ppt(81页珍藏版)》请在三一办公上搜索。
1、第4章 函数,4.1 函数的声明与调用,4.2 函数参数的传递,4.3 作用域与生存期,4.4 局部变量和全局变量,4.5 变量的存储类别,4.6 函数的嵌套和递归,4.7 预处理命令,4.8 C+语言的库函数,小结,第4章 函数,函数(Function)是功能抽象的模块,函数,参数,返回值,输入流,输出流,第4章 函数,函数(Function)是功能抽象的模块,函数作用 任务划分;代码重用 函数是C+程序的重要组件,函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过程,4.1 函数的定义和调用,/求圆柱体体积#include double volu
2、me(double radius,double height)return 3.14*radius*radius*height;void main()double vol,r,h;cin r h;vol=volume(r,h);cout Volume=vol endl;,函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过程,4.1 函数的定义和调用,/求圆柱体体积#include double volume(double radius,double height)return 3.14*radius*radius*height;void main()
3、double vol,r,h;cin r h;vol=volume(r,h);cout Volume=vol endl;,函数定义,函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过程,4.1 函数的定义和调用,/求圆柱体体积#include double volume(double radius,double height)return 3.14*radius*radius*height;void main()double vol,r,h;cin r h;vol=volume(r,h);cout Volume=vol endl;,函数调用,函数定义
4、形式,类型 函数名(形式参数表)语句序列,4.1.1 函数定义,函数定义形式,类型 函数名(形式参数表)语句序列,函数头函数接口,包括:,4.1.1 函数定义,函数定义形式,类型 函数名(形式参数表)语句序列,函数头函数接口,包括:,函数返回值类型 函数体中由 return 语句返回的值的类型。没有 返回值其类型为void,4.1.1 函数定义,函数定义形式,类型 函数名(形式参数表)语句序列,函数头函数接口,包括:,函数返回值类型 函数体中由 return 语句返回的值的类型。没有 返回值其类型为void,函数名 用户定义标识符,4.1.1 函数定义,函数定义形式,类型 函数名(形式参数表)
5、语句序列,函数头函数接口,包括:,函数返回值类型 函数体中由 return 语句返回的值的类型。没有 返回值其类型为void,函数名 用户定义标识符,形式参数表 逗号分隔的参数说明表列,缺省形式参数时不 能省略圆括号。一般形式为:类型 参数1,类型 参数2,类型 参数n,4.1.1 函数定义,函数定义形式,函数头函数接口,类型 函数名(形式参数表)语句序列,函数体函数的实现代码。,4.1.1 函数定义,例4-1,void printmessage()cout How do you do!endl;,4.1.1 函数定义,例4-1,void printmessage()cout How do y
6、ou do!endl;,函数返回值类型无返回值,4.1.1 函数定义,例4-1,void printmessage()cout How do you do!endl;,函数名,4.1.1 函数定义,例4-1,void printmessage()cout How do you do!endl;,形式参数表无参数,4.1.1 函数定义,例4-1,void printmessage()cout How do you do!endl;,函数体无 return 语句,4.1.1 函数定义,例4-2,double max(double x,double y)if(x y)return x;else re
7、turn y;,4.1.1 函数定义,例4-2,double max(double x,double y)if(x y)return x;else return y;,函数返回值类型,4.1.1 函数定义,例4-2,double max(double x,double y)if(x y)return x;else return y;,函数名,4.1.1 函数定义,例4-2,double max(double x,double y)if(x y)return x;else return y;,形式参数表,4.1.1 函数定义,例4-2,double max(double x,double y)i
8、f(x y)return x;else return y;,函数体,4.1.1 函数定义,例4-2,double max(double x,double y)if(x y)return x;else return y;,返回值,return 语句形式:return 表达式 或return(表达式)作用:返回函数值 不再执行后续语句,程序控制返回调用点 一个函数体内可以有多个return 语句 表达式 返回值的类型与函数类型不相同时,自动强制转换成函数的类型,4.1.1 函数定义,例4-2,double max(double x,double y)if(x y)return x;else ret
9、urn y;,Type FunctionName()/statements return expression;void FunctionName()/statements return;/可省略,4.1.1 函数定义,调用形式,函数名(实际参数表),4.1.2 函数调用,调用形式,函数名(实际参数表),函数名 函数的入口地址,4.1.2 函数调用,调用形式,函数名(实际参数表),函数名 函数的入口地址,实际参数表 与形式参数必须在个数、类型、位置一一对应,4.1.2 函数调用,#includevoid printmessage()cout How do you do!endl;void ma
10、in()printmessage();,例4-3,4.1.2 函数调用,#includevoid printmessage()cout How do you do!endl;void main()printmessage();,函数调用语句,例4-3,4.1.2 函数调用,例4-4,#includedouble max(double x,double y)if(x y)return x;else return y;void main()double a,b;cin a b;double m=max(a,b);cout max(m,3.5)endl;,4.1.2 函数调用,例4-4,#inclu
11、dedouble max(double x,double y)if(x y)return x;else return y;void main()double a,b;cin a b;double m=max(a,b);cout max(m,3.5)endl;,函数调用表达式,4.1.2 函数调用,例4-4,#includedouble max(double x,double y)if(x y)return x;else return y;void main()double a,b;cin a b;double m=max(a,b);cout max(m,a+3.5)endl;,cout max
12、(max(a,b),a+3.5)endl;,实际参数是表达式,4.1.2 函数调用,函数原型的作用是告诉编译器有关函数的信息:函数的名字函数返回的数据类型函数要接受的参数个数、参数类型和参数的顺序 编译器根据函数原型检查函数调用的正确性 函数原型的形式:类型 函数名(形式参数表);,4.1.3 函数原型,函数原型的作用是告诉编译器有关函数的信息:函数的名字函数返回的数据类型函数要接受的参数个数、参数类型和参数的顺序 编译器根据函数原型检查函数调用的正确性 函数原型的形式:类型 函数名(形式参数表);,函数原型是声明语句,4.1.3 函数原型,#include double max(double
13、,double);/函数原型void main()double a,b,c,m1,m2;cout a b c;m1=max(a,b);/函数调用 m2=max(m1,c);cout y)return x;else return y;,使用函数原型,4.1.3 函数原型,#include double max(double,double);/函数原型void main()double a,b,c,m1,m2;cout a b c;m1=max(a,b);/函数调用 m2=max(m1,c);cout y)return x;else return y;,函数原型的参数表不需要参数名,使用函数原型,
14、4.1.3 函数原型,#include double max(double,double);/函数原型void main()double a,b,c,m1,m2;cout a b c;m1=max(a,b);/函数调用 m2=max(m1,c);cout y)return x;else return y;,函数调用出现在定义之前函数原型声明是必须的,使用函数原型,4.1.3 函数原型,函数定义在调用之前,#include double max(double x,double y)/函数定义 if(x y)return x;else return y;void main()double a,b,
15、c,m1,m2;cout a b c;m1=max(a,b);/函数调用 m2=max(m1,c);cout Maximum=m2 endl;,4.1.3 函数原型,函数定义在调用之前,#include double max(double x,double y)/函数定义 if(x y)return x;else return y;void main()double a,b,c,m1,m2;cout a b c;m1=max(a,b);/函数调用 m2=max(m1,c);cout Maximum=m2 endl;,4.1.3 函数原型,math.h中几个常用的数学函数,4.1.3 函数原型,
16、/例4-5 用库函数求正弦和余弦值#include#include void main()double pi=3.1415926535;double x,y;x=pi/2;y=sin(x);cout sin(x)=y endl;y=cos(x);cout cos(x)=y endl;,4.1.3 函数原型,/例4-5 用库函数求正弦和余弦值#include#include void main()double pi=3.1415926535;double x,y;x=pi/2;y=sin(x);cout sin(x)=y endl;y=cos(x);cout cos(x)=y endl;,包含头
17、文件,4.1.3 函数原型,/例4-5 用库函数求正弦和余弦值#include#include void main()double pi=3.1415926535;double x,y;x=pi/2;y=sin(x);cout sin(x)=y endl;y=cos(x);cout cos(x)=y endl;,调用库函数,4.1.3 函数原型,内联函数,内联函数是C+降低小程序调用开销的一种机制编译时将所调用的函数的代码直接嵌入到调用函数的调用处,没有函数调用的开销。,内联函数的作用 减少频繁调用小子程序运行的时间开销,内联函数机制 编译器在编译时,将内联函数的调用以相应代码代替,内联函数声
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 41 声明

链接地址:https://www.31ppt.com/p-6407356.html