4.1.1画数攏述 函数按其是否系统预定义分为两类,一类是编译 系统预定义的,称为库函数或标准函数,如一些常 用的数学计算函数、字符串处理函数、图形处理函 数、标准输入输出函数等。这些库函数都按功能分 类,集中说明在不同的头文件中。用户只需在自己 的程序中包含某个头文件,就可直接使用该文件中 定义的函数。另一类是用户自定义函数,用户可以 根据需要将某个具有相对独立功能的程序定义为函 数。 4.1.1 结束 D U
4.1.1 函数概述 4.1.1 结束 函数按其是否系统预定义分为两类,一类是编译 系统预定义的,称为库函数或标准函数,如一些常 用的数学计算函数、字符串处理函数、图形处理函 数、标准输入输出函数等。这些库函数都按功能分 类,集中说明在不同的头文件中。用户只需在自己 的程序中包含某个头文件,就可直接使用该文件中 定义的函数。另一类是用户自定义函数,用户可以 根据需要将某个具有相对独立功能的程序定义为函 数
4.1.2菡数的定改 函数定义格式如下: 如定义一个求最大值的函数max 数据类型函数名(形式参数列表) float max (float x, float y) float zi 函数体; if(x >y) z=xi else z return z; 说明: 1、函数的数据类型规定函数执行后所返回值的类型,如果没有值需要返回 ,则定义为void; 2、函数名是函数的标识,必须应该符合C++标识符的定义,而且取名应做 到“见名知意” 3、形式参数列表中,如果有多个参数,用逗号分隔,并且每个参数要说明 数据类型,这些参数在调用之前没有实际的存储空间,也就没有具体的内 容,只有在在调用时候,才临时分配空间,并从调用函数中接收数据的实 际内容。一个函数也可以没有任何参数。 4、函数体的语句来描述了函数功能的实现的代码,函数执行完需要返回的 值是通过 return语句来实现
4.1.2 函数的定义 函数定义格式如下: 数据类型 函数名(形式参数列表) { 函数体; } 说明: 1、函数的数据类型规定函数执行后所返回值的类型,如果没有值需要返回 ,则定义为void; 2、函数名是函数的标识,必须应该符合C++标识符的定义,而且取名应做 到“见名知意” 3、形式参数列表中,如果有多个参数,用逗号分隔,并且每个参数要说明 数据类型,这些参数在调用之前没有实际的存储空间,也就没有具体的内 容,只有在在调用时候,才临时分配空间,并从调用函数中接收数据的实 际内容。一个函数也可以没有任何参数。 4、函数体的语句来描述了函数功能的实现的代码,函数执行完需要返回的 值是通过return语句来实现。 如定义一个求最大值的函数 max float max(float x, float y) { float z; if(x > y) z = x; else z = y; return z; }
提示 定义函数时可能会涉及若干个变量,究竟哪些变量应当 作为函数的参数?哪些应当定义在函数体内?这有一个原则: 作为一个相对独立的模块,函数在使用时完全可以被看成 “罘匣子”,除了输入输出外,其他部分可不必关心。从函 数的定义看出,函数头正是用来反映函数的功能和使用接口 它所定义的是“做什么”,在这部分必须明确“罘匣子”的 输入输出部分,输出就是函数的返回值,输入就是参数。因 此,只有那些功能上起自变量作用的变量才必须作为参数定 义在参数表中;函数体中具体描述“如何做”,因此除参数 之外的为实现算法所需用的变量应当定义在函数体内。 C+不允许函数的嵌套定义,即在一个函数中定义另 个函数。 D U
定义函数时可能会涉及若干个变量,究竟哪些变量应当 作为函数的参数?哪些应当定义在函数体内?这有一个原则: 作为一个相对独立的模块,函数在使用时完全可以被看成 “黑匣子”,除了输入输出外,其他部分可不必关心。从函 数的定义看出,函数头正是用来反映函数的功能和使用接口, 它所定义的是“做什么”,在这部分必须明确“黑匣子”的 输入输出部分,输出就是函数的返回值,输入就是参数。因 此,只有那些功能上起自变量作用的变量才必须作为参数定 义在参数表中;函数体中具体描述“如何做”,因此除参数 之外的为实现算法所需用的变量应当定义在函数体内。 C++中不允许函数的嵌套定义,即在一个函数中定义另一 个函数。 提示
4.1.3数的調用 在C艹中,除了主函数外,其他任何函数都不能单独作为程 序运行。任何函数功能的实现都是通过被主函数直接或间接 调用进行的。所谓函数调用,就是使程序转去执行函数体。 无参函数的调用格式为 函数名(); 有参函数的调用格式为 函数名(实际参数表) 其中实际参数简称实参,用来将实际参数的值传递给形参, 因此可以是常量、具有值的变量或表达式
4.1.3 函数的调用 在C++中,除了主函数外,其他任何函数都不能单独作为程 序运行。任何函数功能的实现都是通过被主函数直接或间接 调用进行的。所谓函数调用,就是使程序转去执行函数体。 无参函数的调用格式为: 函数名( ); 有参函数的调用格式为: 函数名(实际参数表); 其中实际参数简称实参,用来将实际参数的值传递给形参, 因此可以是常量、具有值的变量或表达式
4.13菡搬的調用 【例4.1】输入两个实数,输出其中较大的数。其中求两个实 数中的较大数用函数完成。 程序如下: main() include iostream . h> 函数 float max float x float y) return(x>=y?x; 调用 函数 max(2547)max(2547) void maino float x, yi return 4.7 cout<<"输入两个实数:"<<enl 主程序后 续语句 CIn>>x>>yi cout<<x<<和”<<y<<中较大数为:” <<max(xy)<<endl;
4.1.3 函数的调用 main( ) 函数 调用 max(2.5,4.7 ) 函数 max(2.5,4.7 ) 主程序后 return 4.7 续语句 【例4.1】 输入两个实数,输出其中较大的数。其中求两个实 数中的较大数用函数完成。 程序如下: #include<iostream.h> float max(float x,float y) { return(x>=y?x:y); } void main() { float x,y; cout<<"输入两个实数:"<<endl; cin>>x>>y; cout<<x<<“和”<<y<< “中较大数为:” <<max(x,y)<<endl; }