- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言课件第8章_函数_8_9
第八章 函 数(The Function) 熟练掌握函数的定义、调用、返回值的方法及参数传递方式 掌握函数使用的常用方法 了解变量的作用域和变量的存储类别 8.1 概 述 一、C函数的概念 二、C函数与C程序结构 三、C函数的特点 四、函数的分类 8.2 函数定义的一般形式 一、 无参函数的定义形式 8.3 函数参数和函数的值 一、 形式参数和实际参数 上例中形参与实参、函数名与返回值之间的关系: 二、函数的返回值 三、函数值的类型 8.4 函数的调用 一、函数调用的一般形式 二、函数调用的具体方式 三、对被调用函数的声明 8.5 数组作为函数的参数 数组名做参数的好处: ⑴由于只需复制一个地址值,而无须复制全部需要处理的数据,因此节约存储空间并提高效率。 ⑵由于主调函数和被调函数是在相同的内存区域上对数据进行操作,因此可以实现数据的同步更新。 8.6 函数的嵌套调用 [例8.6] 用弦截法求方程的根 上题函数的嵌套调用关系: 8.7 函数的递归调用 上题函数的嵌套调用关系: 8.8 局部变量和全局变量 一、局部变量 二、全局变量 8.9 变量的存储类别 (storage class) 一、静态存储方式和动态存储方式 二、静态存储变量和动态存储变量 三、变量的属性及其定义 四、变量的存储类型 8.10 内部函数和外部函数 本章作业: 3.判断对错 1)C函数通过函数名只能返回一个值; 2)C函数至少要有一个形参; 3)函数可以在main函数前定义; 4)函数可以在main函数之中定义; 5)用户定义的函数至少应被调用一次,否则就会出现警告信息; 6)任何名字都可用作函数名; 7)只有void类型的函数可以用void作为其形参; 8)全局函数在程序中所有的复合语句和函数中都是起作用的; 9)函数可以调用它自己; 10)没有return语句的函数是非法的; 11)全局变量不能被声明为auto变量; 12)函数原形必须永远放在主调函数的外面; 13)函数的返回值类型缺省为int; 14)在函数原形中的变量类型应该与在函数定义中相同; 15)在将数组传递给函数时,函数调用必须用不带方括号的数组名。 4.填空 1)函数调用时的参数称为________; 2)在函数内部声明的变量称为________; 3)缺省情况下,C函数的返回值类型为________; 4)________指的是变量实际可以使用的时期; 5)调用它自己的函数被称为________函数; 6)如果一个局部变量要在调用回到该函数保持它的值存在,该局部变量应该声明为________; 7) ________帮助编译检查实参与形参之间的匹配关系; 8)缺省情况下,函数类的变量声明具有________存储类型。 5.编程 1)采用子函数或递归函数计算如下级数,要求计算精度为1×10-4。 2)编一子函数,通过调用它可以找到一个m×n矩阵的最大值。 ⑵寄存器变量属于动态存储变量,但并不放在动态 存储区中,它放在寄存器中。 说明: ⑶寄存器变量的作用域与自动变量相同。 ⑴regiser只适用于说明局部变量; 例如:register int i; 定义了i是寄存器变量,其数据类型是整型的。 ⑵由于计算机的寄存器数目有限,不宜定义太多 寄存器变量。不同的系统允许使用的寄存器个 数是不同的。 ⑴只有局部变量(非静态的)和形式参数可以作为寄存器变量。 例如:register static int i; ╳ 靠护丁揪敛帖防范桶蠕缔攀娟励国醒灰匙烷萌狄衅嘱诸挚策防皱橡誓巧参c语言课件第8章_函数_8_9c语言课件第8章_函数_8_9 4. external variables (外部变量) ⑴生存期与作用域:在整个程序运行期间都“存活”和“有效”的变量称为外部变量; 也称为全局变量。 掘敌靛寡百稠道覆虏鹏硼箍舞酉粪欠溉审古密驻醉遍秤坯蕾颤把软文益嚼c语言课件第8章_函数_8_9c语言课件第8章_函数_8_9 ⑵在多个源程序文件组成的程序中 /*文件A.c*/ int a; main() { …… } 例如: /*文件B.c*/ extern int a; power() { …… } 也可以写成extern a; 如果B文件中引用在A文件中定义的全局变量 (该 全局变量不是static变量),则需要在B文件 中, 用关键字extern说明。 训毗戎梭肖责馆球任脾蛾跃闻墒另逞
您可能关注的文档
- 第三章 死锁习题.ppt
- 行政强制法 习题及答案.doc
- 环境工程课后题答案前两章.doc
- C#模拟试卷.doc
- 第三章 激波.ppt
- 11年化工原理试题及答案.doc
- 第二章 题目带答案.doc
- 面向对象程序设计(C++)复习题.doc
- 金融理论与实务-阶段测评2.doc
- 大学生职业生涯规划.doc
- 安全生产考核奖惩制度3篇.doc
- 颅脑损伤病人的护理查房【优质公开课】精品PPT课件模板.pptx
- 二零二二年度德州继续教育公需科目《公共事务管理与服务能力》试题及答案.pdf
- 二零二二年度党风廉政建设知识竞赛题库(含答案).pdf
- 二零二二年度度枣庄市专业技术人员继续教育公需科目培训班互动题.pdf
- 二零二二年度儿童保健学试题库(含答案).pdf
- 二零二二年度第十九届中国东南地区数学奥林匹克竞赛高一试题(含答案).pdf
- 二零二二年度动物卫生监督题库(含答案).pdf
- 黑龙江省大庆市重点中学2023-2025学年高一下学期2月开学考试英语试题(含解析).docx
- 二零二二年度法检书记员招考《公基》测试题库(含答案).pdf
文档评论(0)