数字化-项目二任务2_第1页
数字化-项目二任务2_第2页
数字化-项目二任务2_第3页
数字化-项目二任务2_第4页
数字化-项目二任务2_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务描述有参函数的定义与调用函数嵌套调用变量的存储类别PART01任务描述学生模型构建之后用户可以依据需求的选择执行相对应的操作,具体可参考下图所示:任务描述学生学籍管理系统能实现的功能包括:(1)输入学生基本信息(2)查询学生信息(1.学号查询2.姓名查询)(3)删除学生信息(1.学号删除2.姓名删除)(4)学生信息排序(1.学号排序2.姓名排序)(5)修改学生基本信息(6)保存学生基本信息(7)输出所有学生信息(8)退出程序这些功能均是独立的个体,在设计时需要定义相应的函数来实现。任务描述PART02有参函数的定义与调用一、有参、无返回值函数的定义有参函数也称为带参函数,在函数定义及函数说明时的参数,称为形式参数(简称为形参);在函数调用时给出的参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。定义有参、无返回值函数的一般形式为:类型说明符函数名(类型名形参1,类型名形参2,……){声明部分;

语句;//执行功能}有参函数的定义与调用注意:(1)形参是各种类型的变量,多个形参之间用逗号区分。(2)每个形参必须指明数据类型,即使所有的参数都属于同一种类型也需要在每个形参前加上类型。(3)函数首部不能加分号“;”。(4)不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。例如:voidsum(inta,intb){ints;s=a+b;printf("s=%d\n",s);}有参函数的定义与调用二、有参、无返回值函数的调用1.函数的调用有参、无返回值函数的调用基本形式是:函数名(实参列表);注意:(1)实参列表中的参数可以是变量、常量或者是表达式,只要保证在调用时有确定的值即可。(2)多个实参之间用“,”区分。(3)实参的个数要和形参的个数一一对应,即个数相同,类型也要相同。(4)实参名和形参名可以相同,但是它们分别属于不同的函数,不相互影响。有参函数的定义与调用2.函数的声明被调函数的定义在主调函数定义的后面,应该在主调函数中对被调函数作声明。函数原型声明其一般形式为:类型说明符被调函数名(类型形参,类型形参…);3.实参与形参的数据传递(1)形参变量只有在被调用时才分配内存单元(2)实参可以是常量、变量、表达式、函数等(3)实参和形参在数量上、类型上、顺序上应严格一致,否则会发生“类型不匹配”的错误(4)函数调用中发生的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参有参函数的定义与调用三、有参、有返回值函数的定义类型标识符函数名(类型名形参1,类型名形参2,……){变量声明部分;

功能语句;return表达式;}说明:(1)return语句中的返回值类型和函数定义中的类型标识符应保持一致。如果两者不一致,则以函数定义时的类型为准,自动进行类型转换。(2)如函数值为整型,在函数定义时可以省去类型说明。有参函数的定义与调用四、有参、有返回值函数的调用C语言中,函数调用的一般形式为:函数名(实际参数表)在C语言中对有返回值函数调用主要有以下几种方式:(1)函数表达式:函数调用作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。例如:printf(“%d”,max(x,y));(2)函数实参:把该函数的返回值作为实参进行传送,例如:“c=max(max(x,y),z)”,将max函数返回值作为函数实参有参函数的定义与调用五、数组名做函数参数在C语言中数组名是数组的首地址,数组名作函数参数时传送的是地址,也就是说把实参数组的首地址赋予了形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。数组名做函数参数时函数首部通用形式:函数返回值类型函数名(数据类型数组名[],intarrLen)说明:第一个参数是数组,这里数组的长度不需要写但是“[]”不能省略,数组长度由第二个参数传递过来。有参函数的定义与调用PART03函数嵌套调用在C语言中,函数的定义是独立的,一个函数不能定义在另一个函数内部,但是在调用函数时可以在一个函数中调用另一个函数,这就是函数的嵌套调用,即在被调函数中又调用其它函数。函数嵌套调用PART04变量的存储类别一、动态存储方式与静态动态存储方式静态存储方式:是指在程序运行期间分配固定的存储空间的方式。动态存储方式:是指在程序运行期间根据需要进行动态的分配存储空间的方式。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放;在动态存储区存放以下数据:(1)函数形式参数,在函数被调用时给形参分配存储空间,当函数调用结束存储空间进行释放。(2)自动变量(未加static声明的局部变量)。变量的存储类别二、局部变量的存储类别1.局部自动变量(局部auto变量)函数中的局部变量,如若不专门声明为static存储类别,都是动态地分配存储空间的,数据存储在动态存储区中。这类局部变量称为自动变量,自动变量用关键字auto作存储类别的声明。局部自动变量声明方式:auto数据类型变量名;关键字auto可以省略,auto不写则隐含定义为“自动存储类别”,属于动态存储方式,前面我们所用到的变量都是自动变量。变量的存储类别2.局部静态变量(局部static变量)局部静态变量声明方式:static数据类型变量名;对局部静态变量的说明:(1)局部静态变量属于静态存储类别,在静态存储区内分配存储

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论