上游充通大¥ 1895 1920 1987 006 1. 函数的使用 2.函数的声明和调用 3.函数的参数传递 4. 变量属性 5.结构化程序设计思想 函数的声明 口函数是面向过程程序设计中,对功能的抽象。 口函数声明的语法形式: 参数类型/参数名 若无返回值,写void 类型标识符函数名(形式参数表) 语句序列: 图上海夫通大华 12/72
1. 函数的使用 2. 函数的声明和调用 3. 函数的参数传递 4. 变量属性 5. 结构化程序设计思想 12/72 函数的声明 函数是面向过程程序设计中,对功能的抽象。 函数声明的语法形式: 类型标识符 函数名(形式参数表) { 语句序列; } 若无返回值,写void 参数类型/参数名
函数的声明 口使用和编写一个函数要包括: 函数原型说明 √声明函数的原型:声明 √一个或多个函数调用:调用 int main() √实现该函数的代码:定义 es 口对于库函数: √#include“xxx.h”的文件中已包括 函数调用 了函数原型的声明,C+的库文件中则包 。银量 含了函数实现的代码。 函数实现 国上海文大¥ 13/72 函数的声明 口所有函数在使用前必须被声明,以便让编译器知道用户的用法 是否正确。 口函数声明包括下列内容: √函数名 √函数的参数类型 √函数的返回类型 口函数的声明被称为函数的原型,它的形式为: √返回类型函数名(参数表); √参数表中的每个参数说明可以是类型,也可以是类型后面再接一个参 数名。如: int max(int,int); int max(int a,int b); 图上海夫通大华 14/72
13/72 使用和编写一个函数要包括: 声明函数的原型:声明 一个或多个函数调用:调用 实现该函数的代码:定义 对于库函数: #include “xxx.h”的文件中已包括 了函数原型的声明,C++的库文件中则包 含了函数实现的代码。 函数的声明 函数原型说明 int main( ) { …… …… 函数调用 …… …… } 函数实现 14/72 函数的声明 所有函数在使用前必须被声明,以便让编译器知道用户的用法 是否正确。 函数声明包括下列内容: 函数名 函数的参数类型 函数的返回类型 函数的声明被称为函数的原型,它的形式为: 返回类型 函数名(参数表); 参数表中的每个参数说明可以是类型,也可以是类型后面再接一个参 数名。如: int max(int, int); int max(int a, int b);
编写自己的函数(1) 口下面是一个调用和定义一个简单函数myMax的例子,该函数有 二个参数,返回值为两个整数的最大值。 #include <iostream> 函数原型声明 using namespace std; int myMax (int x,int y); 函数实现 int main int myMax(intx,inty) int a,b,c; cout<<"Please enter numbers:" return(x>y?x:y); cin>>a>>b; c=myMax (a,b); cout<<"max="<<c<<endl; 函数调用 return 0; 圈上语文通大¥ 15/72 编写自己的函数(2) ▣这个简单的函数例子能说明C+函数实现中所有的组成部分。 返回值 函数名 参数 int myMax(int x,int y) return(x>y?x:y); 返回值 图上海夫通大华 16/72
15/72 下面是一个调用和定义一个简单函数myMax的例子,该函数有 二个参数,返回值为两个整数的最大值。 编写自己的函数(1) 函数原型声明 函数实现 函数调用 #include <iostream> using namespace std; int myMax(int x, int y); int main() { int a ,b ,c; cout<<"Please enter numbers: "; cin>>a>>b; c=myMax(a,b); cout<<"max= "<<c<<endl; return 0; } int myMax(int x,int y) { return (x>y ? x:y); } 16/72 这个简单的函数例子能说明C++函数实现中所有的组成部分。 编写自己的函数(2) 返回值 函数名 参数 返回值 int myMax(int x,int y) { return (x>y ? x:y); }
函数声明规则 口库函数在调用前需要#include?相应的头文件。 口自定义的函数在调用时需要进行函数原型声明。 口函数原型声明与函数定义写法上需要保持一致,即函数类型、 函数名、参数个数和参数顺序必须相同。 口如果被调函数的定义在主调函数之前,可以不必加声明。 口如果在所有函数定义之前,在函数外部已经做了函数声明, 则在主调函数中无须再作声明。 国上海夫道大¥ 1772 在函数声明和函数调用中的参数名字 #include <iostream> using namespace std; 口函数参数的名字对结果 int myMax (int x,int y); 没有任何影响。 int mainO 口如果将函数参数的名字 ×改成m效果是一样 int a,b,c; 的。 cout<<"Please enter numbers:" 口编译器不检查函数声明 cin>>a>>b; 中的名字,但编程时一 c=myMax (a,b) 般与函数声明时保持一 cout<<"max="<<c<<endl: 致。 return 0; m int myMax(int m,int n return(m>n?m:n): 图上海夫通大华 18/72
17/72 库函数在调用前需要#include相应的头文件。 自定义的函数在调用时需要进行函数原型声明。 函数原型声明与函数定义写法上需要保持一致,即函数类型、 函数名、参数个数和参数顺序必须相同。 如果被调函数的定义在主调函数之前,可以不必加声明。 如果在所有函数定义之前,在函数外部已经做了函数声明, 则在主调函数中无须再作声明。 函数声明规则 18/72 函数参数的名字对结果 没有任何影响。 如果将函数参数的名字 x 改成 m 效果是一样 的。 编译器不检查函数声明 中的名字,但编程时一 般与函数声明时保持一 致。 在函数声明和函数调用中的参数名字 m #include <iostream> using namespace std; int myMax(int x, int y); int main() { int a ,b ,c; cout<<"Please enter numbers: "; cin>>a>>b; c=myMax(a,b); cout<<"max= "<<c<<endl; return 0; } int myMax(int m, int n ) { return (m>n ? m:n); }
上游充通大¥ 1895 1920 1987 006 1. 函数的使用 2. 函数的声明和调用 3.函数的参数传递 4. 变量属性 5.结构化程序设计思想 函数调用的执行过程 保存: ③ main() √返回地址 myMax() ② 当前现场 ① 调用myMax() ④ ⑦ ⑥ 恢复: 结束 ⑤ 主调程序现场 返回 返回地址 图上海夫通大华 20/72
1. 函数的使用 2. 函数的声明和调用 3. 函数的参数传递 4. 变量属性 5. 结构化程序设计思想 20/72 函数调用的执行过程 main() 调用myMax() 结束 myMax() 返回 ① ② ④ ⑥ ⑦ 保存: 返回地址 当前现场 ③ 恢复: 主调程序现场 返回地址 ⑤