- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
8模块化程序设计
;8.1函数的基本概念;【说明:】
①C语言中没有提供乘方运算符,所以不能直接用乘方的形式计算。
②程序中的pow(x,y)是C语言提供的库函数,其功能是计算x的y次方。在使用此函数时,由于函数已由系统提供,用户不必考虑函数是如何编写的,而只需按照函数所需格式使用即可。但在使用数学函数pow之前,必须在程序文件的开始添加命令行“#includemath.h”。;(2)解法二:使用自编函数mypow,计算xy的值。
C源程序(文件名li8_1_2.c):
#includestdio.h
doublemypow(doublex,inty)
{ inti=0;
doublez=1.0;
for(i=1;i=y;i++)
z=z*x;
returnz;
};【例8-2】调用函数,实现在屏幕上输出若干个“*”的功能。
#includestdio.h
voidmyprint() //自编函数myprint,输出一行20个“*”
{
inti=0;
for(i=1;i=20;i++)
printf(*);
printf(\n);
}
voidmyprint_n(intn)//自编函数myprint_n,输出每行n个“*”
{
inti=0;
for(i=1;i=n;i++)
printf(*);
printf(\n);
};voidmain()
{
myprint();//调用一次输出一行固定个数的“*”
myprint_n(5);//调用一次输出一行5个“*”
myprint_n(10);//调用一次输出一行10个“*”
myprint();//调用一次输出一行固定个数的“*”
}
运行结果:
********************
*****
**********
********************;8.2函数的定义与声明;【例8-3】函数定义示例。编写求n!(n0)的函数。
C源程序(文件名li8_3.c):
longmyfac(intn)//定义名为myfac的函数
{
inti=0;
longy=1;
for(i=1;i=n;i++)
y=y*i;
returny; //以y中的值作为函数值。
};8.2.2函数的声明方法;8.3函数的参数与返回值;在函数定义时,圆括号里面的参数n就是形式参数。
voidmain()
{
myprint_n(5);//调用一次输出一行5个“*”
myprint_n(10);//调用一次输出一行10个“*”
}
当在主函数中调用该函数时,那么调用时圆括号里面的参数就是实际参数。如“myprint_n(5);”中的5,以及“myprint_n(10);”中的10就是实际参数。;(1)函数的返回值通过函数中的返回语句return将被调函数中的一个确定的值带回到主调函数中去。return语句的一般形式为:
return(表达式);
或
return表达式;
或
return;
例如:
returnx;
return(x);
return(x*2-1);
如果需???从被调函数带回一个函数值(供主调函数使用),被调函数中必须包含return语句。如果不需要从被调函数带回函数值可以不要return语句。一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。
return语句的作用:使程序控制从被调行返回到主调函数中,同时把返回值带回给主调函数;释放在函数执行过程中分配的所有内存空间。;(2)既然函数有返回值,这个值当然应属于某一个确定的类型,应当在定义函数时指定函数值的类型;凡不加类型说明的函数,一律自动按整型处理。
如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。对数值型数据,可以自动进行类型转换,即函数类型决定返回值的类型。
(3)不返回函数值的函数可以明确定义为“空类型”,类型说明符为“void”。这时系统就保证不让函数带回任何值。void类型在C语言中有两种用途:一是表示一个函数没有返回值,二是用来指明有关通用型的指针。
(4)如果函数没有定义为“void”类型,并且函数中没有return语句,则函数将带回不确定的值。;【例8-4】返回值示例。
#includestdio.h
intmax(intx,inty)//定义max函数,有两个参数
{
intz;//定义临时变量
z=xy?x:y;
returnz;//把z作为max函数的值带回main函数
}
intmain()
{
inta,b,c;
printf(plieaseinputaandb:\n);
sca
您可能关注的文档
- 高铁乘务安全管理与应急处置 第3版 课件 项目四任务2动车组火灾爆炸事故应急处置.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目四任务3高架线路及隧道应急疏散.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目五任务1动车组设备异常应急处置.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目五任务2动车组乘务组织异常应急处置.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目五任务3动车组列车治安应急处理.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目一任务1高速铁路客运安全管理概述.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目一任务2高速铁路旅客运输安全保障体系.pptx
- 高铁乘务安全管理与应急处置 第3版 课件 项目一任务3站车客运作业安全管理.pptx
- 程序设计基础(C语言)教程 课件 6数组.pptx
- 程序设计基础(C语言)教程 课件 9 构造型数据类型.pptx
- 中考语文总复习语文知识及应用专题5仿写修辞含句子理解市赛课公开课一等奖省课获奖课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第二课《藏猫猫》精品课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第三课《我向国旗敬个礼》精品课件.pptx
- 高中生物第四章生物的变异本章知识体系构建全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 整数指数幂市公开课一等奖省赛课微课金奖课件.pptx
- 一年级音乐上册第二单元你早全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级数学上册第二章实数27二次根式第四课时习题省公开课一等奖新课获奖课件.pptx
- 九年级物理全册11简单电路习题全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级语文下册第五单元19邹忌讽齐王纳谏省公开课一等奖新课获奖课件.pptx
- 2024年秋季新人教PEP版3年级上册英语全册教学课件 (2).pptx
最近下载
- 2024年山东理工职业学院单招职业技能考试试题及答案.docx
- 旅游消费者行为学.ppt VIP
- 人教版美术七年级下册第一单元第1课《辉煌成就》 课件.ppt
- 2024年济南工程职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 2024年新疆中考历史+道德与法治试卷真题(含答案解析).docx
- 第5课《认识情绪+管理情绪》第2框《成为情绪的主人》【中职专用】《心理健康与职业生涯》(高教版2023基础模块.pptx VIP
- 中外幼儿教育名著导读(第二版).pptx VIP
- 三年级班主任工作计划.docx VIP
- 智能财税实务.pptx VIP
- 机械制图 课件 6.3断面图.ppt
文档评论(0)