C++语言程序设计 函教的定义 数函数定义的语法形式 的 声类型标识符函数名(形式参数表) 明 若无参数, 写void 与 语句序列 使 是被初始化的内部 变量,寿命和可见 用 返回值类型 性仅限于函数内部 若无返回值,写void x
C++语言程序设计 6 函数的定义 函数定义的语法形式 类型标识符 函数名(形式参数表) { 语句序列 } 函 数 的 声 明 与 使 用 若无参数, 写void 是被初始化的内部 变量,寿命和可见 返回值类型 性仅限于函数内部 若无返回值,写void
C++语言程序设计 函教的定义 ●形式参数表 数的声明与使用 程序通过参数把信息传给函数,因此需要给参数指 定类型和名称 <type> name,, <type2> name2, ., <typen> namen 函数的返回值 函数可以把数据返回给调用者,函数返回值类型。 由 return语句给出,例如: return 0i 无返回值的函数(void类型),不必写 retur 语句
C++语言程序设计 7 函数的定义 ⚫ 形式参数表 程序通过参数把信息传给函数,因此需要给参数指 定类型和名称。 <type1> name1 , <type2> name2 , ..., <typen> namen ⚫ 函数的返回值 函数可以把数据返回给调用者,函数返回值类型。 – 由 return 语句给出,例如: return 0; – 无返回值的函数(void类型),不必写return 语句。 函 数 的 声 明 与 使 用
C++语言程序设计 数的调用 调用前先声明函数原型: 数的声明与使用 在主调函数中,或程序文件中所有函数之外,按 如下形式说明: 类型标识符被调用函数名(含类型说明的形 参表); 含义是告诉编译器有一个函数可以使用了,以及 使用该函数的参数和返回值要求。 调用形式 函数名(实参列表); 嵌套调用 函数可以嵌套调用,但不允许嵌套定义。次 ●递归调用 x 函数直接或间接调用自身
C++语言程序设计 8 函数的调用 ⚫ 调用前先声明函数原型: – 在主调函数中,或程序文件中所有函数之外,按 如下形式说明: 类型标识符 被调用函数名 (含类型说明的形 参表); – 含义是告诉编译器有一个函数可以使用了,以及 使用该函数的参数和返回值要求。 ⚫ 调用形式 函数名(实参列表); ⚫ 嵌套调用 – 函数可以嵌套调用,但不允许嵌套定义。 ⚫ 递归调用 – 函数直接或间接调用自身。 函 数 的 声 明 与 使 用
C++语言程序 3-2 函教定义声明调用举例 数 #inc ludesiostream 的 using name space std 函数原型描述 //函数的声明 了函数接口 声明 double add(double x, double y) 与/函数的定义,返回值是 double类型 Ts double add( double x, double y) 用( double z; z-Xty cout<<x+ <y = <<zend return(z)
C++语言程序设计 9 例3-2 函数定义声明调用举例 #include<iostream> using namespace std; //函数的声明 double add(double x,double y); //函数的定义,返回值是double类型 double add(double x,double y) { double z; z=x+y; cout<<x<<"+"<<y<<"="<<z<<endl; return(z); } 函 数 的 声 明 与 使 用 函数原型描述 了函数接口
C++语言程序 3-2 函教定义声明调用举例 数 int main i double a=0.5, b=1.0 的 //不同参数形式调用 cout<<"add(1.5,2.5)="<add(1.5,2.5)<end1; 声明与使用 cout<< add(a, b)="add(a, b)<endl cout< add(2*a, a+b)=<<add (2*a, a+b)<endl //以表达式语句方式调用 double c=2*add(a, b): cout<<"c=<<c<<endl ad(2*a,b);//以语句方式调用函数addQ //以函数参数形式调用函数addC cout<<add(a, add(a, b))="<<add(a, add(a, b))kndl return O
C++语言程序设计 10 例3-2 函数定义声明调用举例 int main() { double a=0.5,b=1.0; //不同参数形式调用 cout<<"add(1.5,2.5)="<<add(1.5,2.5)<<endl; cout<<"add(a,b)="<<add(a,b)<<endl; cout<<"add(2*a,a+b)="<<add(2*a,a+b)<<endl; //以表达式语句方式调用 double c=2*add(a,b); cout<<"c="<<c<<endl; add(2*a,b); //以语句方式调用函数add() //以函数参数形式调用函数add() cout<<"add(a,add(a,b))="<<add(a,add(a,b))<<endl; return 0; } 函 数 的 声 明 与 使 用