- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语言程序设计
项目六
模块化设计
C语言程序设计
项目八
项目六
引入:
在函数调用过程中,会出现一个子函数调用另外一个子函数,或者自己调用自己的函数类型,本次课程我们就来研究这种情况
04
项目六任务四
C语言程序设计
(2)行进中的分叉路口
任务目标
已知驾驶员的工资和工作年限相关,第一年的工资为5000,以后每年增长10%,求第12年的工资。
知识储备
C语言程序设计
(2)行进中的分叉路口
(1)树生长程中的分叉
一、函数的嵌套
在调用一个函数的过程中,又调用另一个函数。
下面是函数嵌套调用的大致模型:
#includestdio.h
voidf1();
voidf2(intn);
voidmain()
{f1();}
f1()
{f2(5);}
voidf2(intn)
{inti;
for(inti;i=n;i++)
rintf(“*”);
}
知识储备
C语言程序设计
(2)行进中的分叉路口
(1)树生长程中的分叉
二、函数的递归
在调用一个函数的过程中,又出现直接或间接地调用该函数本身
3.示例2#includestdio.h
voidf(intn)
{
if(n==0)return;
printf(%d\n,n);
f(--n);//直接递归
}
voidmain()
{
intnum=5;
f(num);
}
项目六任务四
C语言程序设计
(2)行进中的分叉路口
(1)树生长程中的分叉
典型案例1
某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则本年一共领取了多少工资?(备注一个函数求和,一个函数求每个月的工资)
项目六任务四
C语言程序设计
(1)树生长程中的分叉
典型案例1
#includestdio.h
doublesalaryincrease(intmonth)
{
doublesalary=3000;
inti;
for(i=2;i=month;i++)
salary=salary*1.1;
returnsalary;
}
doublesum_salary(intmonth)
{
doublesum=0;
for(i=1;i=12;i++)
sum=sum+salaryincrease(i);
某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则本年一共领取了多少工资?(备注一个函数求和,一个函数求每个月的工资)
returnsum;
}
voidmain()
{
intmonth=12;
printf(本年一共领取了%.2f工资,sum_salary(12));
}
项目六任务四
C语言程序设计
(2)行进中的分叉路口
(1)树生长程中的分叉
典型案例2
有5名驾驶员坐在一起,问第5个人的年龄,他说比第4个人大2岁,问第4个人的年龄,他说比第3个人大2岁,问第3个人的年龄,他说比第2个人大2岁,问第2个人的年龄,他说比第1个人大3岁,第一个人的年龄是25岁,问第5个人多少岁。
if(n==1)age2=25;
elseage2=age1(n-1)+1;
项目六任务四
C语言程序设计
(2)行进中的分叉路口
(1)树生长程中的分叉
典型案例2
有5名驾驶员坐在一起,问第5个人的年龄,他说比第4个人大3岁,问第4个人的年龄,他说比第3个人大3岁,问第3个人的年龄,他说比第2个人大3岁,问第2个人的年龄,他说比第1个人大3岁,第一个人的年龄是25岁,问第5个人多少岁。
#includestdio.h
intage(intn){
if(n==1)
return25;
else
returnage(n-1)+2;
}
main()
{
intn=5;
printf(第5个人是%d岁,age(5));
}
项目六任务四
C语言程序设计
(2)行进中的分叉路口
(1)树生长程中的分叉
典型案例3
求10!用递归方法实现。
1(n==1)
F(n)=f(n-1)*n(n2
您可能关注的文档
- C语言项目化教程(基于智能制造软件) 项目二 车辆行驶状态显示(输入、输出) 综合练习.docx
- C语言项目化教程(基于智能制造软件) 项目二 车辆行驶状态显示(输入、输出)任务1作业.docx
- C语言项目化教程(基于智能制造软件) 项目九任务二 习题题目 汽车文件数据块的读与写.docx
- C语言项目化教程(基于智能制造软件) 课件 项目九任务一题目 汽车文本数据的读与写.docx
- C语言项目化教程(基于智能制造软件) 课件 项目八任务1 一辆卡车的数据显示 结构体变量 典型案例 .pptx
- C语言项目化教程(基于智能制造软件) 课件 项目八任务1 知识储备和任务目标 .pptx
- C语言项目化教程(基于智能制造软件) 课件 项目八任务2 多个汽车的数据显示(结构体数组) .pptx
- C语言项目化教程(基于智能制造软件) 课件 项目八任务2 多个汽车的数据显示(结构体数组) 典型案例.pptx
- C语言项目化教程(基于智能制造软件) 课件 项目八任务2 知识储备和任务目标.pptx
- C语言项目化教程(基于智能制造软件) 课件 项目八任务3 多个汽车的数据显示(结构体指针) 典型案例.pptx
文档评论(0)