版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、第5章、函数、牙齿章节的要点、函数概念函数定义以及调用函数调用的递归调用变量的作用域函数作用域、主要内容、5。1模块化计算机编程5。函数定义的一般格式5。函数参数和函数值5。呼叫函数5。函数重载,主要内容,5.6变量范围5。主要函数和多个其他函数配置。大程序可分为多个节目模块,每个模块用于实现特定功能。在高级语言中使用子例程实现模块的功能。子程序由函数完成。函数之间的调用关系:在主函数(主)上调用其他函数(其他函数),其他()也可以调用徐璐。同一函数可以由一个或多个函数多次调用。示例5.1函数调用的简单示例# include void main()voidprintstar();/* pri
2、ntstar函数宣言*/void print _ message();/* print_message函数宣言*/print star();*调用printstar函数* print _ message();/*调用print_message函数*/print star();*调用printstar函数*/,void printstar() *定义printstar函数* printf(* * * * * * * * * * * * * * n vvsn);工作方式如下:* * * * * * * * * * * * * * * * * * * How do you do!* * * * *
3、* * * * * * * * * * * * * * * * *说明:1。模块程序由一个或多个节目模块组成,每个节目模块用作源节目文件。对于大型程序,通常将节目内容放置在多个源文件中,然后将C程序组织到多个源文件节目文件中。这样可以单独编写,单独编译,提高调试效率。源节目文件可以是多个C程序的公共文件。说明:2。源节目文件由一个或多个函数和其他相关内容(如命令行、数据定义等)组成。源节目文件是一个编译单元,在编译程序时,会将其编译为源档案单元,而不是函数单元。说明:3。节目运行从主函数(主函数)开始,从主调用另一函数后,流程返回主函数,在主函数结束整个节目运行。说明:4。所有的函数都是平行的
4、。也就是说,在定义函数时单独进行,徐璐独立。一个函数不依赖另一个函数。也就是说,函数不能嵌套定义。可以在函数之间徐璐调用,但不能调用主函数。是主函数系统调用。说明:5。从用户使用的角度来看,有两种茄子类型:函数:标准函数,即库函数。这由系统提供,可以直接使用,无需用户定义。根据c系统提供的库函数的数量和功能略有不同,但许多基本函数功能是通用的。自定义函数。用于满足用户的特殊需要。说明:6。从函数形式来看,函数分为两个茄子类别:无参函数。“无函数”通常用于执行指定的工作集。在呼叫无辜的函数时,铸造函数不会向呼叫的函数传递数据。参与函数。主函数调用的函数调用时,通过参数调用的函数传递数据。5 .函
5、数定义的一般格式5.2.1。为什么函数、C语言规定、程序中使用的所有函数,都必须“先定义后使用”。函数定义包含指定以后按名称调用的函数名称的内容。指定函数类型、函数值的类型。指定函数参数名称和类型,以便在调用函数时传递数据。对无辜的函数来说,这不是必要的。指定函数,即要执行函数(即函数功能)的操作。这是最重要的。对于C编译系统提供的库函数,由编译系统预定义。计算机编程尺不需要自己定义。您只需使用#include命令将相关头文件模块包括在牙齿档案模块中。例如,如果您的程序使用数学函数(如sqrt、fabs、sin、cos等),则在牙齿档案模块开头使用#include、5.2.2参数定义函数的方法
6、,不带参数/*函数正文的宣言部分*?Return z;5.2.4空函数定义,空函数定义的典型格式为:类型标识符函数名称()。例如,void dummy(),调用主机函数空函数,此处仅表示仅调用一个函数,但函数本身不执行任何操作,等以后扩展函数功能时会进行补充。5 .函数参数和函数值5.格式参数和实际参数,格式参数:函数名称后面括号中的变量名称为格式参数(“格式收购”)。实际参数:从(函数)调用一个函数时,函数名称后括号中的参数(可以是表达式)称为“实际参数”(以下简称为“实参”)。函数返回值:return后面括号中的值用作函数返回值(函数返回值)。主要函数和调用的函数之间存在数据传递关系。您可
7、以使用以下方法在函数之间传递数据:参数:格式参数和实际参数返回值:使用return语句返回计算结果全局变量:外部变量,示例5。输入两个整数。获得一个函数的较大值,并在主函数期间输出牙齿值。#include Void main() int max(int,int);/*函数宣言*/int,Cinab;最大值(a,b);cout“max is”;int max(int,int )*由参考函数max * int定义。-嗯?Return();工作方式如下:函数调用可以连接两个函数之间的数据。形式参与实际参数的说明:1 .在函数定义中指定的格式参数在没有函数调用时不占用内存中的存储设备。函数max的形参
8、数仅在发生函数调用时分配内存单元。调用结束时,格式参数占用的内存单元也将释放。2 .实际参数可以是常数、变量或表达式,例如max(,);但是必须有确定的值。调用时,将实际参数的值分配给格式参数。3 .必须指定定义的函数中格式参数的类型。4 .实际参与参数的类型必须相同或与分配兼容。5 .实参传递到刑参的数据传递是单向的“值传递”,只能从实参传递到刑参,不能从刑参传递到实参。调用函数时,向格式参数分配存储设备,并将与实际参数对应的值传递给格式参数。调用结束时,格式参数单位被禁用,实际参数单位保留其原始值。示例:自定义函数,#include void swap(int,int);Int main(
9、) int x=10,y=20Swap(x,y):Cout x : x y :y endl:Return 0;Void swap(int a,int b)int temp;temp=a;a=b;B=temp,引用传递方法传递参数要求:实际参数必须是变量结果。这意味着在调用的函数过程中,对实际参数的更改可以传递到主曹征函数。#include void swap(int,7 .默认参数默认参数通常位于函数基本体中,在参数说明中,使用直接赋值符号和默认值调用函数时,函数默认参数、默认参数参数表列的右侧。,# include intcube volume(intlength=1,intwidth=1,
10、intheight=1);int main()coutthe default cube volume is : cube volume()endl;Cout the volume of a cube with length 10,default width 1 and default height 1 is 3360 cube volume(10)endl:Cout the volume of a cube wibeInt cube volume (int length,int width,int height)return length * width * height;8 .内联函数内联函
11、数使用inline将函数定义为内联函数,以减少调用函数的开销。Inline指示编译器在调用牙齿函数时将实际函数代码复制到程序中,以避免调用函数。注:1 .内联函数定义和调用必须出现在同一源文件中。否则,找不到文件,无法进行排队。2.对一些函数定义内联编译器也不一定是内联实施。递归或指针调用3等内嵌连接不会改变程序的语义。5.3.2函数返回值,函数返回值是通过函数调用获得主曹征函数值。例如,max(,)的值为,而max(,)的值为5。赋值语句将牙齿函数值赋给变量。说明:1。函数返回值通过函数中的return语句获取。一个函数可以有多个return语句、要执行的return语句和要执行的语句。Re
12、turn语句后面的括号也是: return可以不使用,如“return();”对应于,Return后面的值可以是表达式。例如, max(int,int) return(?);2 .函数返回值必须属于定义函数时指定函数返回值类型的特定类型。例如,下面是3个函数的第一行。int max(float,float) /*函数值为整数*/char letter(char C1,char c2) /*函数值为文字*/dods,3 .定义函数时指定的函数类型通常必须与return语句中的表达式类型匹配。如果函数值的类型与return语句中的表达式值不匹配,则基于函数类型。对于数字数据,将自动执行类型转换。也
13、就是说,函数类型决定返回值的类型。4 .对于不导入值的函数,必须使用“void”定义函数“无类型”(或“空类型”)。在牙齿点,return语句不应出现在函数主体中。示例5。返回值类型不同于函数类型# include void main() int max(float,float);浮点,IntCinab;最大值(a,b);cout“max is”;Int max(float,float)float;/* z表示实数变量*/?Return();其工作方式如下:Max is、5。函数调用5.4.1函数调用的常规格式,函数调用的常规格式为:函数名称(实际参数表列),说明: 1。如果调用不带参数的函数
14、,请参见“实际参数表列”2。实际参数表列包含多个实际参数时,在参数之间逗号分隔。实际参与参数的数量必须相同,类型必须匹配。实际参与形式参数按顺序对应,将数据传递给形式参数。如果实际参数表列包含多个实际参数,则无法确定实际参数的评估顺序,有些系统从左到右求出参数的值,有些系统从右到左计算。示例: (、);的原始值在VC 6.0环境中运行的结果是“4,4”,而不是“3,4”。从右到左,先求出I,再求出4,然后向左进行,所以此时I已经是4了。(威廉莎士比亚,温斯顿,左,左,左,左,左,左)要输出3和4,必须写如下。I=3;j=I;printf(“%d,% d”,I,j);5.4.2函数调用方法,函数语句使用函数调用作为一个语句。此时不需要重新获取函数值,只需要函数完成特定任务。函数表达式函数显示在称为函数表达式的表达式中。此时,必须函数获取确定的值以参与表达式运算。例如, * max (a,b);根据程序中函数发生的位置,有三种茄子函数调用方法:函数参数函数调用函数实际参数。例如, m=max (a,max (b,c);其中max (b,c)是函数调用,用作max其他调用的实际参数。m的值是a、b、c中的最大值。对于5.4.3调用函数宣言和函数原型,在一个函数内调用另一个函数(即调用函数)需要什么条件?1 .首先调用的函数必须是存在的函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 110-2025固定铅酸蓄电池和蓄电池组用射频识别(RFID)试验要求
- 员工试用期转正工作总结15篇
- 2025年昆明市官渡区云南大学附属中学星耀学校招聘备考题库附答案详解
- 人民警察基本级执法资格考试题型及答案
- 2025国考国家税务总局滁州市南谯区税务局面试试题及答案解析
- 2025年广州市民政局直属事业单位第一次公开招聘工作人员25人备考题库及一套答案详解
- 三亚市公安局招聘下属事业单位工作人员考试真题2024
- 2024年鞍山海城市教育局毕业生招聘考试真题
- 《CB 1153-1993金属波形膨胀节》专题研究报告
- 2025广西北海银滩开发投资股份有限公司招聘2人考试核心题库及答案解析
- 七年级下学期历史必背知识清单(填空版)
- 国家开放大学电大《国际私法》形考任务1-5题库及答案
- 《市场营销专业申报》课件
- 三年级数学上册 (提高版)第8章《分数的初步认识》单元培优拔高测评试题(教师版含解析)(人教版)
- 19计科机器学习学习通超星期末考试答案章节答案2024年
- 全国职业院校技能大赛赛项规程(高职)农产品质量安全检测
- DB51∕T 3179-2024 杵针技术操作规范
- 专利共同申请合同模板(2024版)
- 国开机考答案21-人文英语1(闭卷)
- AQ∕T 7009-2013 机械制造企业安全生产标准化规范
- MOOC 近代物理实验-西南大学 中国大学慕课答案
评论
0/150
提交评论