Chap5函数5.1计算圆柱体积5.2数字金字塔5.3复数运算
Chap 5 函数 5.1 计算圆柱体积 5.2 数字金字塔 5.3 复数运算
本章要点■函数的作用?如何确定函数功能?■怎样定义函数?如何调用函数?定义函数与声明函数有何区别?■什么是函数的参数?怎样确定函数的参数?■在函数调用时,参数是如何传递数据的?■变量与函数有什么关系?如何使用局部变量和全局变量?■什么是静态变量?
本章要点 ◼ 函数的作用?如何确定函数功能? ◼ 怎样定义函数?如何调用函数?定义函数与声 明函数有何区别? ◼ 什么是函数的参数?怎样确定函数的参数? ◼ 在函数调用时,参数是如何传递数据的? ◼ 变量与函数有什么关系?如何使用局部变量和 全局变量? ◼ 什么是静态变量?
5.1计算圆柱体积5.1.1禾程序解析函数的定义5.1.2函数的调用5.1.3函数程序设计5.1.4
5.1 计算圆柱体积 ◼ 5.1.1 程序解析 ◼ 5.1.2 函数的定义 ◼ 5.1.3 函数的调用 ◼ 5.1.4 函数程序设计
5.1.1程序解析一计算圆柱体积例5-1输入圆柱体的高和半径,求圆柱体积volume=T*r2*h。要求定义和调用函数cylinder(r,h)计算圆柱体的体积
5.1.1 程序解析-计算圆柱体积 例5-1 输入圆柱体的高和半径,求圆柱体积, volume=π*r2 *h。 要求定义和调用函数cylinder (r, h )计算圆 柱体的体积
例5-1源程序/*计算圆柱体积*I#includeint main( void )double height, radius, volume;*函数声明*/double cylinder (double r, double h);printf ("Enter radius and height:");scanf ("%lf%lf",&radius,&height);/*调用函数,返回值赋给volume*/volume = cylinder (radius, height ):printf ("Volume = %.3fln", volume);return O;1
/* 计算圆柱体积 */ 例5-1源程序 #include int main( void ) { double height, radius, volume; double cylinder (double r, double h); /* 函数声明*/ printf ("Enter radius and height: "); scanf ("%lf%lf", &radius, &height); /* 调用函数,返回值赋给volume */ volume = cylinder (radius, height ); printf ("Volume = %.3f\n", volume); return 0; }
例5-1源程序Enter radius and height: 3.0 10Volume = 282.743/*定义求圆柱体积的函数*/double cylinder (double r,doubleh)double result;/*计算体积*/result=3.1415926*r*r*h;[* 返回结果*/return result;
例5-1源程序 /* 定义求圆柱体积的函数 */ double cylinder (double r, double h) { double result; result =3.1415926 * r * r * h; /* 计算体积 */ return result; /* 返回结果 */ } Enter radius and height: 3.0 10 Volume = 282.743
#includeEnter radius and height: 3.0 10int main( void )Volume = 282.743.double height, radius, volume;doublecylinder(doubler,doubleh);/*函数声明*printf ("Enter radius and height: ");scanf ("%lf%lf",&radius,&height)volume=cylinder(radius,height);问题:printf ("Volume = %.3fin", volume);函数是如何运行的?return O;double cylinder (double r, double h)double result;result=3.1415926*r*r* h;return result;7
#include int main( void ) 例5-1源程序 { double height, radius, volume; double cylinder (double r, double h); /* 函数声明*/ printf ("Enter radius and height: "); scanf ("%lf%lf", &radius, &height); volume = cylinder (radius, height ); printf ("Volume = %.3f\n", volume); return 0; } double cylinder (double r, double h) { double result; result =3.1415926 * r * r * h; return result; } Enter radius and height: 3.0 10 Volume = 282.743 问题: 函数是如何运行的?
函数的定义5.1.2■函数是指完成一个特定工作的独立程序模块。口库函数:由C语言系统提供定义如scanf()、printf()等函数口自定义函数:需要用户自己定义如计算圆柱体体积函数cylinder()main(也是一个函数,C程序由一个main()或多个函数构成。■程序中一旦调用了某个函数,该函数就会完成特定的计算,然后返回到调用它的地方。口函数经过运算,得到一个明确的运算结果,并需要回送该结果。例如,函数cylinderO)返回圆柱的体积
5.1.2 函数的定义 ◼ 函数是指完成一个特定工作的独立程序模块。 库函数:由C语言系统提供定义 如scanf()、printf()等函数 自定义函数:需要用户自己定义 如计算圆柱体体积函数cylinder() ◼ main()也是一个函数,C程序由一个main()或多个 函数构成。 ◼ 程序中一旦调用了某个函数,该函数就会完成特定 的计算,然后返回到调用它的地方。 函数经过运算,得到一个明确的运算结果,并需要回送 该结果。例如,函数cylinder()返回圆柱的体积
doublecylinder(doubler,doubleh)double result;5.1.2函数定义result=3.1415926*r*r*h;return result;函数返回值的类型没有分号函数类型函数名(形参表)[*函数首部*/t/*函数体*/函数实现过程return表达式;只能返回一个值把函数运算的结果回送给主函数
5.1.2 函数定义 函数类型 函数名(形参表) /* 函数首部 */ { /* 函数体 */ 函数实现过程 return 表达式; } 把函数运算的结果回送给主函数 只能返回一个值 函数返回值的类型 没有分号 double cylinder (double r, double h) { double result; result = 3.1415926 * r * r * h; return result; }
分析函数的定义函数类型函数名形参表double cylinder(doubler,doubleh)*函数首部*/*函数体,写在一对大括号内*double result;/*计算圆柱体积*/result=3.1415926*r*r*h;*返回运算结果*returnresult;与函数类型一致
double cylinder (double r, double h) /* 函数首部 */ { /* 函数体,写在一对大括号内 */ double result; result =3.1415926 * r * r * h; /* 计算圆柱体积 */ return result; /* 返回运算结果*/ } 分析函数的定义 函数类型 函数名 形参表 与函数类型一致