高级语言C++程序设计 (第二版) 刘景、周玉龙編
高级语言C++程序设计 (第二版) 刘景、周玉龙编
第五章函数、函数与运算符的重载 51三次方程求根程序设计 三次方程x+mx+q=0求根的 Cardan公式: Xr=3 1、设计一个求立方根的函数 float cuberooti( float x)/由迭代公式求,P128 float root croot const float eps=le-6 croot=Xi doriot=croot croot=(2 root+x/root*root)/3;1 while( fabs(croot-root>eps return(croot)
第五章 函数、函数与运算符的重载 ◼ 5.1 三次方程求根程序设计 三次方程 求根的Cardan公式: 1、设计一个求立方根的函数 float cuberoot(float x)//由迭代公式求,P.128. { float root,croot; const float eps=1e-6; croot=x; do{root=croot; croot=(2*root+x/(root*root))/3;} while(fabs(croot-root)>eps);return(croot)} 0 3 + px + q = x 3 2 3 3 2 3 ) 3 ) ( 2 ) ( 3 ) ( 2 ( 2 2 q q p q q p x r = − + + + − − +
第五章函数、函数与运算符的重载 2、整个程序结构(P129) //program5-1 cpp #indlude <iostream.h> #include <math .h> float cuberoot(float x; void main( float p, g,xr; cout<< Input parameters p, q cIn>>p>>qi float a=sqrt(q/2)*(q/2)+(q/3)*(q/3)*(q/3) Xr=cuberoot(-q/2+a)+cuberoot(-/2-a; cout <endk<<The real root of the equation is: <<xr; y float cuberoot(float x
第五章 函数、函数与运算符的重载 2、整个程序结构(P.129.) //program5-1.cpp #include<iostream.h> #include<math.h> float cuberoot(float x); void main() { float p,q,xr; cout<<“Input parameters p,q:”; cin>>p>>q; float a=sqrt((q/2)*(q/2)+(q/3)*(q/3)*(q/3)); xr=cuberoot(-q/2+a)+cuberoot(-q/2-a); cout<<endl<<“The real root of the equation is:”<<xr;} float cuberoot(float x) {…}
第五章函数、函数与运算符的重载 52函数的说明与使用 521函数说明 1、函数原型(P130~131) 函数原型(亦称函数声明):用来指出函数的名称、类型和参数。 格式:[属性说明]<类型><函数名>(<形式参数表>) 说明:属性说明有 inline、 static、 virtual、 friend等。 2、函数定义(P131) 格式:[属性说明]<类型><函数名>(<形式参数表>) 函数体> 522函数的调用(P132) 格式:<函数名>(<实际参数表>)
第五章 函数、函数与运算符的重载 ◼ 5.2 函数的说明与使用 5.2.1 函数说明 1、函数原型(P.130~131.) 函数原型(亦称函数声明):用来指出函数的名称、类型和参数。 格式:[属性说明]<类型><函数名>(<形式参数表>) 说明:属性说明有inline、static、virtual、friend等。 2、函数定义(P.131.) 格式: [属性说明]<类型><函数名>(<形式参数表>) { <函数体> } 5.2.2 函数的调用(P.132.) 格式: <函数名>(<实际参数表>)
第五章函数、函数与运算符的重载 523函数的返回 说明:函数的返回要完成两项任务:把运行控制从函数体返回到函 数调用点;返回所需要的数据值。 1、返回void类型 2、返回数值类型 3、返回引用类型(该函数调用后返回的不单是值,而是包含返回值 的变量(或对象)) 524函数的参数 1、无参函数: void printo 2、一个或多个参数: void sort( int n int* array){ 3、不定个数参数: void sort( int n, float*a)//n是变化的,a是数组起始指针。 void abc(inti…) 注:无名参数和缺省参数。(P134.)
第五章 函数、函数与运算符的重载 5.2.3 函数的返回 说明:函数的返回要完成两项任务:把运行控制从函数体返回到函 数调用点;返回所需要的数据值。 1、返回void类型 2、返回数值类型 3、返回引用类型(该函数调用后返回的不单是值,而是包含返回值 的变量(或对象)) 5.2.4 函数的参数 1、无参函数:void print(); 2、一个或多个参数:void sort(int n,int *array){…} 3、不定个数参数: void sort(int n,float *a);//n是变化的,a是数组起始指针。 void abc(int i, …); 注:无名参数和缺省参数。(P.134.)