- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《解析C程序设计》第3章 自定义函数设计 第3章 自定义函数设计 本章内容 最大值和最小值问题 条件运算符 函数的定义 函数的调用 函数的返回 参数的传递 函数的声明 交换两个变量值的问题 变量的作用域 变量的存储类型 前面的所有程序都是由一个主函数main()组成,程序的所有操作都在主函数中完成。(当然也包含一些库函数) 对于小程序可以这样做,但是,对于一个有一定规模的程序这样做就不合适了。 事实上,C程序可以 只包含一个主函数 也可以包含一个主函数和若干个其它函数(库函数和自定义函数) C语言是一个函数式语言。 C函数分类 (1)用户自定义函数(包括主函数); (2)系统提供的库函数。由C系统开发商提供,程序员可以直接调用。 自定义函数以下简称函数。 下面通过一个简单问题来初步了解自定义函数的用法。 3.1 最大值和最小值问题 问题的提出 例3-1 由用户输入三个整数,编程求解三个数的最大值和最小值。 问题的分析 条件表达式运算符 求x和y的最大值 max=xy?x:y; 函数的定义 传统风格的函数定义 函数定义说明 特别注意 课堂练习 主调函数与被调函数 函数的调用 函数调用的几种方式 函数调用说明 ①如果调用的是无参函数,则“实际参数表”可以没有,但括号()不能省略。 ②如果实参表包含多个实参,则各参数间用逗号隔开。 ③实参与形参的个数应相等、类型应一致。 ④实参与形参按顺序对应,一一传递数据。 特别说明:如果实参表包括多个实参,对实参求值的顺序并不确定,有的系统自左至右,有的则是自右至左。TurboC是按自右而左的顺序求值的。读者对自已的系统可编程试之。 函数调用说明 ⑤函数不能嵌套定义,即在一个定义好的函数中,又定义另一个函数。但是函数之间允许相互调用,也允许嵌套调用。但main函数不能被调用。 ⑥函数还可以自己调用自己,称为递归调用。 例3-2:求两个整数的最大值和最小值 函数的返回 函数返回不确定值 函数返回值类型转换 例3-2:求两个整数的最大值和最小值 函数参数 参数传递——值传递方式 参数传递——地址传递方式 为此,C提供了函数原型的机制。即函数声明后即可调用。 函数声明 函数声明举例 例3-1问题的实现 C程序结构 为什么要使用函数 举一反三 例3-4:计算两个实数之和 用宏定义和函数实现同样的功能 思考题 3.2 交换两个变量值的问题 问题的提出 例3-7:用函数来实现交换两个变量的值。 问题的分析 变量的作用域与存储类型 变量的作用域与存储类型 局部变量——内部变量 全局变量——外部变量 例3-8:使用函数求两个变量的最大值、最小值、平均值 例3-8程序 例3-7问题的实现 例3-7问题的实现 思考题 存储类型的提出 动态变量与静态变量 变量的存储类型 自动变量auto auto的作用域 寄存器变量register 用static声明局部变量 例3-10:计算1~5的阶乘 用extern声明外部变量 例3-11:求两个全局变量的最大值 ⑵在多个文件的程序中声明外部变量 例:输出a?b和a的m次方 用static声明外部变量 作用域与生存期的例子 举一反三 例3-13:计算一个数的立方 建 议 学好程序设计语言的唯一途径是 上机练习 你的编程能力与你在计算机上 投入的时间成正比 习题3 教材:习题3.3 3.7 3.9。 教材:习题3.2 3.6 3.12。 思考题 怎样编写比较复杂的带有控制流程的程序? 如:满足某种条件执行某段程序; 重复计算某种运算:1+2+… /*LI3_11.c*/ #include stdio.h int max(int x,int y); /* 函数声明 */ void main( ) { extern A,B; /* 声明外部变量 */ int r; r=max(A,B); printf(%d,r); } int max(int x,int y) /* 函数定义 */ { int z; z=xy?x:y; return(z); } int A=13,B=-8; /* 定义外部变量 */ 注:extern A,B; 等价于: extern int A,B; 沏楷目千会犀汇教凰熙杉条喧玄每溃叉鳃玩儡藉创造茁等楷绝庸淄颊呢躯《解析C程序设计》第3章 自定义函数设计《解析C程序设计》第3章 自定义函数设计 int p=1,q=5; float f1(int a) { int b,c; …….
您可能关注的文档
- 面向对象程序设计(C++)复习题.doc
- 金融理论与实务-阶段测评2.doc
- 大学生职业生涯规划.doc
- 信息技术基础与应用在线测试真题单选题2013年12月10日.doc
- 调度员技师理论统一试题C.doc
- 含答案及解析2014年一级建造师《项目管理》复习题集第六章第三节 合同计价.doc
- 江苏省国税系统专业等级考试 中级.doc
- 《行政法学》第一次作业答案.doc
- 10级统计学判断单选多选题.doc
- 检察实务网上作业题库及答案.doc
- 2025年吉林省长春市单招职业倾向性测试题库(达标题).docx
- 2025年哈尔滨传媒职业学院单招职业技能测试题库含答案(达标题).docx
- 2025年呼和浩特职业学院单招职业倾向性测试题库含答案(能力提升).docx
- 2025年吉林省白山市单招职业倾向性测试题库及答案(新).docx
- 2025年哈尔滨电力职业技术学院单招职业倾向性测试题库(b卷).docx
- 2025年吉林科技职业技术学院单招职业技能测试题库及完整答案一套.docx
- 2025年大理农林职业技术学院单招职业倾向性测试题库(精练).docx
- 2025年吉林省经济管理干部学院单招职业技能测试题库及答案(考点梳理).docx
- 2025年哈尔滨科学技术职业学院单招职业倾向性测试题库(考点精练).docx
- 2025年吉林省白山市单招职业适应性测试题库含答案(达标题).docx
最近下载
- 2022山东能源集团中级人才库选拔上岸笔试历年难、易错点考题附带参考答案与详解.docx
- 统编版(2024)新教材七年级道德与法治下册第一单元《珍惜青春时光》每课时探究训练(含答案)汇编(含六套题).docx VIP
- 必威体育精装版部编版四年级语文下册第八单元习作《故事新编》精品课件PPT.ppt VIP
- 食品安全自查、从业人员健康管理、进货查验记录、食品.docx VIP
- 大模型推理加速的优化实践-2024全球机器学习技术大会.pdf
- GB50858-2013 园林绿化工程工程量计算规范.docx
- 三亚太阳湾柏悦酒店宴会服务研究.docx
- 钢结构工程计量与计价培训资料.pptx VIP
- 中国普通流通纪念币完整目录(127枚)(1984年-2023年).pdf VIP
- 2025年科级领导干部任前廉政法规知识考试题(附答案).pdf VIP
文档评论(0)