chap5函数 51计算圆柱体积 52数字金字塔 53复数运算
Chap 5 函数 5.1 计算圆柱体积 5.2 数字金字塔 5.3 复数运算
本章要点 ■函数的作用?如何确定函数功能? 怎样定义函数?如何调用函数?定义函数与声 明函数有何区别? ■什么是函数的参数?怎样确定函数的参数? ■在函数调用时,参数是如何传递数据的? ■变量与函数有什么关系?如何使用局部变量和 全局变量? ■什么是静态变量?
本章要点 ◼ 函数的作用?如何确定函数功能? ◼ 怎样定义函数?如何调用函数?定义函数与声 明函数有何区别? ◼ 什么是函数的参数?怎样确定函数的参数? ◼ 在函数调用时,参数是如何传递数据的? ◼ 变量与函数有什么关系?如何使用局部变量和 全局变量? ◼ 什么是静态变量?
51计算圆柱体积 ■511程序解析 512函数的定义 513函数的调用 ■5.14函数程序设计
5.1 计算圆柱体积 ◼ 5.1.1 程序解析 ◼ 5.1.2 函数的定义 ◼ 5.1.3 函数的调用 ◼ 5.1.4 函数程序设计
51.1程序解析一计算圆柱体积 例5-1输入圆柱体的高和半径,求圆柱体积, Vo|ume=T*r2h。 要求定义和调用函数 cylinder(rh)计算圆 柱体的体积
5.1.1 程序解析-计算圆柱体积 例5-1 输入圆柱体的高和半径,求圆柱体积, volume=π*r2 *h。 要求定义和调用函数cylinder (r, h )计算圆 柱体的体积
/计算圆柱体积* 例5-1源程序 include int main( void) double height, radius, volume double cylinder( double r, double h);/函数声明 printf (" enter radius and height: scanf(%lf%If", &radius, &height); /调用函数,返回值赋给 volume volume cylinder (radius, height ) printf Volume =%.3fIn", volume) return 0
/* 计算圆柱体积 */ 例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:3010 Volume 282743 定义求圆柱体积的函数* double cylinder(double r, double h) double result e result=31415926*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
include 例 Enter radius and height: 3.0 10 int main( void) Vo|ume=282743 double height, radius, volume double cylinder( double r, double h);/函数声明 printf ("Enter radius and height: scanf(%lf%If ,&radius, &height) vo|ume= cylinder(radius, height);问题: prn("oume=%3m", volume)}函数是如何运行的? return o double cylinder(double r, double h) double result. result =3, 1415926*r*r* h: return result
#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 问题: 函数是如何运行的?
512函数的定义 函数是指完成一个特定工作的独立程序模块 口库函数:由C语言系统提供定义 如 scanf()、 printf(等函数 口自定义函数:需要用户自己定义 如计算圆柱体体积函数 cylinder() man(也是一个函数,C程序由一个main0或多个 函数构成。 ■程序中一旦调用了某个函数,该函数就会完成特定 的计算,然后返回到调用它的地方 口函数经过运算,得到一个明确的运算结果,并需要回送 该结果。例如,函数 cylinder(返回圆柱的体积
5.1.2 函数的定义 ◼ 函数是指完成一个特定工作的独立程序模块。 库函数:由C语言系统提供定义 如scanf()、printf()等函数 自定义函数:需要用户自己定义 如计算圆柱体体积函数cylinder() ◼ main()也是一个函数,C程序由一个main()或多个 函数构成。 ◼ 程序中一旦调用了某个函数,该函数就会完成特定 的计算,然后返回到调用它的地方。 函数经过运算,得到一个明确的运算结果,并需要回送 该结果。例如,函数cylinder()返回圆柱的体积
double cylinder(double r, double h) i double result resu|t=3.1415926*r*r*h: 512函数定义 return result. 函数返回值的类型 没有分号 函数类型函数名(形参表)P函数首部 函数体* 函数实现过程 return表达式; 只能返回一个值 把函数运算的结果回送给主函数
5.1.2 函数定义 函数类型 函数名(形参表) /* 函数首部 */ { /* 函数体 */ 函数实现过程 return 表达式; } 把函数运算的结果回送给主函数 只能返回一个值 函数返回值的类型 没有分号 double cylinder (double r, double h) { double result; result = 3.1415926 * r * r * h; return result; }
分析函数的定义 函数类型函数名形参表 double cylinder( double r, double h)函数首部* /函数体,写在一对大括号内* double result. result=31415926*r*r*h;/计算圆柱体积* return result: 返回运算结果 与函数类型一致
double cylinder (double r, double h) /* 函数首部 */ { /* 函数体,写在一对大括号内 */ double result; result =3.1415926 * r * r * h; /* 计算圆柱体积 */ return result; /* 返回运算结果*/ } 分析函数的定义 函数类型 函数名 形参表 与函数类型一致