C程序设计谭浩强第八章PPT.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计谭浩强第八章PPT

第8章 函 数 本章要点 熟练掌握函数的定义和调用方式 理解和掌握函数参数的传递方式 掌握变量的作用域和存储类型 本章难点 函数的参数调用 对变量作用域和生存期的理解 我们先看一个C程序: int mul(int x,int y) { int result; result=x*y; return result; } main() { int a,b,c,d,e; printf(“input a,b,c:”); scanf(“%d%d%d”,a,b,c); d=mul(a,b); /*计算ab的积*/ e=mul(b,c); /*计算bc的积*/ printf(“\n”); printf(“a*b=%d\n”,d); printf(“b*c=%d\n”,e); } 说明: 8.1 函数概念的引入 一、C函数的概念 二、C函数与C程序结构 三、C函数的特点 四、函数的分类 8.2 库函数 调用库函数要用include命令,其后要包括头文件名,其一般形式: #include “文件名” 8.3 函数的定义 1. 无参函数的定义形式 8.4 函数间的参数传递 1. 形式参数和实际参数的概念 上例中形参与实参、函数名与返回值之间的关系: 3.函数值的类型 8.5 函数的调用 8.5.1 函数调用的一般形式 8.5.2 函数调用方式 8.5.3 调用函数的声明 8.5.4 函数的嵌套调用 例 用弦截法求方程的根 上题函数的嵌套调用关系: 8.5.5 函数的递归调用 8.6 数组与函数 8. 7 变量的作用域 8.7.1 局部变量 8.7.2 全局变量 8.8 变量的存储类型 8.8.1 变量的动态和静态存储方式 8.8.2 静态存储变量和动态存储变量 8.8.3 变量的属性及其定义(添加) 8.8.4 局部变量的存储类型 8.8.5 全局变量的存储类型 8.9 函数的存储分类 8.10 小 结 (1) 调用库函数要用include命令,其后要包括头文件名,include命令必须以#开头,文件名需要用一对双引号或一对尖括号 括起来。 从函数的形式上看,函数分为两类:①无参函数;②有参函 (3)从函数的值来看,函数分为两类: 无返回值的函数:即void函数。② 有返回值的函数: (4) 对函数的声明。通常在函数调用之前,应该让编译器知道函数的类型、函数参数的个数、参数的类型及参数顺序等信息,以便让编译器利用这些信息去检查函数调用的合法性,保证参数的正确传递,这就是函数的声明。 (5) 函数参数的传递方式,有以下几种: ① 普通变量作为函数参数。采用的是值传递的方式。 ② 数组作为函数参数。采用的是地址传递的方式。 (6) 函数的递归调用和嵌套调用。 变量的作用域和存储类型。 (8) 函数的作用范围,根据这些函数的使用范围,可以把它们分为内部函数和外部函数。 ⑵寄存器变量属于动态存储变量,但并不放在动态 存储区中,它放在寄存器中。 说明: ⑶寄存器变量的作用域与自动变量相同。 ⑴regiser只适用于说明局部变量; 例如:register int i; 定义了i是寄存器变量,其数据类型是整型的。 ⑵由于计算机的寄存器数目有限,不宜定义太多 寄存器变量。不同的系统允许使用的寄存器个 数是不同的。 ⑴只有局部变量(非静态的)和形式参数可以作为寄存器变量。 例如:register static int i; ╳ ⑴exturn只适用于说明全局变量; ⑵在多个源程序文件组成的程序中 /*文件A.c*/ int a; main() { …… } 例如: /*文件B.c*/ exturn int a; power() { …… } 也可以写成exturn a; 如果B文件中引用在A文件中定义的全局变量 (该 全局变量不是static变量),需要在B文件 中,用 关键字extern说明。 ⑷在同一个源文件中,全局变量的作用域之外的函 数中使用该全局变量时,也需用extern对其说明。 若在A文件中的全局变量是静态外部变量(static) ,则即使在B文件中用extern对其说明,也无法在 A文件中使用该全局变量。 /*文件A.c*/ static int a; main() { ……

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档