第4章函数 4.1函数的声明与调用.ppt
《第4章函数 4.1函数的声明与调用.ppt》由会员分享,可在线阅读,更多相关《第4章函数 4.1函数的声明与调用.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 函数 4.1 函数的声明与调用 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第4章 函数 函数(函数(FunctionFunction)是功能抽象的模块)是功能抽象的模块函数函数参数参数返回值返回值输入流输入流输出流输出流第4章 函数 函数(函数(FunctionFunction)是功能抽象的模块)是功能抽象的模块 函数作用函数作用 任务划分;代码重用任务划分;代码重用 函数是函数是C+C+程序的重要组件程序的重要组件 函数定义由两部分组成:函数首部和函
2、数操作描述函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过程函数调用是通过表达式或语句激活并执行函数代码的过程 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;函数定义由两部分组成:函数首部和函数操作描述函数定义由两部分组成:函数首部和函数操
3、作描述 函数调用是通过表达式或语句激活并执行函数代码的过程函数调用是通过表达式或语句激活并执行函数代码的过程 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 函数的定义和调用/求圆柱体体积求圆柱体体积#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.1.1 函数定义函数定义形式函数定义形式 类型类型
5、 函数名函数名(形式参数表形式参数表)语句序列语句序列 函数头函数头函数接口,包括:函数接口,包括:4.1.1 4.1.1 函数定义函数定义函数定义形式函数定义形式 类型类型类型类型 函数名函数名(形式参数表形式参数表)语句序列语句序列 函数头函数头函数接口,包括:函数接口,包括:函数返回值类型函数返回值类型函数返回值类型函数返回值类型 函数体中由函数体中由 return 语句返回的值的类型。没有语句返回的值的类型。没有 返回值其类型为返回值其类型为void4.1.1 4.1.1 函数定义函数定义函数定义形式函数定义形式 类型类型 函数名函数名函数名函数名(形式参数表形式参数表)语句序列语句序
6、列 函数头函数头函数接口,包括:函数接口,包括:函数返回值类型函数返回值类型 函数体中由函数体中由 return 语句返回的值的类型。没有语句返回的值的类型。没有 返回值其类型为返回值其类型为void函数名函数名函数名函数名 用户定义标识符用户定义标识符4.1.1 4.1.1 函数定义函数定义函数定义形式函数定义形式 类型类型 函数名函数名(形式参数表形式参数表形式参数表形式参数表)语句序列语句序列 函数头函数头函数接口,包括:函数接口,包括:函数返回值类型函数返回值类型 函数体中由函数体中由 return 语句返回的值的类型。没有语句返回的值的类型。没有 返回值其类型为返回值其类型为void
7、函数名函数名 用户定义标识符用户定义标识符形式参数表形式参数表形式参数表形式参数表 逗号分隔的参数说明表列,缺省形式参数时不逗号分隔的参数说明表列,缺省形式参数时不 能省略圆括号。一般形式为:能省略圆括号。一般形式为:类型类型 参数参数1 ,类型,类型 参数参数2,类型,类型 参数参数n 4.1.1 4.1.1 函数定义函数定义函数定义形式函数定义形式 函数头函数头函数接口函数接口类型类型 函数名函数名(形式参数表形式参数表)语句序列语句序列语句序列语句序列 函数体函数体函数体函数体函数的实现代码。函数的实现代码。4.1.1 4.1.1 函数定义函数定义例例4-1 void printmess
8、age()cout How do you do!endl;4.1.1 4.1.1 函数定义函数定义例例4-1void printmessage()cout How do you do!endl;函数返回值类型函数返回值类型无返回值无返回值4.1.1 4.1.1 函数定义函数定义例例4-1void printmessage()cout How do you do!endl;函数名函数名4.1.1 4.1.1 函数定义函数定义例例4-1void printmessage()cout How do you do!endl;形式参数表形式参数表无参数无参数4.1.1 函数定义例例4-1void pri
9、ntmessage()cout How do you do!y)return x;else return y;4.1.1 函数定义例例4-2double max(double x,double y)if(x y)return x;else return y;函数返回值类型函数返回值类型4.1.1 函数定义例例4-2double max(double x,double y)if(x y)return x;else return y;函数名函数名4.1.1 4.1.1 函数定义函数定义例例4-2double max(double x,double y)if(x y)return x;else re
10、turn y;形式参数表形式参数表4.1.1 4.1.1 函数定义函数定义例例4-2double max(double x,double y)if(x y)return x;else return y;函数体函数体4.1.1 4.1.1 函数定义函数定义例例4-2double max(double x,double y)if(x y)return x;else return y;返回值返回值return return 语句形式:语句形式:return 表达式表达式 或或return(表达式表达式)作用:作用:返回函数值返回函数值 不再执行后续语句,程序控制返回调用点不再执行后续语句,程序控制返
11、回调用点 一个函数体内可以有多个一个函数体内可以有多个return return 语句语句 表达式表达式 返回值的类型与函数类型不相同时,返回值的类型与函数类型不相同时,自动强制转换成函数的类型自动强制转换成函数的类型4.1.1 4.1.1 函数定义函数定义例例4-2double max(double x,double y)if(x y)return x;else return y;TypeType FunctionName()/statements returnreturn expressionexpression;voidvoid FunctionName()/statements ret
12、urnreturn;/可省略可省略4.1.1 4.1.1 函数定义函数定义调用形式调用形式 函数名函数名(实际参数表实际参数表)4.1.2 4.1.2 函数调用函数调用调用形式调用形式 函数名函数名函数名函数名(实际参数表实际参数表)函数名函数名函数名函数名 函数的入口地址4.1.2 4.1.2 函数调用函数调用调用形式调用形式 函数名函数名(实际参数表实际参数表实际参数表实际参数表)函数名 函数的入口地址实际参数表实际参数表实际参数表实际参数表 与形式参数必须在个数、类型、位置一一对应4.1.2 4.1.2 函数调用函数调用#includevoid printmessage()cout Ho
13、w do you do!endl;void main()printmessage();例例4-34.1.2 4.1.2 函数调用函数调用#includevoid printmessage()cout How do you do!endl;void main()printmessage();函数调用语句函数调用语句例例4-34.1.2 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
14、);cout max(m,3.5)endl;4.1.2 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.1.2 函数调用函数调用例例4-4#includedouble max(double x,double y)if(x y)return x;else return y;void main()d
15、ouble a,b;cin a b;double m=max(a,b);cout max(m,a+3.5)endl;cout max(max(a,b)max(a,b),a+3.5a+3.5)endl;实际参数是表达式实际参数是表达式4.1.2 4.1.2 函数调用函数调用 函数原型的作用是告诉编译器有关函数的信息:函数原型的作用是告诉编译器有关函数的信息:函数的名字函数的名字函数返回的数据类型函数返回的数据类型函数要接受的参数个数、参数类型和参数的顺序函数要接受的参数个数、参数类型和参数的顺序 编译器根据函数原型检查函数调用的正确性编译器根据函数原型检查函数调用的正确性 函数原型的形式:函数原
16、型的形式:类型类型 函数名函数名(形式参数表形式参数表);4.1.3 4.1.3 函数原型函数原型 函数原型的作用是告诉编译器有关函数的信息:函数原型的作用是告诉编译器有关函数的信息:函数的名字函数的名字函数返回的数据类型函数返回的数据类型函数要接受的参数个数、参数类型和参数的顺序函数要接受的参数个数、参数类型和参数的顺序 编译器根据函数原型检查函数调用的正确性编译器根据函数原型检查函数调用的正确性 函数原型的形式:函数原型的形式:类型类型 函数名函数名(形式参数表形式参数表);函数原型是函数原型是声明语句声明语句4.1.3 4.1.3 函数原型函数原型#include double max(
17、double,double);/函数原型函数原型void main()double a,b,c,m1,m2;cout a b c;m1=max(a,b);/函数调用函数调用 m2=max(m1,c);cout Maximum=m2 y)return x;else return y;使用函数原型使用函数原型4.1.3 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 Ma
18、ximum=m2 y)return x;else return y;函数原型的参数表函数原型的参数表不需要参数名不需要参数名使用函数原型使用函数原型4.1.3 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 Maximum=m2 y)return x;else return y;函数调用出现在定义之前函数调用出现在定义之前函数原型声明是必须的函数原型声明是必须的使用函
19、数原型使用函数原型4.1.3 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 4.1.3 函数原型函数原型函数定义在调用之前函数定义在调用之前#include double max(double x,double y)/函
20、数定义函数定义 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 4.1.3 函数原型函数原型函数原型函数原型说明说明int abs(int n);n的绝对值的绝对值double cos(double x);x(弧度)的余弦(弧度)的余弦double exp(double x);指数函数指数函数exdo
21、uble fabs(double x);x的绝对值的绝对值double fmod(double x,double y);x/y的浮点余数的浮点余数double log(double x);x的自然对数(以的自然对数(以e为底)为底)double log10(double x);x的对数(以的对数(以10为底)为底)double pow(double x,double y);x的的y次方(次方(xy)double sin(double x);x(弧度)的正弦(弧度)的正弦double sqrt(double x);x的平方根的平方根double tan(double x);x(弧度)的正切(弧度
22、)的正切 math.h中几个常用的数学函数中几个常用的数学函数 4.1.3 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 4.1.3 函数原型函数原型/例例4-5 用库函数求正弦和余弦值用库函数求正弦和余弦值#include#include void main()double pi=3.141
23、5926535;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.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 4.1.3 函数原型函数原型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 函数 4.1 函数的声明与调用 声明 调用
限制150内