c++程序设计基础3-函数.pptx
《c++程序设计基础3-函数.pptx》由会员分享,可在线阅读,更多相关《c++程序设计基础3-函数.pptx(350页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1 1页页第第2 2页页第第3 3章章 函数函数 3.1 3.1 函数的定义与调用函数的定义与调用 3.2 3.2 函数参数的传递函数参数的传递 3.3 3.3 函数调用机制函数调用机制 3.4 3.4 函数指针函数指针 3.5 3.5 内联函数和重载函数内联函数和重载函数 3.6 3.6 变量存储特性与标识符作用域变量存储特性与标识符作用域 3.7 3.7 多文件结构程序多文件结构程序 3.8 3.8 命名空间命名空间 3.93.9 终止程序执行终止程序执行 小结小结第第3 3页页第第3 3章章 函数函数 函数(函数(FunctionFunction)是功能抽象的模块)是功能抽象的模块函
2、数函数参数参数返回值返回值输入流输入流输出流输出流第第4 4页页第第3 3章章 函数函数 函数(函数(FunctionFunction)是功能抽象的模块)是功能抽象的模块 函数作用函数作用 任务划分;代码重用任务划分;代码重用 函数是函数是C+C+程序的重要组件程序的重要组件 第第5 5页页 函数定义由两部分组成:函数首部和函数操作描述函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过程函数调用是通过表达式或语句激活并执行函数代码的过程 3.1 3.1 3.1 3.1 函数的定义和调用函数的定义和调用函数的定义和调用函数的定义和调用/求圆柱体体积求圆
3、柱体体积#includeusing namespace std;double volume(double radius,double height)return 3.14*radius*radius*height;int main()double vol,r,h;cin r h;vol=volume(r,h);cout Volume=vol endl;第第6 6页页 函数定义由两部分组成:函数首部和函数操作描述函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过程函数调用是通过表达式或语句激活并执行函数代码的过程 3.1 3.1 3.1 3.1 函数的
4、定义和调用函数的定义和调用函数的定义和调用函数的定义和调用/求圆柱体体积求圆柱体体积#includeusing namespace std;double volume(double radius,double height)return 3.14*radius*radius*height;int main()double vol,r,h;cin r h;vol=volume(r,h);cout Volume=vol endl;函数定义函数定义第第7 7页页 函数定义由两部分组成:函数首部和函数操作描述函数定义由两部分组成:函数首部和函数操作描述 函数调用是通过表达式或语句激活并执行函数代码的过
5、程函数调用是通过表达式或语句激活并执行函数代码的过程 3.1 3.1 3.1 3.1 函数的定义和调用函数的定义和调用函数的定义和调用函数的定义和调用/求圆柱体体积求圆柱体体积#includeusing namespace std;double volume(double radius,double height)return 3.14*radius*radius*height;int main()double vol,r,h;cin r h;vol=volume(r,h);cout Volume=vol endl;函数调用函数调用第第8 8页页函数定义形式函数定义形式 类型类型 函数名函数名
6、(形式参数表形式参数表)语句序列语句序列 3.1.1 3.1.1 函数定义函数定义 3.1.1 3.1.1 函数定义函数定义第第9 9页页函数定义形式函数定义形式 类型类型 函数名函数名(形式参数表形式参数表)语句序列语句序列 3.1.1 3.1.1 函数定义函数定义 函数头函数头函数接口,包括:函数接口,包括:3.1.1 3.1.1 函数定义函数定义第第1010页页函数定义形式函数定义形式 类型类型类型类型 函数名函数名(形式参数表形式参数表)语句序列语句序列 3.1.1 3.1.1 函数定义函数定义 函数头函数头函数接口,包括:函数接口,包括:函数返回值类型函数返回值类型函数返回值类型函数
7、返回值类型 函数体中由函数体中由 return 语句返回的值的类型。没有语句返回的值的类型。没有 返回值其类型为返回值其类型为void3.1.1 3.1.1 函数定义函数定义第第1111页页函数定义形式函数定义形式 类型类型 函数名函数名函数名函数名(形式参数表形式参数表)语句序列语句序列 3.1.1 3.1.1 函数定义函数定义 函数头函数头函数接口,包括:函数接口,包括:函数返回值类型函数返回值类型 函数体中由函数体中由 return 语句返回的值的类型。没有语句返回的值的类型。没有 返回值其类型为返回值其类型为void函数名函数名函数名函数名 用户定义标识符用户定义标识符3.1.1 3.
8、1.1 函数定义函数定义第第1212页页函数定义形式函数定义形式 类型类型 函数名函数名(形式参数表形式参数表形式参数表形式参数表)语句序列语句序列 3.1.1 3.1.1 函数定义函数定义 函数头函数头函数接口,包括:函数接口,包括:函数返回值类型函数返回值类型 函数体中由函数体中由 return 语句返回的值的类型。没有语句返回的值的类型。没有 返回值其类型为返回值其类型为void函数名函数名 用户定义标识符用户定义标识符形式参数表形式参数表形式参数表形式参数表 逗号分隔的参数说明表列,缺省形式参数时不逗号分隔的参数说明表列,缺省形式参数时不 能省略圆括号。一般形式为:能省略圆括号。一般形
9、式为:类型类型 参数参数1 ,类型,类型 参数参数2,类型,类型 参数参数n 3.1.1 3.1.1 函数定义函数定义第第1313页页函数定义形式函数定义形式 3.1.1 3.1.1 函数定义函数定义 函数头函数头函数接口函数接口类型类型 函数名函数名(形式参数表形式参数表)语句序列语句序列语句序列语句序列 函数体函数体函数体函数体函数的实现代码。函数的实现代码。3.1.1 3.1.1 函数定义函数定义第第1414页页例例3-1 3.1.1 3.1.1 函数定义函数定义 void printmessage()cout How do you do!endl;3.1.1 3.1.1 函数定义函数定
10、义第第1515页页例例3-13.1.1 3.1.1 函数定义函数定义 void printmessage()cout How do you do!endl;函数返回值类型函数返回值类型无返回值无返回值3.1.1 3.1.1 函数定义函数定义第第1616页页例例3-13.1.1 3.1.1 函数定义函数定义 void printmessage()cout How do you do!endl;函数名函数名3.1.1 3.1.1 函数定义函数定义第第1717页页例例3-13.1.1 3.1.1 函数定义函数定义 void printmessage()cout How do you do!endl;
11、形式参数表形式参数表无参数无参数3.1.1 3.1.1 函数定义函数定义第第1818页页例例3-13.1.1 3.1.1 函数定义函数定义 void printmessage()cout How do you do!y)return x;else return y;3.1.1 3.1.1 函数定义函数定义第第2020页页例例3-23.1.1 3.1.1 函数定义函数定义 double max(double x,double y)if(x y)return x;else return y;函数返回值类型函数返回值类型3.1.1 3.1.1 函数定义函数定义第第2121页页例例3-23.1.1 3
12、.1.1 函数定义函数定义 double max(double x,double y)if(x y)return x;else return y;函数名函数名3.1.1 3.1.1 函数定义函数定义第第2222页页例例3-23.1.1 3.1.1 函数定义函数定义 double max(double x,double y)if(x y)return x;else return y;形式参数表形式参数表3.1.1 3.1.1 函数定义函数定义第第2323页页例例3-23.1.1 3.1.1 函数定义函数定义 double max(double x,double y)if(x y)return x
13、;else return y;函数体函数体3.1.1 3.1.1 函数定义函数定义第第2424页页例例3-23.1.1 3.1.1 函数定义函数定义 double max(double x,double y)if(x y)return x;else return y;返回值返回值return return 语句形式:语句形式:returnreturn 表达式表达式 或或returnreturn(表达式表达式)作用:作用:返回函数值返回函数值 不再执行后续语句,程序控制返回调用点不再执行后续语句,程序控制返回调用点 一个函数体内可以有多个一个函数体内可以有多个return return 语句语句
14、 表达式表达式 返回值的类型与函数类型不相同时,返回值的类型与函数类型不相同时,自动强制转换成函数的类型自动强制转换成函数的类型3.1.1 3.1.1 函数定义函数定义第第2525页页例例3-23.1.1 3.1.1 函数定义函数定义 double max(double x,double y)if(x y)return x;else return y;TypeType FunctionName()/statements returnreturn expressionexpression;voidvoid FunctionName()/statements returnreturn;/可省略可省
15、略3.1.1 3.1.1 函数定义函数定义第第2626页页调用形式调用形式 函数名函数名(实际参数表实际参数表)3.1.2 3.1.2 函数调用函数调用3.1.2 3.1.2 函数调用函数调用第第2727页页调用形式调用形式 函数名函数名函数名函数名(实际参数表实际参数表)3.1.2 3.1.2 函数调用函数调用函数名函数名函数名函数名 函数的入口地址函数的入口地址3.1.2 3.1.2 函数调用函数调用第第2828页页调用形式调用形式 函数名函数名(实际参数表实际参数表实际参数表实际参数表)3.1.2 3.1.2 函数调用函数调用函数名函数名 函数的入口地址函数的入口地址实际参数表实际参数表
16、实际参数表实际参数表 与形式参数必须在个数、类型、位置一一对应与形式参数必须在个数、类型、位置一一对应3.1.2 3.1.2 函数调用函数调用第第2929页页调用形式调用形式 函数名函数名(实际参数表实际参数表)3.1.2 3.1.2 函数调用函数调用函数名函数名 函数的入口地址函数的入口地址实际参数表实际参数表 与形式参数必须在个数、类型、位置一一对应与形式参数必须在个数、类型、位置一一对应3.1.2 3.1.2 函数调用函数调用用表达式或语句形式调用用表达式或语句形式调用用表达式或语句形式调用用表达式或语句形式调用;若函数返回值类型为若函数返回值类型为若函数返回值类型为若函数返回值类型为v
17、oidvoid,则只能用语句调用,则只能用语句调用,则只能用语句调用,则只能用语句调用第第3030页页3.1.2 3.1.2 函数调用函数调用#includeusing namespace std;void printmessage()cout How do you do!endl;int main()printmessage();例例3-13.1.2 3.1.2 函数调用函数调用第第3131页页3.1.2 3.1.2 函数调用函数调用#includeusing namespace std;void printmessage()cout How do you do!endl;int main(
18、)printmessage();函数调用语句函数调用语句例例3-13.1.2 3.1.2 函数调用函数调用第第3232页页3.1.2 3.1.2 函数调用函数调用例例3-2#includeusing namespace std;double max(double x,double y)if(x y)return x;else return y;int main()double a,b;cin a b;double m=max(a,b);cout max(m,3.5)endl;3.1.2 3.1.2 函数调用函数调用第第3333页页3.1.2 3.1.2 函数调用函数调用例例3-2#includ
19、eusing namespace std;double max(double x,double y)if(x y)return x;else return y;int main()double a,b;cin a b;double m=max(a,b);cout max(m,3.5)endl;函数调用表达式函数调用表达式3.1.2 3.1.2 函数调用函数调用第第3434页页3.1.2 3.1.2 函数调用函数调用例例3-2#includeusing namespace std;double max(double x,double y)if(x y)return x;else return y
20、;int main()double 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;实际参数是表达式实际参数是表达式3.1.2 3.1.2 函数调用函数调用第第3535页页3.1.3 3.1.3 函数原型函数原型 函数原型的作用是告诉编译器有关函数的信息:函数原型的作用是告诉编译器有关函数的信息:函数的名字函数的名字函数返回的数据类型函数返回的数据类型函数要接受的参数个数、参数类型和参数的顺序函数要接受的参数个数、参数类型和参数的顺序 编译器根据函数原型检
21、查函数调用的正确性编译器根据函数原型检查函数调用的正确性 函数原型的形式:函数原型的形式:类型类型 函数名函数名(形式参数表形式参数表);3.1.3 3.1.3 函数原型函数原型第第3636页页3.1.3 3.1.3 函数原型函数原型 函数原型的作用是告诉编译器有关函数的信息:函数原型的作用是告诉编译器有关函数的信息:函数的名字函数的名字函数返回的数据类型函数返回的数据类型函数要接受的参数个数、参数类型和参数的顺序函数要接受的参数个数、参数类型和参数的顺序 编译器根据函数原型检查函数调用的正确性编译器根据函数原型检查函数调用的正确性 函数原型的形式:函数原型的形式:类型类型 函数名函数名(形式
22、参数表形式参数表);函数原型是函数原型是声明语句声明语句3.1.3 3.1.3 函数原型函数原型第第3737页页3.1.3 3.1.3 函数原型函数原型#include using namespace std;double max(double,double);/函数原型函数原型int 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;使用函数原型使用函数原型3.1.3 3.1.3 函数原型函数原型第第3838页页3.1.
23、3 3.1.3 函数原型函数原型#include using namespace std;double max(double,double);/函数原型函数原型int 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;函数原型的参数表函数原型的参数表不需要参数名不需要参数名使用函数原型使用函数原型3.1.3 3.1.3 函数原型函数原型第第3939页页3.1.3 3.1.3 函数原型函数原型#include using n
24、amespace std;double max(double,double);/函数原型函数原型int 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;函数调用出现在定义之前函数调用出现在定义之前函数原型声明是必须的函数原型声明是必须的使用函数原型使用函数原型3.1.3 3.1.3 函数原型函数原型第第4040页页3.1.3 3.1.3 函数原型函数原型函数定义在调用之前函数定义在调用之前#include using n
25、amespace std;double max(double x,double y)/函数定义函数定义 if(x y)return x;else return y;int main()double a,b,c,m1,m2;cout a b c;m1=max(a,b);/函数调用函数调用 m2=max(m1,c);cout Maximum=m2 endl;3.1.3 3.1.3 函数原型函数原型第第4141页页3.1.3 3.1.3 函数原型函数原型函数定义在调用之前函数定义在调用之前#include using namespace std;double max(double x,double
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 基础 函数
限制150内