资源描述:
《函数与程序结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章函数函数的基本使用函数的嵌套调用函数的递归调用变量存储特征宏及条件编译函数的概念k!n!+m!f=1;for(i=1;i<=n;i++)f=f*i;scanf("%d%d%d",&m,&n,&k);fk=1;for(i=1;i<=k;i++)fk=fk*i;fm=1;for(i=1;i<=m;i++)fm=fm*i;fn=1;for(i=1;i<=n;i++)fn=fn*i;printf("%f",fk/(fn+fkm));反复使用的代码段#includevoidmain(){inti,k,m,n;floatfk,fm,fn;scanf("%d%d%d",
2、&m,&n,&k);fk=1;for(i=1;i<=k;i++)fk=fk*i;fm=1;for(i=1;i<=m;i++)fm=fm*i;fn=1;for(i=1;i<=n;i++)fn=fn*i;printf("%f",fm/(fn+fk));}#includevoidmain(){intk,m,n;floatfk,fm,fn;floatfact(intn);scanf("%d%d%d",&m,&n,&k);fm=fact(m);fn=fact(n);fk=fact(k);printf("%f",fm/(fn+fk));}floatfact(intn){
3、inti;floatf=1;for(i=1;i<=n;i++)f=f*i;returnf;}结构化程序设计为了解决复杂问题的编程,将分析复杂问题:分解为若干个子问题,每个子问题各自实现-用函数实现整合成解决整个问题的大程序--将函数组织起来优点程序结构清晰,逻辑性强小程序规模小,容易编写和调试,保证程序设计的正确性、可读性、可维护性结构化程序的构成main()函数1函数2……函数n函数11函数12函数n1………….模块化编程学生成绩档案管理软件┌─────┬─┴──┬────┐成绩输入成绩修改成绩统计成绩打印#includevoidmain(){intin;prin
4、tf("1.INPUT2.EDIT3.PROCESS4.PRINT5.EXIT");while(1){printf("pleaseinput1-5:");scanf("%d",&in);if(in==5)break;switch(in){case1:input();break;case2:edit();break;case3:process();break;case4:print();break;}}}voidinput()/*.成绩输入*/{...............}voidedit()/*成绩修改*/{..............}4个函数的定义voidprocess(
5、)/*成绩统计*/{...............}voidprint()/*成绩打印*/{...............}#includevoidmain(){intk,m,n;floatfk,fm,fn;floatfact(intn);scanf("%d%d%d",&m,&n,&k);fm=fact(m);fn=fact(n);fk=fact(k);printf("%f",fm/(fn+fk));}floatfact(intn){inti;floatf=1;for(i=1;i<=n;i++)f=f*i;returnf;}mainscanfprintffact
6、库函数自定义函数库函数调用定义main主调函数fact被调用函数intnreturnff函数的概念函数的调用voidmain(){intm,n;floatfk,fm,fn;floatfact(intn);fm=fact(6);……}调用定义floatfact(intn){inti;floatf=1;for(i=1;i<=n;i++)f=f*i;returnf;}思考:从函数调用的角度,函数的复用对可执行文件大小的影响?函数的参数传递返回值类型函数名(形式参数表){……}voidmain(){intm,n;floatfk,fm,fn;floatfact(intn);fm=fact(6)
7、;……}floatfact(intn){inti;floatf=1;for(i=1;i<=n;i++)f=f*i;returnf;}调用定义函数名(实际参数表)参数传递返回值类型函数名(形式参数表){……}voidmain(){intm,n;floatfk,fm,fn;floatfact(intn);fm=fact(6);……}floatfact(intn){inti;floatf=1;for(i=1;i<=n;i++)f=f*i;returnf;}函数的