太原理工大学c语言课件,太原理工大学测绘C语言程序设计课件(下).ppt.ppt

本文介绍了C语言中函数的使用,特别是如何通过函数计算数组的平均值、最大值和最小值。文章强调了全局变量和局部变量的区别,并探讨了静态存储与动态存储方式,讨论了它们在程序执行过程中的作用域和生存期。同时,指出了过度使用全局变量可能带来的问题。此外,还解释了自动变量(auto)的概念,即局部变量在调用时分配存储空间并在调用结束后释放。
摘要由CSDN通过智能技术生成

太原理工大学测绘C语言程序设计课件(下).ppt

* 第八章 函 数 例8.15 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。 #include float Max=0,Min=0; void main() { float average(float array[ ],int n); float ave, score[10]; int i; printf("Please enter 10 scores:\n"); for(i=0;i<10;i++) scanf("%f",&score[i]); ave=average(score,10); printf("max=%6.2f\nmin=%6.2f\n average=%6.2f\n",Max,Min,ave); } 分析: 调用一个函数可以得到一个函数返回值,现在希望通过函数调用能得到3个结果。可以利用全局变量来达到此目的。 float average(float array[ ], int n) { int i; float aver,sum=array[0]; for(i=1;iMax) Max=array[i]; else if(array[i] int a=3,b=5; void main() { int max(int a,int b); int a=8; printf(“max=%d\n”,max(a,b) ); } ? int max(int a,int b) { int c; c=a>b?a:b; return(c); } 全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元。 它使函数的通用性降低了,因为函数在执行时要依赖于其所在的外部变量。 使用全局变量过多,会降低程序的清晰性。 b为全局变量 a为局部变量,仅在此函数内有效 a、b为局部变量,仅在此函数内有效 说明: 如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即它不起作用。 建议不在必要时不要使用全局变量 * * 第八章 函 数 九、变量的存储类别 1、动态存储方式与静态存储方式 从变量的作用域的角度来观察,变量可以分为全局变量和局部变量 从变量值存在的时间(即生存期)观察,变量的存储有两种不同的方式:静态存储方式和动态存储方式 静态存储方式是指在程序运行期间由系统分配固定的存储空间的方式 动态存储方式是在程序运行期间根据需要进行动态的分配存储空间的方式 * * 第八章 函 数 九、变量的存储类别 1、动态存储方式与静态存储方式 程序区 静态存储区 动态存储区 用户区 将数据存放在此区 说明: 静态存储区:全部全局变量。程序开始执行时给全局变量分配存储区,程序执行完毕就释放。在程序执行过程中占据固定的存储单元 动态存储区:①函数形式参数②自动变量: 函数中定义的没有用关键字static声明的变量③函数调用时的现场保护和返回地址等存放在动态存储区. 函数调用开始时分配,函数结束时释放。在程序执行过程中,这种分配和释放是动态的 * * 第八章 函 数 九、变量的存储类别 1、动态存储方式与静态存储方式 每一个变量和函数都有两个属性:数据类型和数据的存储类别 数据类型: 如整型、浮点型等 存储类别指的是数据在内存中存储的方式(如静态存储和动态存储) 存储类别包括: 自动的(auto)、静态的(static) 、寄存器的(register) 、外部的(extern) 根据变量的存储类别,可以知道变量的作用域和生存期 * * 第八章 函 数 九、变量的存储类别 2、自动变量(auto变量) 局部变量,如果不专门声明存储类别,则动态地分配存储空间,为自动变量。 调用函数时,系统会给局部变量分配存储空间,调用结束时就自动释放空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值