重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有些自定义函数可能会被频繁的调用,所以写在一个C文件里是不太方便的。应该把这些自定义的函数写在一个C文件里,同时在一个头文件.h文件里声明。主函数可以通过引用该头文件然后调用需要的自定义函数。
为乌鲁木齐等地区用户提供了全套网页设计制作服务,及乌鲁木齐网站建设行业解决方案。主营业务为成都网站制作、成都网站建设、乌鲁木齐网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
举例如下:
1. 在头文件(.h)里声明自定义函数,定义用户写的函数;
2. 在一个C语言文件里写下自定义函数的实现方式,可以写在主函数前,也可在主函数后(需在头文件前声明函数);
3. 在主函数中调用自定义函数,别忘了头文件的声明;
4. 最后编译所有的涉及到的C文件;
#include stdio.h
void number(int);
int main()
{
for(int i = 0;i10;i++)
{
number(i);
自定义函数是由用户按需要写的函数。这与库函数相对应的,库函数是由c系统提供的函数,已经定义好了如printf
、
scanf
、
getchar
、putchar、gets、puts、strcat等函数均属此类。
说白了,自定义函数是是自己写的,想实现什么功能就写什么,然后在用的时候和库函数(系统定义的)的一样调用就是了,相当于自己增加了一个自己的库函数。
有疑问问#include #include #include double EPS=10E-6; double sum(double a,double b) { return a+b; } double sub(double a,double b) { return a-b; } double mul(double a,double b) { return a*b; } double divv(double a,double b) { return a/b; } int rem(int a , int b) { return a%b; } int addnumber(int c,int d) { int sum=0; for(int i=c;i=d;i++) { sum+=i; } return sum; } int factor(int n) { int f=1; for(int i=1;i=n;i++) { f*=i; } return f; } void displaymenu() { printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n"); printf("*############高级计算器############* \n"); printf("************************************ \n"); printf("* ①加法运算 * \n"); printf("* ②减法运算 * \n"); printf("* ③乘法运算 * \n"); printf("* ④除法运算 * \n"); printf("* ⑤取余运算 * \n"); printf("* ⑥累加运算 * \n"); printf("* ⑦阶乘运算 * \n"); printf("* ⊙结束运算 * \n"); printf("************************************ \n"); printf("************************************ \n"); } void main() { int c,d; /*用于做四则运算的两个数值的说明*/ double a,b; /*用来做累加函数的两个参数值的说明*/ int intresult; double result; /*用于保存表单运算中函数的返回值*/ int choice; displaymenu();/*保存用户选择项目菜单项*/ while(1) { printf("请选择你所进行运算项目的符号:"); scanf("%d",choice); switch(choice) { case 1: /*加法计算*/ printf("请输入两个数字:"); scanf("%lf%lf",a,b); result=sum(a,b); printf("%lf+%lf的计算结果是:%lf\n",a,b,result); break; case 2: /*减法计算*/ printf("请输入两个数字:"); scanf("%lf%lf",a,b); result=sub(a,b); printf("%lf-%lf的计算结果是:%lf\n",a,b,result); break; case 3: /*乘法计算*/ printf("请输入两个数字:"); scanf("%lf%lf",a,b); result=mul(a,b); printf("%lf*%lf的计算结果是:%lf\n",a,b,result); break; case 4: /*除法计算*/ { scanf("%lf%lf",a,b); if(b-0.0EPS) printf("数字错误\n"); else { printf("请输入两个数字:"); result=divv(a,b); printf("%lf/%lf的计算结果是:%lf\n",a,b,result); } break; } case 5: /*取余计算*/ printf("请输入两个数字:"); scanf("%d%d",c,d); result=rem(c,d); printf("%d % %d的计算结果是:%d\n",c,d,result); break; case 6: /*累加计算*/ printf("请输入两个整数"); scanf("%d%d",c,d); intresult=addnumber(c,d); printf("%d-%d的累加计算结果是:%d\n",c,d,intresult); break; case 7: //阶乘计算 { printf("请输入一个大于0小于10的整数字"); scanf("%d",c); if(c10) { printf("请输入一个大于0小于10的整数字,数据错误。\n"); break; } intresult=factor(c); printf("%d的阶乘计算结果是:%d\n",c,intresult); break; } case 0: printf("谢谢使用。欢迎下次再用。\n"); return ; default: printf("选择错误,程序结束\n"); break; } } }