函数的概述及例题(C语言)

一,什么是函数?
函数→function→功能,函数就是能完成一定功能的程序段。
·C语言规定:一个C程序应该由一个称之为main( )的主函数和若干个其他函数组成。
·从main开始执行,调用其他函数后回到main,然后在main结束程序的运行。
·各个子函数定义时互相独立。
·函数可以互相调用,但是不能调用main。

二,函数的功能
·主函数就像一个控制面板,子函数就像控制面板上的按钮。
·每个子函数可以实现一定的功能。
·子函数可以减少重复编写程序段。

三,函数的好处
· 程序结构清晰,可读性好。
· 减少重复编码的工作量。
· 可多人共同编制一个大程序,缩短程序设计周期,提高程序设计和调试的效率。

四,函数的概述
· 把复杂的事情分解成多个问题的过程,就叫模块。每个模块是靠程序来解决问题,此模块的程序称为函数。
· 函数思想:把事情分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。

五,例题
例1:计算1+1/2!+1/3!+1/4!+…+1/m!
在这里插入图片描述
(1)数据阶层
long int fac (int m)
{ int i;
long int k=1;
for(i=1; i<=m; i++)
k=k*i;
return k;
}
(2)每一项之和,调用了fac( )函数
float sum (int n)
{ int j;
float t=0;
for(j=1; j<=n; j++)
t=t+(float)1/fac(j);
return t;
}
(3) main( )主函数, 调用了sum( )函数
main( )
{ float s;
int w;
scanf("%d",&w);
s=sum(w);
printf(“s=%f\n",s);
}

运行结果:
2
s=1.500000

例2:输入年月日,计算出该日为该年的第几天。
在这里插入图片描述
(1) 判断闰年。
int leap (int year)
{ int lp;
lp=(year%40&&year%100!=0
||year%400
0)?1:0;
return lp;
}
(2) 求某月的天数。
int month_days (int year,int month)
{ int ds,d;
switch(month)
{ case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: d=31;break;
case 2: d=leap(year)?29:28;break;
default:d=30; }
return d;
}
(3) 求天数和。
int days (int year,int month,int day)
{ int i,ds=0;
for (i=1;i<month;i++)
ds=ds+month_days(year,i);
ds=ds+day;
return ds;
}
(4) 在主函数中分别调用三个函数。
main()
{ int year,month,day,t_day;
scanf("%d-%d-%d",&year,&month,&day);
t_day=days(year,month,day);
printf("%d-%d-%d is %dth day of the year!\n",year, month,day,t_day);
}

运行结果:
2019-2-12
2019-2-12 is 43th day of the year!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值