- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
;第7章应用函数设计程序实现模块化设计;7.1函数的引入;C是模块化程序设计语言;1、一个C程序可以由若干个源文件组成。;5、函数的类型包括:可以从以下三个角度划分。;使用库函数应注意:
1、函数功能
2、函数参数的数目和顺序,及各参数意义和类型
3、函数返回值意义和类型
4、需要使用的包含文件;7.2函数的定义与调用;两个程序等价:;2、有参函数的定义;说明:函数定义的类型为函数返回值的类型;如果不
定义,系统缺省为整型。;【例7.1】定义一个求任意两个整数中最大值的函数,由main()函数调用。;二、函数的参数和返回值;形参x,y在被调函数sum(x,y)中定义,无值,被主调函数调用时:c=sum(a,b);将实参a,b的值传给x,y;“传值”与“传址”的区别;2、函数的返回值;例:c=sum(a,b);将函数sum的返回值赋给变量c。;如果函数中没有返回语句return,函数调用结束时,不是不返回值,而是返回个不确定的值。;floatf(x,y)
floatx,y;
{floatz;
z=x+y*y;
if(!y)
return(0.0);
return(cos(z));
};main()
{inta;
voiddisp();
printf(“Enteraninteger:\n”);
scanf(“%d”,a);
disp(a);
};C语言规定:函数返回值类型是由:
A)return语句中的表达式类型决定
B)调用该函数时的主调函数类型决定
C)调用该函数时系统临时决定
D)定义该函数时所指定的函数类型决定;函数的调用;当i的原值为2时,对函数f(i,++i)
从左向右,为f(2,3)从右向左,为f(3,3)
若i=3,printf(“%d,%d\n”,i,++i)的结果为:4,4;【例7.2】读下列程序写出结果。;五、对被调函数的说明;2、有关函数的类型;3、C允许在以下情况下不作说明;?不定义类型,缺省:int;一、函数嵌套调用;函数的嵌套调用;voidbeijing();
voidshanghai();
main(){printf(“I‘minmain.\n”);beijing();
printf(“I’mfinallybackinmain().\n”);}
voidbeijing()
{printf(“I‘minbeijing.\n”);shanghai();
printf(“HereI’mbackinbeijing.\n”);}
voidshanghai()
{printf(“NowI’minshanghai.\n”);};【例】写两个函数,分别求两个整数的最大公
约数和最小公倍数,用主函数调用这两
个函数,并输出结果。;二、函数的递归调用;递归:函数表示为自变???与自身的某种组合。;2、使用递归调用解决问题的方法;fac(intn)
{if(n==0)
return(1);
else
return(n*fac(n-1));
};3、递归调用的过程(两个阶段);┌──┐
│n4=4│
└──┘;例:反向输出给定的整数。;;intturn(n)
intn;
{if(n=10){printf(“%d”,n%10);
turn(n/10);
}
elseprintf(“%d”,n);
};7.4函数应用实例;【例7.6】应用函数求5!+16!+27!;【例7.7】定义求和的通用函数模块。求s=(1+2+3…+10)/(1+2+3…+100)X(1+2+3…+50)。;【例7.8】求学生的平均成绩;1、数组元素作函数的参数;#defineN5
main()
{inti,j,a[N];
for(i=0;iN;i++)
{printf(Enter%2d:,i+1);
scanf(%d,a[i]);
}
sort(a,N);
for(i=0;iN;i++)
printf(%d,a[i]);
};main函数;【例7.9】多维数组做函数的参数:求3x3矩阵转置。;【例7.10】Hanoi(汉诺)塔问题。;7.5局部变量与全局变量;f()
{intx=1;
{intx=2;
您可能关注的文档
- C 语言程序设计-能力教程 第五版 -1765263487166.pptx
- 2025-12-09+铁路+执行组电路.pptx
- 2025-12-09+系统+TYJL-TR9型容错计算机联锁系统总体框图.pptx
- 2025-12-09+信号+联锁电路.pptx
- 2025-12-09+营养+人体能量消耗.pptx
- 6502 电气集中组合-铁道信号自动控制课程团队-1765263836728.pptx
- 9610 出口通关-义乌工商职业技术学院 朱简-1765263823207.pptx
- A 级景区 数据查询-1765263527061.pptx
- A 级景区空间数据分析-1765263777441.pptx
- Adobe Illustrator-历史文化传承情景历史文化动画电影项目项目提案-1765264004435.pptx
原创力文档


文档评论(0)