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 计算圆柱体积 5.1.1 程序解析 5.1.2 函数的定义 5.1.3 函数的调用
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源程序 #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 =%.3fn",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:3.0 10 Volume 282.743 休定义求圆柱体积的函数*/ double cylinder(double r,double h) { 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
5.1.2函数的定义 函数是指完成一个特定工作的独立程序模块。 口库函数:由C语言系统提供定义 如scanf()、printf()等函数 口自定义函数:需要用户自己定义 如计算圆柱体体积函数cylinder() main0也是一个函数,c程序由一个main0或多个 函数构成。 程序中一旦调用了某个函数,该函数就会完成一些 特定的工作,然后返回到调用它的地方。 函数经过运算,得到一个明确的运算结果,并需要回送 该结果。例如,函数cylinder0返回圆柱的体积。 口函数完成一系列操作步骤,不需要回送任何运算结果
5.1.2 函数的定义 ◼ 函数是指完成一个特定工作的独立程序模块。 库函数:由C语言系统提供定义 如scanf()、printf()等函数 自定义函数:需要用户自己定义 如计算圆柱体体积函数cylinder() ◼ main()也是一个函数,C程序由一个main()或多个 函数构成。 ◼ 程序中一旦调用了某个函数,该函数就会完成一些 特定的工作,然后返回到调用它的地方。 函数经过运算,得到一个明确的运算结果,并需要回送 该结果。例如,函数cylinder()返回圆柱的体积。 函数完成一系列操作步骤,不需要回送任何运算结果
函数的定义 函数类型 函数名 形参表 double cylinder(double r,double h) *函数首部* *函数体,写在一对大括号内*1 double result; result=3.1415926*r*r*h; 体计算圆柱体积*/ return result; *返回运算结果* 与函数类型一致
double cylinder (double r, double h) /* 函数首部 */ { /* 函数体,写在一对大括号内 */ double result; result =3.1415926 * r * r * h; /* 计算圆柱体积 */ return result; /* 返回运算结果*/ } 函数的定义 函数类型 函数名 形参表 与函数类型一致
double cylinder(double r,double h) double result; 1.返回运算结 result=3.1415926*r*r*h; return result; 果的函数定义 函数返回值的类型 函数类型函数名(形参表) *函数首部* *函数体*/ 函数实现过程 return表达式; 只能返回一个值 把函数运算的结果回送给主函数
1.返回运算结 果的函数定义 函数类型 函数名(形参表) /* 函数首部 */ { /* 函数体 */ 函数实现过程 return 表达式; } 把函数运算的结果回送给主函数 只能返回一个值 函数返回值的类型 double cylinder (double r, double h) { double result; result = 3.1415926 * r * r * h; return result; }
2.不返回运算结 表示不返回结果 果的函数定义 void函数名(参数表) 函数首部*1 函数体*/ 函数实现过程 return; /*可以省略return*/ 这类函数通常用于屏幕输出等 不能省略 否则 函数类型被默认定义为int
2.不返回运算结 果的函数定义 void 函数名(参数表) /* 函数首部 */ { /* 函数体 */ 函数实现过程 return; /* 可以省略return */ } 这类函数通常用于屏幕输出等 表示不返回结果 不能省略 否则 函数类型被默认定义为int