null带参带返回值函数带参带返回值函数复习
自定义函数的分类
自定义函数的声明、调用、编写
带参带返回值函数的应用
课堂练习
课堂小结
本节对应教材:P198-216回顾与提问回顾与提问回顾计算器案例的主要内容
用无参无返回值函数分别完成了下述功能:
算术运算:加、减、乘--顺序结构
算术运算:除、求余--分支结构(考虑除数为0)
循环用法:累加、阶乘--循环结构
菜单显示:
主函数:switch语句的应用、用死循环控制程序反复执行
本课内容本课内容带参数有返回值函数函数的类型函数的类型函数定义基本格式:
返回值类型 函数名(参数类型 参数名)
注:也可以没有参数或有两个(以上)的参数,两个以上的参数用逗号分隔,如:
返回值类型 函数名(参数类型 参数名,参数类型 参数名,参数类型 参数名)----这是有三个参数的函数
返回值类型有:void、int、double、float、char及其他C语言中可以使用的类型。
如果是void
示该函数无返回值。其他则表示有返回值。参数类型即是数据类型、参数名即是变量名,只是叫法不同而已。函数的类型函数的类型 由返回值和参数是否有可构成以下四类函数:
实际编程中,各种类型都可能遇到,但最常见的是有返回值带参数的函数无返回值无参数函数的编写思路无返回值无参数函数的编写思路与在main函数中编程思路完全相同。
例如:计算器中的除法函数
void divide( )
{
//第一步:定义变量(用于输入运算数和保存结果)
//第二步:从键盘上输入两个运算数
//第三步:计算两个数的除法(要用if语句考虑除数为0的特殊情况)
//第四步:输出计算结果
}无返回值无参数函数的调用无返回值无参数函数的调用假设在main函数中调用。在其他函数中调用也是一样的。
main()
{
divide( ); //函数调用语句(直接调用)
}有返回值有参数函数的编写思路有返回值有参数函数的编写思路与无返回值无参数函数略有不同。
返回值的数据类型 函数名(数据类型 参数名1 , 数据类型 参数名2)
{
//函数的功能代码部分----略有不同
//返回结果值—--最大的不同之处
}有返回值有参数函数的编写有返回值有参数函数的编写例1:如果我们想定义一个函数,要求该函数能够实现计算圆的面积,并将计算结果返回,则可将函数定义如下:
double areaOfCircle( double radius )
//radius表示半径
{
//根据radius计算圆的面积
//返回圆的面积
} 有返回值有参数函数的编写有返回值有参数函数的编写例1:如果我们想定义一个函数,要求该函数能够实现计算圆的面积,并将计算结果返回,则可将函数定义如下:
double areaOfCircle( double radius )
//radius表示半径
{
double area; //定义面积变量
//根据radius计算圆的面积
area = 3.14 * radius * radius ;
//返回圆的面积
return area;
} 有返回值有参数函数的编写有返回值有参数函数的编写编写中注意的问题:
(1)不允许再次定义与参数名相同的变量
(2)参数的值是不需要在函数中输入的(因为是在调用的时候传递过来的)
(3)在函数中一般不输出结果
(4)函数要结束的位置必须用 return语句返回正确的值。
return 语句的格式为:
return 表达式(或常量值);
该表达式的值 应该与 返回值的类型一致,否则程序就存在缺陷。有返回值有参数函数的编写有返回值有参数函数的编写练习:根据三角形的三条边来计算其面积,并将面积返回。计算
为: ,其中s=(a+b+c)/2。
函数定义如下:
double areaOfTriangle( double a, double b, double c)
//a,b,c分别表示三边
{
//根据三边计算三角形面积
//返回三角形面积
} 有返回值有参数函数的调用有返回值有参数函数的调用假设在main函数中进行调用:思路如下
(1)定义与被调用函数参数个数相同,且类型对应相同的变量
(2)定义与被调用函数返回值类型一致的一个变量,用以保存调用后的结果
(3)为每个实际参数赋值
(4)调用函数,并保存函数返回的结果
(5)输出结果(或用结果进行其他运算)
有返回值有参数函数的调用有返回值有参数函数的调用假设在main函数中进行调用areaOfCircle :
main( )
{
double r; double result; //定义变量
scanf( “%lf” , &r); //输入实际参数的值
result = areaOfCircle( r ); //调用函数
printf(“面积为:%lf\n” , result );//输出结果
}
有返回值有参数函数的调用有返回值有参数函数的调用 result = areaOfCircle( r ); //调用函数
main( )
{
//…调用前的代码
result = areaOfCircle( r ); //调用时
//…调用后的代码
}double areaOfCircle( double radius)
{
//…函数的主要功能代码
return area; //使用return 语句返回结果值
}课堂练习课堂练习用带参数有返回值函数完成下列程序:
1、编写一个程序,完成三角形面积的计算。
2、编写程序判断两个字符是否一致,并返回判断结果。一致请返回1,不一致返回0.函数定义如下:
int isEqual( char ch1, char ch2 ) //ch1,ch2表示两个字符,返回值用整型
{
//比较两个字符是否一样,如果一样结果记为整数1,否则结果记为整数0
//返回结果
} 更进一步更进一步试着自己找一个例子,看能不能写成带参数有返回值的函数来解决,并编程实现之。本次课小结本次课小结
函数类型
带参数有返回值函数的编写、调用作业作业1、用带参数带返回值的函数实现功能:
从键盘上输入一个整数n,计算n !.
2、调用上面的程序,使之运行正确。并掌握调试过程。作业作业※ 3、将计算器项目中的加、减、乘、除、求余、累加、阶乘等运算均改写成带参数有返回值的函数,一周之内提交整个项目的源代码。提交形式:
(1)只需要提交计算器项目的.c源文件即可。
(2)源文件命名格式为:学号姓名计算器项目.c,例如:10000120105张三丰计算器项目.c