T7 变量作用域及函数传值方式.ppt

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

T7 变量作用域及有参有返回值的函数 回顾 1、C语言的基本单位是什么? 2、使用函数有哪些好处? 3、自定义函数包含哪几部分? 4、什么是函数的定义?什么是函数的调用? 5、函数的调用分哪两种方式? 本章任务 定义几个全局变量,用来保存一个客户的开户信息,包括用户名、卡号、密码和开户金额,然后分别完成开户、存款、取款、余额查询等业务。 本章目标 理解变量的作用域 理解函数的参数 理解函数的返回值 变量的作用域 变量的作用域 变量的作用域 变量的作用域 全局变量 全局变量:它是在任何函数外部定义的变量。 它的作用域是从定义时刻开始,到程序结束。 全局变量需注意以下几点: 1.全局变量定义必须在所有的函数之外。 2.全局变量可加强函数模块之间的数据联系, 但是又使函数要依赖这些变量,因而使得函数的独立性降低。 3. 在同一源文件中,允许全局变量和局部变量同名。在局部变量的作用域内,同名的全局变量不起作用。 全局变量 使用全局变量的例子 #include stdio.h int a=0; void out() { printf(%d\n,a); } void main() { a=1; out(); } 局部变量 局部变量:在函数内定义说明的,其作用范围仅限于该函数内。 局部变量需注意以下几点: 1.主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。 2.允许在不同的函数中使用相同的变量名,它们代表不同的变量,分配不同的存放单元,互不相干,不会发生混淆。 3.复合语句中定义的变量,也是复合语句的局部变量。所谓复合语句,就是用{}包含起来的语句块. 局部变量 #include stdio.h void stup() { int a=3,b=4; printf(函数stup()的局部变量a,b\n %d %d\n,a,b); } void main() { int a=1,b=2; { int a=7,b=9; printf(复合语句中的局部变量a,b\n %d %d\n,a,b); } printf(函数main()的局部变量a,b\n %d %d\n,a,b); stup(); } 小结 1、什么是变量的作用域? 2、全局变量和局部变量有什么区别? 函数形参和实参 函数参数及函数的调用 形式参数:简称形参。形参出现在函数定义中,在整个函数体内的局部变量. 实际参数:简称实参。出现在函数调用中。是函数调用时,参数的实际值。 函数的参数使用案例 函数参数的说明 注意以下几点: 1、定义函数时,必须说明形参的类型。形参只能是变量和数组。 2、形参是函数局部变量,只在函数内部有效 3、实参的传递,必须和形参的类型,个数,顺序完全一致 使用局部变量的例子 #include stdio.h void out(int a) { a++; } void main() { a=1; out(a); printf(“a=%d\n”,a); } 小结 1、什么是形参?什么是实参? 2、实参在使用时,必须注意什么? 函数的返回值 返回语句: return xx; /*’xx’为一变量、表达式、常量*/ 注意: 1、如果你声明的是一有返回值的函数,但没有使用return语句,将报错. 2、一个函数中可以有多个return语句,但是函数运行过程中遇见第一个return语句就会返回,同时终止该函数的运行! 改写n! double fun(int n){ double s=1.0; while(n1)s*=n--; return s; } 例 有参有返回值的函数 函数值的类型 函数的类型即函数值的类型,在定义时声明。例:int max(int a,int b); 函数类型为int型。 说明:函数的类型同函数返回值的类型一般是要求保持一致,如果函数返回值类型(即return语句返回的类型)同函数类型不一致,则在函数返回值时对其进行强行转化,转化为函数类型; 小结 变量交换 传值调用与传址调用 C语言中函数的形式参数的传递方式有两种,一种是传值,另一种是传址,对于这两个概念,最核心的思想是: 第一、?? 在传值调用中,函数中传递的是实际参数的值即内容,这时形式参数的改变不会影响实参。 第二、在传址调用中,函数中传递的是实际参数的地址,这时函数形式参数的改变会影响实参。其原因是:传址是形参和实参共用一个地址内存。 下面先看一下传值调用的例子: 函数参数的值传递 思考 定义一个变量交换的函数,如下所示: void change(int a,int b){ int c=a; a=b; b=c; } void

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档