- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形参实参以及调用方法
第8章 函数 函数的引入 函数:函数是完成某些特定功能的代码块。 使用函数的优点: 1)实现模块化设计:将一个大任务分解成一个个的小任务,然后每个任务分别用函数实现。 2)实现“编写一次,多次调用”,避免在不同的程序中重复编写相同的函数。 3)便于程序调试和维护,因为每个函数之间是相互独立的。 函数的分类:库函数和用户自定义函数 8.1 函数的定义 例8. 1编写函数max:求两个整数x和y中的较大数。 int max (int x, int y) /*函数头*/ { int z=x; /*函数体{……}*/ if (xy) z=y; return z; } main() { int a, b, d; printf(input a and b:); scanf{%d %d, a, b}; d=max(a, b); /*函数调用*/ printf(max is:%d, d); } 例8.2:设某程序中需多次用到打印表头(如下所示)的功能,该功能用函数实现: void line( ) { printf(\n ********************); printf(\n* score list *); printf(\n ********************); } 本例中,函数的类型: void,函数名为line,函数无参数。 该函数无返回值,所以函数类型为void型。 函数定义的一般形式如下: 函数类型 函数名(类型名 形式参数1,类型名 形式参数2,…) { 说明部分 语句部分 } 1.函数名:是该函数的唯一标识符,一般函数的命名最好做到“见名知义”。 2.函数类型:函数的返回值的类型。 当函数无返回值时,规定其类型为: void。 当函数返回值为 int 时,函数类型可以省略。 3. 形式参数:形参是函数被调用时用于接收实参值的变量。 根据实际需要可有可无。没有形参时,圆括号也不可省;多个参数之间应用逗号分隔。参数包括参数名和参数类型。 形参的类型说明可有如下两种格式: int max(int a,int b) /*形参的类型在形参表中直接说明*/ { return (ab?a:b);} 或 int max(a,b) int a,b; /*形参的类型在函数体前、函数名后说明*/ { return(ab?a:b); } 前者为标准格式,后者为传统格式,通常用前者。 4.函数体:即函数功能的具体实现。 它包括两部分: 说明部分和执行部分,其中说明部分包括函数中所用的局部变量等的说明、函数中要调用的函数的说明。 注意: 函数不能嵌套定义,即函数内不能再定义函数,这样可以保证函数间是相互独立的,以实现模块化程序设计。 5.空函数: 函数类型 函数名( ) { } 调用此函数时,什么也不做。只是表明这里要 调用一个函数,而现在这个函数的功能还没实现。 空函数在程 序设计中常常用到的: 1)预留函数,便于以后扩充程序功能。 2)便于程序的模块化设计和调试:程序设计中往往根据需要确定若干模块,分别由一些函数来实现。一个大系统,需要编写很多用户函数,而这些函数不可能 也没有必要同步完成,通常足从一些基本模块开始,编写一个调试一个,对于没有编写 的函数就需要用空函数代替。从而也有利于集体创作。 空函数举例 例8.3 编写小学生算术练习系统的主程序: 显示主菜单,用户选择,根据选择执行加、减、乘、除、退出5项功能之一。 重复上述步骤,直至选择退出。 其中主程序调用的函数有:显示主菜单函数list_menu(),加、减、乘、除、退出函数分别是add(), sub(), mul(),divide(), end(). 以上函数除list_menu()外此时均为空函数。 程序:l8_1_4.c #include stdio.h /*l8_1_4.c*/ main() { void add(),sub(),mul(),divide(),end(),list_menu(); int n; do{ list_menu(); scanf(%d,n); getchar(); switch(n) {case 1: add(); break; case 2:
您可能关注的文档
- CCAR145选择题.doc
- 第一讲专业技术人员测试答案.doc
- 2013年报检实务期末考试复习题1.doc
- 科研项目、成果及平台认定办法.doc
- 合同管理信息系统(CMIS)应用业务技术答题.doc
- 数据库课堂练习全(答案全).doc
- 人力资源管理系统数据库连接.doc
- 从业人员新增流水记录.doc
- 医疗废物试卷.doc
- 事业单位行业类别.doc
- 2024年新疆和田地区企业人力资源管理师之四级人力资源管理师考试王牌题库附参考答案(轻巧夺冠).docx
- 2024年新疆吐鲁番地区企业人力资源管理师之一级人力资源管理师考试内部题库加精品答案.docx
- 2024年新疆克拉玛依市企业人力资源管理师之四级人力资源管理师考试大全【全优】.docx
- 2024年新疆和田地区企业人力资源管理师之一级人力资源管理师考试完整版带答案(精练).docx
- 2024年教师学习心得体会范文集锦七篇_2 .pdf
- 2024年新疆塔城地区企业人力资源管理师之四级人力资源管理师考试真题题库完整版.docx
- 2024年新疆哈密地区企业人力资源管理师之一级人力资源管理师考试精品题库精品(黄金题型).docx
- 2024年普通话考试命题说话五十篇范文.pdf
- 2024年新疆伊犁哈萨克自治州企业人力资源管理师之四级人力资源管理师考试题库及解析答案.docx
- 2024年村级财务管理通知.pdf
最近下载
- 智慧大厅指挥中心整体建设方案.pptx
- 2.1六上科学《我们的地球模型》教学课件.ppt VIP
- 职业生涯发展展示 (修改版).pptx
- 建筑工程承包施工合同纠纷代理词(原告方).docx
- 电力拖动自动控制系统——运动控制系统第5版阮毅、陈伯时课后习题解答答案.docx
- (2024更新)国开电大《小学语文教学研究》形考任务1答案.pdf VIP
- 2023年华北电力大学(北京)计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 大学思政课件中国梦.pptx
- 部编版小学道德与法治五年级上册第四单元测试卷含答案(共2套).pdf VIP
- 落实全面从严治党方面存在的问题及整改措施【10篇】.docx VIP
文档评论(0)