第53课自定义函数
·函数定义
return_type function_name([datatype1 arg1],[datatype arg2],[...])
{
//函数体
}
·函数三要素
·返回值类型
·函数名
·参数列表
·自定义函数的完整写法
#include <stdio.h>
//函数原型
int sum(int,int);
int main()
{
...
}
//函数定义
int sum(int num1, int num2)
{
//函数实现的代码
}
最重要的是函数的三要素
不要先想如何去完成什么功能。
返回值+函数名+参数
九层之台始于累土!!!函数就是不断地复用,越往后越熟练。
一、典型自定义函数
//代码******************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//函数原型
void calcCircle(); //计算圆面积
void calcRectangle(); //计算矩形面积
/*
计算圆的面积(函数实现)
*/
void calcCircle()
{
double radius;
double s;
printf("请输入圆的半径:");
scanf("%lf",&radius);
s = 3.14 * pow(radius, 2);
printf("半径为%.2lf的圆面积为:%.2lf\n", radius, s);
}
void calcRectangle()
{
double width;
double height;
double s;
printf("请输入矩形的长:");
scanf("%lf",&width);
printf("请输入矩形的宽:");
scanf("%lf",&height);
s = width*height;
printf("长为%.2lf,宽为%.2lf的矩形面积为:%.2lf\n", width, height,s);
}
int main()
{
/*
三种图形的面积计算公式如下:
圆:s = PI*r*r;
矩形: s = width * height;
三角型: s = width * height /2;
使用函数分别实现三种图形的面积计算,打印计算结果
*/
//书写函数的步骤:完成函数的三要素
//误区:不要一开始就去考虑如何完成某个功能
calcCircle(); //调用计算圆面积的函数
calcRectangle(); //调用计算矩形面积的函数
//需要返回值么?
//函数名是什么?
//需要给这个函数参数么?
}
//代码******************************
二、有返回值的函数
·计算1-100偶数和
//代码********************************************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//函数原型
int calcSum(); //求1-100之间的偶数和,返回值为int型(不是void了)
//函数定义
int calcSum()
{
//1-100之间的偶数和
int sum = 0;
int i = 1;
for(i = 1; i <= 100; i++)
{
if(i % 2 ==0) //判断是否为偶数
sum += i;
}
//将计算好的结果返回
return sum;
}
//调用
//如果函数有返回值,调用时,记得使用对应类型的变量来接受!
int main()
{
int sum = calcSum();
printf("1-100之间的偶数和为:%d\n",sum);
}
//代码********************************************************
三、有返回值的函数
//代码********************************************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
书写函数实现数组元素的查找,要求返回找到的元素下标
*/
//1、返回值:元素下表
//2、函数名
//3、函数参数
//函数原型
//函数定义
//调用函数
int search();
int search()
{
int nums[] = {34,56,7,3,2};
int i ;
//要查找的数字,所查找数字的下标,没找到index为-1
int searchNum, searchIndex = -1;
printf("请输入要查找的整型数字:");
scanf("%d", &searchNum);
for(i = 0; i < 5; i++)
{
if(searchNum == nums[i]) //*(nums + i )
{
searchIndex = i; //记录下查找到的下标
break;
}
}
return searchIndex;
}
int main()
{
int a;
a = search();
printf("找到的元素的下标是:%d\n",a);
return 0;
}
四、总结:
void function(); //函数原型
void function() //函数定义
function(); //调用函数
先思考:
返回值
函数名
函数参数
C语言第53课:自定义函数
最新推荐文章于 2024-08-30 18:16:20 发布