存储类和预处理程序

存储类和预处理程序

ID:10124653

大小:37.00 KB

页数:4页

时间:2018-06-11

存储类和预处理程序_第1页
存储类和预处理程序_第2页
存储类和预处理程序_第3页
存储类和预处理程序_第4页
资源描述:

《存储类和预处理程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六章函数、存储类和预处理程序教学目的和要求:掌握自定义函数的定义及使用方法,掌握函授的递归算法,掌握变量的作用域和生命期。教学重点:自定义函数的定义及调用课时安排:4+4(上机)教学内容:§6.1定义函数一、库函数二、用户自定义函数1、传统格式类型标志符函数名(形式参数列表)形式参数类型说明:{函数体}2、现代格式类型标志符函数名(类型标志符形式参数,类型标志符形式参数,……){函数体}说明:函数名称:符合C语言对标志符的规定。函数形式参数:一个函数既可以有多个参数也可以无参数,函数参数之间用逗号隔开

2、,并且要说明其数据类型。函数体:用花括号括起的语句组成,它实现函数的功能。函数值:一个函数在运行后通常都有一个值,被称为函数值或函数返回值,函数值的类型由定义函数时给出的类型标志符指定,若空缺,系统默认函数值是整型,用户可通过函数体中的RETURN语句给函数赋一个值,否则系统将随机赋给函数一个值。RETURN语句的作用:1、结束当前被调用的函数的执行,返回主调用函数。2、赋给当前被调用函数一个值RETURN语句的三种形式:Return(e)e为表达式函数值是计算后得到的值。Returnee为表达式函数值

3、是计算后得到的值。Return例1、intmax(x,y)intx,y;intmax(intx,inty){注意:使用后者,必须对每个参数分别说明类型,intz;并用逗号分隔。if(x.>y)z=x;elsez=y;return(z);}§6.2函数调用一、函数调用的形式函数名称(实际参数表);函数名称被调函数的标志。实际参数主调函数利用实际函数将本函数的信息传递给被调函数的形式参数,从而使被调用函数获得被调用的函数得到主调函数的相应数据,调用时所传递的实际参数的个数、类型以及排列顺序必须与函数的形式参

4、数一一对应。例1、intmax(x,y)intx,y;I{intz;if(x.>y)z=x;elsez=y;return(z);}main(){inta,b,maxnumberscanf(“%d%d”,&a,&b);maxnumber=max(a,b);printf(“maxnumberof%dand%dis%d”,a,b,maxnumber);}二、函数调用的位置1、函数表达式maxnumber=max(a,b)2、函数语句3、函数参数m=max(max(a,b),c);一、函数调用的条件1、调用的函

5、数必须是已被定义的函数2、如使用库函数,应将有关的库函数信息包含在程序中。如#include“stdio.h”3、如调用的是用户自定义的函数,一般应该在主调用函数中对被调用函数的数据类型进行说明,以便通知C语言编译系统被调用函数的函数值类型等信息,说明方式如下:类型标志符函数名(类型标志符形式参数,类型标志符形式参数,……)函数说明的类型必须与函数定义时的类型一致。函数定义的首部没有分号。函数说明语句是一条语句,有分号。若1、被调用的函数的定义位置在主调函数之前,可以不必说明。2、函数的返回值是整型或字

6、符型,可不必说明。§6.3函数参数和函数的值一、形式参数和实际参数1、在定义函数中指定的形参变量,在未出现函数调用时,它们不占内存中的存储单元,只有再发生函数调用时函数中的形参才被分配内存单元,在调用结束后,形参所占的内存单元也被释放,2、实参可以是常量、变量或表达式,如max(3,a+b);但要求它们有确定的值在调用时将实参的值赋给形参变量,3、在被定义的函数中,必须指定形参的类型4、实参与形参的类型应一致。(字符型与整型可以互相通用。5、实参变量对形参变量的数据传递是“值传递”,即单向传递。A2B3

7、X2Y3§6.4函数之间的数据传递l使用return(e)的方式l参数传递l全局变量传递方式一、参数传递1、按值调用只能由实际参数传递给形式参数,单向传递2、引用调用把实际参数的地址传递给被调用函数的形式参数二、变量传递1、局部变量是一个在一个函数内部被定义的变量,只在本函数范围内有效。,在不同的函数中可以定义相同的局部变量,它们各自代表不同的对象,互相并不干扰。2、全局变量又称外部变量是在函数体外定义的。一般在程序的开头,其作用域为从定义变量的位置开始,一直到整个程序的结束为止。注意:如果在同一程序中

8、,外部变量与局部变量同名,则在局部变量的作用域内,外部变量被屏蔽,不起作用。§6.5动态变量与静态变量从存储的角度,变量可以分为l存储在内存动态存储区中的变量,包括自动变量和形式参数。l存储在CPU寄存器中的寄存器变量。l存储在内存静态存储区中的变量,包括外部变量和静态局部变量。其中前两种被合称为动态变量,第三种被称为静态变量。一、动态变量是在程序运行时的某一刻被动态建立,又在某一刻被动态撤消的一种变量,在程序运行过程中被动态的建立和撤消,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。