




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
回顾2 1 函数是程序中的一个相对独立的单元或模块 使用函数带来的好处 程序更清晰 易维护 分模块方便设计与开发 提高代码的重用性 自定义函数是用户在程序中根据需要而编写的函数 回顾2 2 函数的结构包括 返回值类型 函数名 参数列表 函数体函数原型说明以便向编译器指出该函数使用什么样的格式和语法函数调用时程序控制流将转向被调函数 被调函数执行结束时 控制流返回主调函数return语句用于向调用函数返回值 目标 理解两种参数传递的方式 传值 引用熟练使用数组作为函数参数理解变量的作用域理解变量的存储类型 变量的作用域 作用域是某些事物起作用或有效的区域 限于陆地 限于海洋 限于空中 程序中变量也有不同的使用范围 称为变量的作用域 变量的作用域决定变量的可访问性 变量说明的位置不同 其作用域也不同 C语言中根据变量的作用域可以将变量分为局部变量和全局变量 变量的作用域 voiddisplayDiscount floatdiscount amt 局部变量 不能在函数外使用 floatdiscount amt voidmain voiddisplayDiscount 全局变量 可以在整个程序中使用 局部变量 局部变量也称为内部变量 是指在一定范围内有效的变量 C语言中 在以下各位置定义的变量均属于局部变量 在函数体内定义的变量 在本函数范围内有效 作用域局限于函数体内 在复合语句内定义的变量 在本复合语句范围内有效 作用域局限于复合语句内 有参函数的形式参数也是局部变量 只在其所在的函数范围内有效 intf1 inta intb c intf2 intx inty z main intm n a b c作用域 仅限于函数f1 中 x y z作用域 仅限于函数f2 中 m n作用域 仅限于函数main 中 a b c x y z m n都是局部变量 局部变量变量的作用域 includevoidaddNumbers intnum1 num2 sum printf n请输入两个数 scanf d d 0 45 请输入两个数 5645 子函数中sum的值是101 主函数中sum的值是0 56 101 全局变量 全局变量 外部变量 在函数外部定义的变量 全局变量的作用域 从该变量定义的位置开始到本源文件结束 变量一直有效 在一个函数内变量所做的改变 将影响其他函数中该变量的值但需要注意的是 如果定义了与全局变量同名的局部变量 则局部变量优先 在引用全局变量时如果使用 extern 声明全局变量 可以扩大全局变量的作用域 例如 扩大到整个源文件 模块 对于多源文件 模块 可以扩大到其它源文件 模块 全局变量的作用域 includeintsum 0 voidaddNumbers intnum1 num2 printf n请输入两个数 scanf d d 0 45 请输入两个数 5645 子函数中sum的值是101 主函数中sum的值是101 56 101 全局变量说明 全局变量的定义必须在所有函数之外 且只能定义一次 可以利用全局变量 使函数得到一个以上的返回值 与局部变量不同 全局变量贯穿整个程序 并且可被任何一个模块使用 它们在整个程序执行期间保持有效 全局变量说明 建议在不必要时不要使用全局变量 原因如下 全局变量可加强函数模块之间的数据联系 但又使这些函数依赖这些外部变量 因而使得这些函数的独立性降低 全局变量在整个程序执行期间均占有存储空间 而不是仅在需要时才开辟单元 程序中大量使用全局变量 不可知的和不需要的副作用将可能导致程序错误 降低程序的清晰性 在同一源文件中 允许全局变量和局部变量同名 在局部变量的作用域内 全局变量将被屏蔽而不起作用 voidmain inta 0 初始化a值为0func a 调用函数funcprintf d a 输出a的结果 定义函数funcvoidfunc inta a 10 让参数a等于10 传值调用 0 传值调用 将会输出什么 includevoidincrement int int voidmain intnum1 num2 printf n请输入两个数 scanf d d 传值调用示例 请输入两个数 3456 递增前的值是34和56 递增后的值是34和56 34 56 子函数中的值是35和57 35 34 56 57 数组作为函数参数 在用数组作实参时 以传址方式调用函数 也就是说把实参数组的首地址赋给形参实际上形参数组和实参数组为同一数组 共同拥有一段内存空间 数组作为参数示例1 问题描述 通过函数实现5个学员成绩的排序 include defineN5voidsort float voidmain floatgrade N inti printf n输入 d个学员的成绩 n N for i 0 i N i scanf f 传递数组时不使用 演示 示例5 voidsort floata N inti j floattem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英美文学经典作品导读的教学设计教案
- 关于珍惜友情高一作文11篇范文
- 纪念鲁迅有感课件
- 农民互助土地流转经营合同
- 一年级作文过春节放炮8篇
- 一张难忘的照片作文500字小学作文15篇
- 唐诗的鉴赏方法:古诗语言风格教案
- 2025年全国英语等级考试(PETS)二级试卷:英语词汇与语法同步练习试题
- 合同审核流程及文件存档规范
- 早发型卵巢功能不全课件
- 2025建筑安全员考试题库
- 从2025年河南中考语文试卷中分析阅读理解如何提分
- 军工领域涉密项目保密风险评估及防控措施
- 2025发展对象考试题库附含参考答案
- 《智能建筑供配电与照明》课件(上)
- 公共打印区域管理办法
- 杭州预付消费管理办法
- 2025至2030中国电子束灭菌服务行业项目调研及市场前景预测评估报告
- 模锻工艺培训课件
- 2025年中国淋膜纸市场调查研究报告
- 【课件】破茧 逐光-2026届新高三启航主题班会:挑战极限成就梦想(含规划指南、学法指导、心理护航)
评论
0/150
提交评论